Biped Footprints


biped.addFootprint <biped_ctrl> <matrix3> [append:<boolean>]

Creates a single footprint for the biped, where matrix3 specifies the position and rotation of the footstep. The scale portion of the matrix3 is ignored. Whether a left or right footstep is created depends on the value of biped.fsAddSide (see below). The length and timing of the footstep depends on biped’s fsGroundDuration and fsAirDuration property values.

The append keyword argument specifies where in time the footstep is added. If true (the default) then the footstep is appended as the last footstep, else it is inserted at the current time.


Creates a single footprint for the Biped.

Global Properties

biped.fsAddSide Integer Default:0

0 - Start Right

1 - Start Left


For multiple footstep creation, the starting foot needs to be identified. There is a UI radio button in the Multiple Footstep Creation dialog "Start Right/Start Left". The biped global property, fsAddSide, exposes access to this UI element.

This property also effects the start foot when manually creating footsteps in the viewports and when using biped.addFootprint. If the biped.fsAddSide is 1, a left footstep is created. If 0, a right footstep is created. When you create a footstep in the viewports or by using biped.addFootprint, the value of biped.fsAddSide is flipped, resulting in alternating footsteps being created by default.


biped.multipleFSDlg <biped_ctrl>

Displays the Multiple Footstep Creation dialog


biped.getMultipleFSParams <gait_type_name>

Returns an instance of MultFprintParams, gait_type_name can be #walk, #run or #jump. For information on MultFprintParams and gait_type_name see Biped MultFprintParams Class.

The following example will obtain the MultipleFSParams for a walk cycle, set several of its values and then show all of the properties.


walk = biped.getMultipleFSParams #walk

walk.numFootsteps = 5

walk.paramStrideWidth = 2.5

walk.paramStrideLength1 = .6

walk.actualStrideHeight1 = .6

walk.cycle1 = 6

walk.paramStrideLength2 = .7

walk.actualStrideHeight2 = .7

walk.cycle2 = 7

walk.autoTiming = true

walk.interpTiming = true

walk.alternate = true

walk.multiInsertInTime = true

showProperties walk


biped.addMultipleFootprints <biped_ctrl> <MultFprintParams>

Create footsteps for a Biped based on the MultFprintParams value

biped.newFootprintKeys <biped_ctrl>

Activates all inactive footsteps. Activation creates default keys for any footsteps that do not have them. If a footstep does not have keys, it is displayed as bright green (right foot) or bright blue (left foot). After keys are created for the footsteps, the footsteps change color to pastel green and pastel blue.

biped.convertToFootSteps <biped_ctrl> [keyPerFrame:<false>] [flattenToZ:<true>]

Converts a freeform animation to footsteps. If keyPerFrame is true, keys are created at every frame, and footsteps are extracted based on foot IK Blend values equal to 1. If flattenToZ is true, the entire biped is repositioned to place the footsteps at Z=0.

biped.convertToFreeform <biped_ctrl> [keyPerFrame:<false>]

Converts a freeform animation to footsteps. If keyPerFrame is true, keys are created at every frame.

Bending/Scaling Footprints

biped.bendFootprints <biped_ctrl> <float> --angle in degrees

Bend the Footprints of the biped whose controller has been supplied as argument at the specified angle.

biped.scaleFootprints <biped_ctrl> <float> --angle in degrees

Scale the Footprints of the biped whose controller has been supplied as argument at the specified angle.


The following example will create a biped, create 10 footsteps and then have Biped create default keys for the footsteps.


-- create a Biped

bipObj = biped.createNew 100 100 [0,0,0]


-- get the transform controller for the Biped

bip = bipObj.transform.controller


-- get the multiple footstep parameters interface

mfsp=biped.getMultipleFSParams #walk


-- set the number of footsteps to 10



-- create the inactive footsteps

biped.addMultipleFootprints bip mfsp


-- create the Biped keys for inactive footsteps

biped.newFootprintKeys bip

See also

Biped Controllers

Biped MultFprintParams Class

Biped Keys

Biped MaxScript Extensions

MAXScript Extensions in character studio