SmartBody : Locomotion

Description

Characters can move to and from areas in the world. Simple locomotion will move the entire character without animating it at various speeds and turning anlges. Full locomotion wil move the character along with natural-looking footsteps and upper body motion. Full locomotion will consist of a set of example motions which are then parameterized according to speed, turning angle or other similar criteria.

The above image show the simple locomotion, in which the character moves but does not animate the rest of his body in order to coordinate with the motion ("meat hook" animation).

The above image show the full locomotion, where the character's motion is defined by a large set of example motions.

Both the simple and the full locomotions modes utilize the underlying steering algorithm in order to avoid moving and non-moving obstacles.

Requirements

For the simple locomotion mode, no additional motion data is needed. The character will be moved in the 3D world by changing the character's offset.

For full locomotion, a set of motion examples are required that represent different aspects of locomotion. A set of parameterized motion examples is called a state. To activate full locomotion, a SmartBody character needs the following states:

StateDescription
LocomotionState that includes movements of all different speeds, such as walking, jogging, running and side-moving (strafing)
StepSingle stepping in all directions from a standing state
IdleTurnTurning in place to face different directions
StartingRightStarting to walk from a standing position, beginning with the right foot
StartingLeftStarting to walk from a standing position, beginning with the left foot

 

 

Parameters

ParameterDescriptionExample
targetmove to an (x,z) location in the world
<locomotion target="100 300"/>
type

Type of locomotion to be used: basic, example, procedural.

<locomotion target="100 300" type="basic"/>
mannerManner of movement: walk, jog, run, sbm:step, sbm:jump
<locomotion target="100 300" type="basic" manner="sbm:step"/>
facingFinal facing direction in global coordinates in degrees of the character after locomotion finishes
<locomotion target="100 300" facing="90"/>
speedSpeed of character
<locomotion target="100 300" speed="2.5"/>
sbm:followInstructs a character to follow another character as it moves.
<locomotion sbm:follow="utah"/>
proximityHow close the character should come to the goal before finishing the locomotion
<locomotion target="100 300" proximity="75"/>
sbm:accelAcceleration of movement, defaults to 2
<locomotion target="100 300" sbm:accel="4"/>
sbm:scootaccelAcceleration of sideways (scooting) movement, defaults to 200
<locomotion target="100 300" sbm:scootaccel="300"/>
sbm:angleaccelAngular speed acceleration, defaults to 450
<locomotion target="100 300" sbm:angleaccel="600"/>
sbm:numstepsNumber of steps to take, defaults to 1
<locomotion target="100 300" sbm:numsteps="2"/>

Attachments:

SteerBasic.bmp (image/bmp)
SteerNoSmooth.bmp (image/bmp)