Apple Sauce is a CMU student group project. The story is about an apple guy's adventure to the real world.
The project was made within a semester. I worked in TEAM mainly as a rigger and animator.
The animation has very unique visual style. The mouth is of a rubber shape, and need to be able speak and make facial expression. There is also a tree growing slowly from the ground, which requires me to do some special rigging and animation.
My approach is to use separate joint chains for each twig. Each joint is assigned with a loop of vertices. In this way, the animator (me) can bend and stretch all the twigs any way I want.
joint chains have their levels. For example, the big main tree is on level one. Level 1 contains all the twigs that are growing from frame 1 - 40. Then the second layer contains all the twigs that are growing from frame 41 to frame 80. And so on. Each joint chain’s rotation and translation values are normalized as some float between 0 and 10, so that an attribute from 0 to 10 can be used to control a whole twig’s growth. Simple math will make it look very nice.
To be more specific, the growth should be slow and detailed. The default Maya tree generation is not what we are looking for. The tree has a very undesired realistic style look but the growth process is basically just scaling. So we have to figure out some other way to make our apple tree have a toony growing.
1. First approach
I have quite an ambitious goal at the beginning, which is to use mouth shape drawings to drive mouth shape changes in Maya. The procedure and result is showed as following
The shapes match very well, but still need to be animated by hand. Then I decided to make it a fully functional mouth rig.
There are two problems that need to be addressed.
The rubber does not have human mouth topology as normal human face model. Which makes it hard to get appealing shapes
The rubber need to stick on the face
To solve the shape problem, i used the ribbon deformer. I used Maya built-in Ramp material's color to do interpolation. The result is very nice as showed in animation.
To solve the sticking problem, I bound joints to a center joint inside the head mesh.