Character Animation / Mocca 3

Probably the highlight of Release 10 is the all of the new character animation tools in both the core version and also in Mocca. Mocca is now at version 3 with a whole heap of new goodies. Let’s start by covering some of the new character animation tools in the core version as surprisingly quite a few of the new things are included in this. We can’t possibly cover everything new with character animation and Mocca 3 as that would be a separate review all on its own.

Both the core version character tools and Mocca 3 including Clothilde are now under a new menu heading “Character” as per the image below. As you can see, there's a lot of new things!!



Character animation menu

Core Version

First up the core version still includes the old bone deformer, IK tag and Kinematic tag for backwards compatibility. Incredibly in Release 10 MAXON has seen fit to include the new joints based character animation system in the core version along with the tools that go with it.

By far and away the most common request over the last year or two has been improved Character animation tools. Rather than attempt to enhance Mocca 2 and the regular bones system, MAXON to their credit have gone back to the drawing board and created a whole new rigging / character animation system from scratch. This has meant that they could do things right. What this means for the end user is a superior joints based system and a much easier to use IK system. The new IK system is hard IK only. Fortunately the old Mocca 2 system is still included for backwards compatibility and the Mocca 2 IK tags with soft IK, set up IK chain command etc can be applied to the new joints based system. Also included are conversion tools to covert your old rigs to joint based rigs and vice versa. What I find strange with the conversion from joints to bones is that the documentation says

"The command is mostly useful when you want to pass on your character to other CINEMA 4D users who are using a version prior to R10."

The problem of course here is that Release 9 can't open Release 10 scenes. I guess a work around is to export in fbx format but a "Save as R9" option would be the ideal solution. I know others have mentioned this as well.

Creating a joints is not that different than creating bones with Mocca 1 or 2. The Ctrl key is held down while you click and drag using the new joint tool. This has more options than before and some of these options affect how the auto weighting is applied when the mesh is attached. Advanced spine rigs can be created quite easily using a spline based setup and this is done using the joint tool. By changing to the IK type to spline, when you have finished creating the joints for the spine and select another tool the spline and IK tag are created automatically. Essentially you then assign a few nulls to a couple of spline points for the back and these null objects rotate / bend the back. The joints and bones then go along for the ride.

Rigging legs just got a whole lot easier. For example to make the knee joint only bend in one axis and set up IK tags is very easy. Just a matter of selecting the top thigh joint and the ankle joint in the Object Manager. You then select the IK Chain command and make sure that the IK solver type is 2D. This creates the IK tags and foot goal object. You can now move the foot controller up and down and the knee will now bend in one axis like a real knee. A blue line is drawn in the viewport to indicate that rotation is set to one plane. This was possible before in Mocca 2 but it’s even easier to set up now. You usually need a pole vector on a knee and this is easy to create. Just select the IK tag on the thigh joint and click on the Add Pole button. A pole object null is created at the knee and all of the necessary fields are filled in. You then just pull the pole out away from the knee. The pole essentially determines where the leg points at.

The joint based system allows us to easily align the joints and thus the bones so that Y and X axes point in the same way. The Z axis points in the direction of the next joint. For this there is the one click align command. You run this command before binding the mesh to your rig and this helps prevent mesh twisting. Bones by the way now serve no purpose other than a visual representation between joints.

Just to show you how easy this all is, here’s a series of 6 mini video tutorials where I rig a simple character from start to finish. The first 3 videos use only core version. We'll build on things to demonstrate a few of the new Mocca 3 enhancements in the next section. The videos aren't really tutorials but more a taste of the new enhancements.

Part 1 - Rigging A Character With Joints


Click on the image to play the video (6min 14sec 5.1mb)

Click on the image or here to play the video (6min 14sec 5.1mb)


If you prefer you can download and save the complete series of 6 videos for offline viewing. The downloads include the start and final scene files. Click here to go to the download page. (53Min 27sec 64mb split into 2 smaller parts)

Like in Mocca 1 and 2 you only have to rig one side of your character and then use the mirror tool to mirror joints, IK tags etc. Provided you have been careful to name things carefully with prefixes like “L” for the left side, when you run the mirror command, your rig along with IK tags etc will be mirrored and renamed. Of course we had this before in Mocca 1 and 2 but we now get it in the core version and it works better. The previous mirror tool had a few problems in some modes as a few people will recall.

Part 2 - Setting Up IK & Mirror Tool


Click on the image to play the video (6min 47sec 5.5mb)

Click on the image or here to play the video (6min 47sec 5.5mb)


Attaching the mesh to the joint and bones is now done by binding. This is more sophisticated than anything we’ve had before. Binding allows us to bind the joints to the mesh without the mesh being in the same hierarchy. This combined with the new layer system and the new Visual Selector makes for a much cleaner looking Object Manager. We can hide much of the complexity and still have access to the controls etc to generate the animation. When you bind your rig to your mesh you have the option to Auto weight the joints to the mesh. This isn’t perfect buts saves a lot of time as all that you may have to do is a bit of editing. Again auto weighting is included in the Core version of C4D.

Part 3 - Binding Mesh & Weight Tool


Click on the image to play the video (6min 6sec 9.7mb)

Click on the image or here to play the video (6min 6sec 9.7mb)


Mocca 3

Mocca has essentially been rewritten. The old Mocca bones system and Soft IK is there under Character menu “Soft IK / Bones”. I think at some point in the future the old standard bones system could be removed completely from Cinema 4D as I doubt many people would miss it. However one thing the old system had and worked extremely well was Soft IK. The good news is that Soft IK still works with Release 10 joints. It’s just a matter of giving joints the old IK tags and enabling soft IK. Great for swishing tails and tentacles.

Morph Tag

Morph Tag – Finally we no longer need to have multiple copies of our objects for posing and morphing. The Morph Tag is not unlike using a Posemixer but with a Morph tag the pose are stored in the tag rather than a copy of the object for each pose. This means that scene files for character animation can be much smaller in size and much more responsive. People with Cactus Dan’s Morph 1.0 plugin have had this capability for some time so it’s good to see MAXON catching up. Along with the Morph Tag we get a new Morph Brush tool that allows you paint morph targets from one object on to another object.

The Morph tag is much more sophisticated than using a Posemixer. With a Posemixer going between 2 pose is linear i.e. straight. With a Morph tag you can define a pivot point and have an eyelid for example closing and have the lid close in curved transition. Very slick!! In addition to the new muscle system you can record morph targets for bulging biceps for example as an arm flexes and the morphs are driven by the arm joints. Again there is no need for extra mesh objects. Continuing our series of mini tutorials I'll add a few morphs to give you an idea of how easy things are now.

Using Morphs


Click on the image to play the video (8min 32sec 15.7mb)

Click on the image or here to play the video (8min 32sec 15.7mb)


Constraints

Constraints are new to Mocca. The new help documentation describes them as “Constraints limit how far an object can move during the animation relative to another object or objects". Constraints are something that Cactus Dan has provided for a little while via his plugins. Constraints do all sorts of clever things that would otherwise take quite a bit of XPresso or COFFEE scripting to replicate. For example you want an object to move around the surface of another object. Constraints can do this easily. Let's carry on our series of mini rigging tutorials by using constraints to prevent the foot controllers going through the floor and to make the master foot controllers and the pelvis go back to their default pose position and orientation. Previously we would have had to have used XPresso to achieve this.

Using Constraints


Click on the image to play the video (16min 37sec 16.5mb)

Click on the image or here to play the video (16min 37sec 16.5mb)


Visual Selector

Mocca 3 now includes “Visual Selector” that was previously a commercial plugin. This handy little utility allows you to set up a visual representation of your character and click on hot spots to select your controllers and anything else that you want to easily select. The advantage here is that it’s much easier and quicker to select controls than wading your way through your rig's hierarchy in the Object Manager. You can also select things like cameras and execute commands. I'll use Visual Selector now on my character to show how easy it is to select controllers and other objects. Obviously it's more appropriate to use it on more complex characters. This video concludes the series of mini rigging tutorials.

Visual Selector


Click on the image to play the video (9min 5sec 10.0mb)

Click on the image or here to play the video (9min 5sec 10.0mb)


If you prefer you can download and save the complete series of 6 videos for offline viewing. The downloads include the start and final scene files. Click here to go to the download page. (53Min 27sec 64mb split into 2 smaller parts)

Here's a quick go at animating a walk cycle

Walk cycle

Morph Deformer Object

In addition to the Morph tag there is also a Morph Deformer object. This is a regular deformer and as far as I can tell behaves exactly like how effectors in MoGraph have their falloff applied to objects. In the animation below I've used a Morph Deformer with Spherical falloff and animated it moving from side to side. I could imagine this could be used to have the lips around a cigar for example and without having to create additional morph targets (poses).

Morph Deformer Object - with Spherical falloff


VAMP

VAMP is completely new in Mocca 3 and stands for “Vertex Map Manager”. This allows you transfer point based data from one object to another i.e. vertex maps. The thing here is the objects don’t need to be the same. Besides vertex maps, VAMP can transfer various types of selection, UV coordinates, weighting for an entire rig and the targets in a morph tag. Furthermore, you can have VAMP mirror these operations along an axis. One of the most important features in VAMP is that it can mirror morph targets in the morph tag.

Posemixer

Posemixer is still included for backwards compatibility and it still has it uses as you can have poses of hands e.g. opening and clenching fists. The new Morph tag can’t be used to morph joints between poses. Cactus Dan’s CD IK tools still has it over Mocca when it comes to rigging hands. Dan’s tools allow for much easier hand rigging and animation and I would hope that in the next version of Mocca that MAXON has a look at things like hand rigging and making it easier. And a walk cycle generator would be nice as well.

Muscles

New to Mocca 3 is muscles. These are different than morph targets in that you have actual muscles beneath the skin / mesh. There's not really a lot I can write just to say they are really easy to use. The Quickstart manual has an excellent tutorial showing just how easy muscles are to use and set up. Here's my animated arm after following the tutorial. This only took a couple of minutes to complete. One thing you will need to do and not mentioned in the tutorial but covered in the documentation is editing the spline graph for the muscle object as this makes a huge difference.

Muscle Object in action


Mocca Presets

The Mocca Presets in the Content Browser include some terrific pre-rigged characters. The documentation and goodies section of the review show a few images of these. These ready to go rigs are really good to dissect to see how an experienced animator sets things up. However a few people will have encountered problems with them. The Flabio character for example. When you rotate the master controller, the ankles and ball joints will twist and this is totally undesirable. I contacted MAXON support about this as a few cafe members had encountered this with the Flabio character either by using the Content Browser preset or the scene file from the DVD tutorial and also by following the tutorial. MAXON kindly supplied me with a replacement scene file for Flabio but I'd figured out that by selecting the IK tags for the joints on the ankles and balls and changing the "preferred rotation" to 100%, the twisting problem was solved. For those that are interested and I know a few people are, the replacement Flabio scene file supplied MAXON has a number of differences which appears to achieve the same result as I managed. Here are the changes for the Left foot. The right foot is just the same except for the naming:

I tested doing this on the Flabio preset and things then worked without the twisting.

Another little issue and this applied to members own rigged characters as well as some of the Mocca presets like the IK dog was selecting points on the mesh of a character after it was rigged. Sometimes there were problems selecting points in 10.008 and this has been brought up in the cafe forums. The work around was to disable the hypernurbs objects. I'm happy to report that this problem / bug appears to resolved in the 10.1 update.

To conclude this section, MAXON has done a superb job with Character Animation in Release 10 by rewriting the entire system. The more I use the new Character Animation tools along with things like the Timeline I appreciate there's a lot more in Release 10 than is immediately apparent. There's still things to improve upon however and Motion Blending is noticeably absent from the Timeline. My guess is there's more to come in the next version. Let's hope that's 10.5 and not 2 years away in Release 11.