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:
State | Description |
---|---|
Locomotion | State that includes movements of all different speeds, such as walking, jogging, running and side-moving (strafing) |
Step | Single stepping in all directions from a standing state |
IdleTurn | Turning in place to face different directions |
StartingRight | Starting to walk from a standing position, beginning with the right foot |
StartingLeft | Starting to walk from a standing position, beginning with the left foot |
Parameters
Parameter | Description | Example |
---|---|---|
target | move 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"/> |
manner | Manner of movement: walk, jog, run, sbm:step, sbm:jump | <locomotion target="100 300" type="basic" manner="sbm:step"/> |
facing | Final facing direction in global coordinates in degrees of the character after locomotion finishes | <locomotion target="100 300" facing="90"/> |
speed | Speed of character | <locomotion target="100 300" speed="2.5"/> |
sbm:follow | Instructs a character to follow another character as it moves. | <locomotion sbm:follow="utah"/> |
proximity | How close the character should come to the goal before finishing the locomotion | <locomotion target="100 300" proximity="75"/> |
sbm:accel | Acceleration of movement, defaults to 2 | <locomotion target="100 300" sbm:accel="4"/> |
sbm:scootaccel | Acceleration of sideways (scooting) movement, defaults to 200 | <locomotion target="100 300" sbm:scootaccel="300"/> |
sbm:angleaccel | Angular speed acceleration, defaults to 450 | <locomotion target="100 300" sbm:angleaccel="600"/> |
sbm:numsteps | Number of steps to take, defaults to 1 | <locomotion target="100 300" sbm:numsteps="2"/> |