This class represents multiple footstep creation parameters of a Biped. An instance of this class is returned by the biped.getMultipleFSParams <gait_type_name> method, where gait_type_name can be #walk, #run or #jump.
Properties
#walk #run #jump
<MultFprintParams>.alternate Boolean Default: true true true
Footsteps will alternate between right and left. Alternate is always selected when the Walk gait is selected. You can only clear Alternate when Run or Jump gaits are selected.
<MultFprintParams>.numFootsteps Integer Default: 4 4 4
Determines the number of new footsteps to be created.
<MultFprintParams>.paramStrideWidth Float Default: 1.0 1.0 1.0
Sets the stride width as a percentage of the pelvis width. A value of 1.0 produces a stride width equal to the pelvis width. A value of 3.0 produces a wide, waddling stride. Changes to this setting automatically change the Actual Stride Width.
Parametric describes the parameter in terms of biped anatomy, and Actual describes the value in 3ds max units.
<MultFprintParams>.actualStrideWidth Float Default: 0.0 0.0 0.0
Sets the stride width in modeling units. Changes to this setting automatically change the Parametric Stride Width.
<MultFprintParams>.autoTiming Boolean Default: true true true
Sets timing parameters automatically. Auto Timing affects the following timing parameters for the Walk gait:
Walk footstep, Double Support
When Auto Timing is selected, these parameters are automatically adjusted to reasonable values. Control the footstep sequence by adjusting the Stride Length and Time to Next Footstep parameters.
When Auto Timing is cleared, you can control the footstep sequence by adjusting the gait timing parameters, but you can't change the Time to Next Footstep parameter.
<MultFprintParams>.interpTiming Boolean Default: false false false
Control acceleration or deceleration of the series of footsteps.
<MultFprintParams>.multiInsertInTime Boolean Default: false false false
false - Start after last footstep
Appends the newly created footsteps to the end of the existing footstep sequence.
true - Start at current frame
Inserts the newly created footsteps at the current frame after the existing footstep sequence allowing you to make a gap in time before the footsteps start again.
<MultFprintParams>.actualStrideLength1 Float Default: 0.0 0.0 0.0
Sets the stride length for new footsteps in 3ds max units.
<MultFprintParams>.paramStrideLength1 Float Default: 0.75 1.5 2.4
Sets the stride length for the new footsteps as a percentage of the length of the biped's leg. The default value of 0.75 gives an average stride of normal proportions.
A value of 1.0 will produce a stride length equal to the leg length, which makes the biped stretch slightly to reach the next step. A value of 0.0 will make the biped walk in place. A negative stride length will make the biped walk backwards.
When a biped walks backwards, it does not simply reverse the forward movement but maintains the correct foot-state sequence with the toe touching the ground first, followed by the heel.
Adjusting Parametric Stride Length automatically changes the value for Actual Stride Length.
<MultFprintParams>.actualStrideHeight1 Float Default: 0.0 0.0 0.0
Sets the rise or fall between footsteps. You can use this parameter to create a set of footsteps going up or down a slope or a stairway.
The value for Actual Stride Height is the difference in height in units between each of the new footsteps. Positive values step up and negative values step down.
<MultFprintParams>.cycle1 Time Default: 15f 15f 15f
<MultFprintParams>.actualStrideLength2 Float Default: 0.0 0.0 0.0
Sets the stride length for new footsteps in 3ds max units. The same rules apply as for Parametric Stride Length. Adjusting Actual Stride Length automatically changes the value for Parametric Stride Length.
<MultFprintParams>.paramStrideLength2 Float Default: 0.75 1.5 2.4
Sets the stride length for the new footsteps as a percentage of the length of the biped's leg. The default value of 0.75 gives an average stride of normal proportions.
A value of 1.0 will produce a stride length equal to the leg length, which makes the biped stretch slightly to reach the next step. A value of 0.0 will make the biped walk in place. A negative stride length will make the biped walk backwards. When a biped walks backwards, it does not simply reverse the forward movement but maintains the correct foot-state sequence with the toe touching the ground first, followed by the heel.
Adjusting Parametric Stride Length automatically changes the value for Actual Stride Length.
<MultFprintParams>.actualStrideHeight2 Float Default: 0.0 0.0 0.0
Sets the rise or fall between footsteps. You can use this parameter to create a set of footsteps going up or down a slope or a stairway.
The value for Actual Stride Height is the difference in height in units between each of the new footsteps. Positive values step up and negative values step down.
<MultFprintParams>.cycle2 Time Default: 15f 15f 15f
See the biped.addMultipleFootprints method for creating footsteps based on a MultFprintParams, and biped.newFootprintKeys creating the biped keys for the inactive footsteps.
Since MultFprintParams is biped independent, the actual stride lengths and heights are not accessible in this class. To convert from a paramStrideWidth value to an actualStrideWidth value, multiply the paramStrideWidth value by the width of the pelvis. Given a biped_ctrl, the pelvis width can be calculated by:
thePelvis = biped.getNode biped_ctrl #pelvis
pelvisWidth = in coordsys thePelvis (thePelvis.max- thePelvis.min).z
To convert from a paramStrideLength value to an actualStrideLength value, multiply the paramStrideLength value by the length of the right leg. Given a biped_ctrl, the length of the right leg can be calculated by:
legLength = distance (biped.getNode biped_ctrl #rleg link:1) (biped.getNode biped_ctrl #rleg link:2) -- thigh
legLength += distance (biped.getNode biped_ctrl #rleg link:2) (biped.getNode biped_ctrl #rleg link:3) -- calf
if ((biped_ctrl.rootnode).controller.leglinks) > 3 do
legLength += distance (biped.getNode biped_ctrl #rleg link:3) (biped.getNode biped_ctrl #rleg link:4) û horsellink, if present
See also
Biped Vertical_Horizontal_Turn(Body):Matrix3 Controller