Modifying Deformer Transformations for the Animation States

 
 
 

The Animation_Blending ICE tree contains Animation Definition that includes all the Animation States required for the crowd simulation. You can modify the deformers for each animation state to create a crowd simulation that you want.

You must use the deformers and attach them to the Pose Modifier port of the Define Animation State node. For example, to drive the orientation of an arm to make it wave or scratch the actor's head.

The following example shows a simple way in which you can use animation states to modify deformer transformations. In a nutshell, here's what happens in this crowd simulation: The actors are in a walk cycle with the Left and Right arms are deformed with orientation constraint. When an actor instance (particle) reaches the cube as he's walking, his Spine is scaled, the Left and the Right arm will be back to the default pose. When he walks a bit farther ahead in Z, his arm rotates back down into its normal position in the walk cycle.

And here's what's happening with the animation states in the ICE tree. Each of the numbers in this image corresponds to the steps following it:

Scaling and Orientation Constraints in the Animation_Blending ICE Tree

Using the Animation States in the Behavior ICE Tree

Using this example as a base, here are the basics of what you need to do:

1

In the Define Animation node of the Animation_Blending ICE tree, add Define Animation State nodes and connect them to the Execute node.

2

Add the Crowd Scaling Constraint and Crowd Orientation Constraint compounds to constrain the Spine, Right, and Left arms.

3

Get each actor rig proxy deformer that you want to constrain or animate.

In this example, the Spine is scale constrained and the Left and the Right Arm are Orientation constrained.

4

In the Behavior ICE tree, create the logic for the condition in which to use the animation states.

5

Create a condition in the Behavior tree to determine which animation state to use and from where the constraint is affected.

Creative Commons License Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License