vpavkov tristan_cordeboeuf jamesj andy_vs
Thank you all for your kind words!
There are one more thing i would like to share about creation process of this project.
So i came up with two things that, i think, might be cool. And (propably) all of you already knew this things, or i could be simply wrong in my assumptions but i decided to share anyways becouse it might be helpful to someone.
The first one is about muscles and their lines of action:
I wanted to figure out the way of making my muscles fire before the bones do, so it looked like they are driving the bones (the reality) and not the other way around.
I moved all of the lines of action to my animation scene, and cached them to alembic. Back in the muscle simulation scene i imported them back and offseted their cache time so their action is now happening 1.5 frames before the bones (this amount should be adjusted to the animation sequence, more on that later). It looked like this:
And of course it's barely noticeable in my animation, because it's simply too fast for that. I think that it could be used with greater effect in some slower animations and with bigger offset, to see this muscle bulging before the action is happening. I have some sample from one of my older tests with the slower animation:
You can see the muscles fireing and letting go before the movement. I think that the frame offset for this test was set to 5 frames. And perhaps it could be bigger, but i will try to play with this thing more next time.
So this solution is not perfect (mainly becouse one offset value for entire scene is simply bad) but i think if perfected it could give some better results. For one i think that this time offset could be interpolated individually for each line, and depending on the velocity of action. So if the change in the line and its velocity is high, the offset should be lower, and if the action is slower, the offset is bigger etc. This is just an idea, that someone may be willing to adopt.
And the other one is about material layering for skin wrinkles:
So i figured out the the bigger fat layer beneath the skin, the bigger should wrinkles be. With that in mind i created a height map between muscles + bones and a skin.
To do that i started a new maya scene, imported muscles and bones (combined), and a skin. Than i turned my bones & muscles into a zBone and my skin into zCloth. Next step is creating attachment between them and extracting height map by using amazing "Paint Attachments by Proximity" Ziva tool. Now i have a height map (inverted, depending on your zMaterial order), and after a couple of manual tweaks it looked like that:
I used this map to drive my medium level of wrinkles.
And also i used the same map (inverted and with adjusted levels) to drive my attachment between a skin object and its driver:
Thats all, i hope it will help someone with their awesome projects!