Biped Class : MultFprintParams

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