Foot Roll Using Utility Nodes (remapValue)

This tutorial will demonstrate how to setup foot roll for a character using remapValue utility node. I came across the need for this kind of setup when there was constant demand from animators of the project I am working on, in which they wanted control over when the toe roll gets triggered.(If the foot roll was a value from 0 to 10 then they wanted the toe pivot to rotate during a random foot roll value(between 0 and 10)).So I had to think of a setup different from the conventional setup of set driven keys.Below is the step by step procedure for setting up the adaptable foot roll using remapValue nodes.

Create a joint chain for the leg(femur>tibia>ankle>ball>toe).Create ik handles from femur to ankle(RP solver), ankle to ball(SC solver), and ball to toe(SC solver).Create three groups(ankle_grp, ball_grp, toe_grp) at the respective ik handle position.Parent the ik handles to the respective groups.Create a leg control and add attributes[roll(min-0,max-10,default-0), roll_multiplier(min-0,max-90,default-45), roll_trigger(min-0,max-1,default-0.5)].Parent the ik handle groups under the leg control as shown below.

foot_roll_using_remapValue00

Create two remapValue utility nodes using the render utilities window or by running the command createNode  remapValue in the Script Editor.Rename first remap value as ballRoll_rmv and the second as toeRoll_rmv.

foot_roll_using_remapValue01

select ballRoll_rmv and go to Attribute Editor and add inbeween value of 1 at position 0.5 in the value graph as shown in the figure. Edit value at position 1 to 0.

foot_roll_using_remapValue02

select toeRoll_rmv and go to Attribute Editor and add inbeween value of 0 at position 0.5 in the value graph as shown in the figure. Edit value at position 1 to 1.

foot_roll_using_remapValue03

Make the following connections from foot_ctr to ballRoll_rmv and toeRoll_rmv.

leg_ctr.roll to ballRoll_rmv.inputValue.

leg_ctr.roll_trigger to ballRoll_rmv.value[2].value_Position

leg_ctr.roll_multiplier to ballRoll_rmv.outputMax.

leg_ctr.roll to toeRoll_rmv.inputValue.

leg_ctr.roll_trigger to toeRoll_rmv.value[2].value_Position

leg_ctr.roll_multiplier to toeRoll_rmv.outputMax.

ballRoll_rmv.outValue to ball_grp.rotateX

toeRoll_rmv.outValue to toe_grp.rotateX

foot_roll_using_remapValue_img04

foot_roll_using_remapValue05

Set leg_ctr.roll_multiplier to 45 and leg_ctr.roll_trigger to .5

By varying the roll_trigger attribute, the animator can decide where the toe pivot rotation gets triggered.

You can download the example file here

About these ads

4 thoughts on “Foot Roll Using Utility Nodes (remapValue)

    • Thanks.Of course I have seen the AFR Training kit.But this one I figured myself for a show where the character was switching his shoes in different episodes.So couldn’t go with the stock roll attributes.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s