music : Binary Digit - Untitled 38490
Currently working on my graduation movie at ESMA, in a team composed of 10 people, I would like to present you the work I did on the main character of our movie “Leo”.
On this character I handled the facial retopology, and did all the rigging setup for the body and facial parts.
I am also responsible for the little ROM animation you see at the beginning of the video.
For this video, I was helped by :
Steven Goffinet who was reponsible for the Groom/Cloth simulation | Socials : https://stevengoffinet.com/ |
Rémi Perrier who was responsible for the Lighting/Rendering/Compositing | Socials : https://www.remi3d.com/ | https://www.artstation.com/rmiperrier |
I would like to thank all the people that worked on this character to make him come true :
- Alice Paturel handled Concept Art/Sculpt | Socials : https://alice.paturel.net/ |
- Rémi Perrier handled Body retopology/Body lookdev
- Melvin Quang handled Cloth modeling
- Zoé Schibli handled Cloth texturing
- Steven Goffinet handled Groom
Finally thanks to Séverin Valran, supervisor character modeler/facial shapes, at Stim Studio who gave me retakes on the shapes of all the characters of the movie.
The section that will follow, will cover up the facial rig of the character, if you want to know more about the body rig, you can check it here.
On this character I handled the facial retopology, and did all the rigging setup for the body and facial parts.
I am also responsible for the little ROM animation you see at the beginning of the video.
For this video, I was helped by :
Steven Goffinet who was reponsible for the Groom/Cloth simulation | Socials : https://stevengoffinet.com/ |
Rémi Perrier who was responsible for the Lighting/Rendering/Compositing | Socials : https://www.remi3d.com/ | https://www.artstation.com/rmiperrier |
I would like to thank all the people that worked on this character to make him come true :
- Alice Paturel handled Concept Art/Sculpt | Socials : https://alice.paturel.net/ |
- Rémi Perrier handled Body retopology/Body lookdev
- Melvin Quang handled Cloth modeling
- Zoé Schibli handled Cloth texturing
- Steven Goffinet handled Groom
Finally thanks to Séverin Valran, supervisor character modeler/facial shapes, at Stim Studio who gave me retakes on the shapes of all the characters of the movie.
The section that will follow, will cover up the facial rig of the character, if you want to know more about the body rig, you can check it here.
The facial rig of Leo is a BlendShape based rig made with BCS where I faced multiple challenges :
- In our movie, we have secondary and tertiary characters, that are humanoids too, so my first goal was to create a powerful facial rigging system that I can easilly transfer from one character to another, that is advanced, and easy to use for animators.
-
The second one was to do this setup only with matrices, where no classic maya constraints and no rivets are used in order to challenge myself and gain some performance for the animators.
- The third one was to perform a clean skinning and nail clean and advanced shapes in time, in order to easilly transfer them between characters
- The last one was to merge all of these challenges in the procedural rigging workflow I built for our movie
If you want to know more about the facial autoriging system used on this movie, you can check it here.
On the artistic side, the main challenge was to stick on our artistic reference : The productions of Illumination Studios such as Despicable Me or Super Mario Bros, The Movie
So the shapes needed to be as accurate and clean as possible, the rig to be cartoony, organic and have a lot of squash and stretch in order to match the quality of the studio.
After finishing a first version of the rig, we rendered a first version of a ROM animation.
Groom/Cfx by Steven Goffinet
Lighting/Lookdev/Rendering by Rémi Perrier
Happy of seeing my character finally become alive, but something was off, either some shapes were not working well (such as the brows) either the expressions were not really fitting our main reference.
I decided to do some retakes on the shapes, and do a second ROM animation, with some stronger poses, heavilly inspired from the movies of Illumination.
I decided to do some retakes on the shapes, and do a second ROM animation, with some stronger poses, heavilly inspired from the movies of Illumination.
Groom/Cfx by Steven Goffinet
Lighting/Lookdev/Rendering by Rémi Perrier
In the next section, I will show some individual deformations of the face, as well as some specific facial setups on the character
Shapes
(mustache is colliding ;( but the animator can animate it)
(Mid lip fallof setup)
Squash & Stretch
Facial Setups
Mouth Shadow
One thing I’ve added on the rig, was a mouth shadow, the purpose of this is to give the possibility for the animators to put the interior of the mouth black, so they can focus on the mouth shapes, and have very cartoony mouth shapes.
It has some attributes on the controller that controls the shadow such as : “Transparency” - “Dropoff shape” - “Edge Dropoff” - “Shadow Size”
This mouth shadow is done with maya fluid node.
To do it you can go to Fx tab, > Fluids > 3D Container
After that you need to tweak the attributes of the fluid in order to remove all the unecessary attributes/nodes that cache fluid simulation, all we need is the displayed volume in the viewport
The last step is to put density to Gradient, and voila ! You have your displayed shadow in the viewport, then you can play with other attributes of the node in order to have the result you want
It has some attributes on the controller that controls the shadow such as : “Transparency” - “Dropoff shape” - “Edge Dropoff” - “Shadow Size”
This mouth shadow is done with maya fluid node.
To do it you can go to Fx tab, > Fluids > 3D Container
After that you need to tweak the attributes of the fluid in order to remove all the unecessary attributes/nodes that cache fluid simulation, all we need is the displayed volume in the viewport
The last step is to put density to Gradient, and voila ! You have your displayed shadow in the viewport, then you can play with other attributes of the node in order to have the result you want
One issue I’ve encountered with this setup, is that each time you load the rig in a new scene, or you reload your scene, to make the custom attributes on the controller to work, you need to open the attribute editor of the fluid solver, in order to kind of “reload” the node, otherwise it works well.
Also, I didn’t test the impact on the performance of the rig with the fluid, but the animator can hide and desactivate it with an attribute on the rig.
Also, I didn’t test the impact on the performance of the rig with the fluid, but the animator can hide and desactivate it with an attribute on the rig.
The Mustache
The mustache was quite a challenge, as the character have a very stylized stach’.
At first we didn’t really knew if we wanted the mustache to behave like a normal mustache, or if it needed to be an exressive cartoony mustache, that behaves on a funny way.
The main issue was the time we have to finish the movie and if the animators would really animate it on every shot, because it would be a bit time consuming for me, and the animators.
So we decided to stick to a simpler setup, but where the animators still have control on the mustache to move it if needed. As the mustache was simulated and groomed, Steven made a reference mesh for his workflow in Houdini, and gave it to me.
At first we didn’t really knew if we wanted the mustache to behave like a normal mustache, or if it needed to be an exressive cartoony mustache, that behaves on a funny way.
The main issue was the time we have to finish the movie and if the animators would really animate it on every shot, because it would be a bit time consuming for me, and the animators.
So we decided to stick to a simpler setup, but where the animators still have control on the mustache to move it if needed. As the mustache was simulated and groomed, Steven made a reference mesh for his workflow in Houdini, and gave it to me.
Another thing on the mustache is the possibility for the animator to make it slide on the face or not.
When the attribute “Slide” is on, when you move the mustache it follows an underlying nurbs sphere that has the same form as the head and shares the same deformation.
When the attribute “Slide” is on, when you move the mustache it follows an underlying nurbs sphere that has the same form as the head and shares the same deformation.
Mouth Zipper
The mouth “zipper” or mouth “seal”, is a cool feature to add to the facial rig, in order to push the realism of the animations afterwards. There are multiple options when dealing with the zip setup. My goal was to do it without aditionnal plug-ins, do it post all the deformers and fit it in the procedural workflow in order to put the setup on every rig of the movie.
The idea behind the zipper is :
The idea behind the zipper is :
- One curve for the upperLip (binded to the mesh with polyToCurve)
-
One curve for the lowerLip (binded to the mesh with polyToCurve)
- One curve averaged from both upper and lower curves
- Then, with locators binded to the curves with motionPath nodes, it calculates the distance between the locators, and it activates blendshape target weights in order to seal the curves to the middle one
One thing I added, is the possibility to seal the lips on the upper curve, the lower curve, or the middle curve, it’s just a node setup where the target changes depending the selected attribute by the animator.
The distance between the locators, gives me the possibility to add “Auto Zip”, where the lips are sealed at the beginning of the mouth opening.
As the setup is a post-deformers setup, the mouth seal works above every controller of the rig.
The distance between the locators, gives me the possibility to add “Auto Zip”, where the lips are sealed at the beginning of the mouth opening.
As the setup is a post-deformers setup, the mouth seal works above every controller of the rig.
Still in construction... Come back later to see more !
I am so happy to show you what I learned by making this rig ! It was a long road full of fun and problem solving.
This project allowed me to test some caveats and limits of the workflow I was using, and I already know which parts I need to improve/optimize on the artistic side as well as the technical side and I can’t wait to apply these changes in my next rig.
Don’t hesitate to contact me if you have some questions/feedbacks/remarks etc..
Have a good day ! ☀️
This project allowed me to test some caveats and limits of the workflow I was using, and I already know which parts I need to improve/optimize on the artistic side as well as the technical side and I can’t wait to apply these changes in my next rig.
Don’t hesitate to contact me if you have some questions/feedbacks/remarks etc..
Have a good day ! ☀️