29
LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Embed Size (px)

Citation preview

Page 1: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

LOCOMOTION IN INTERACTIVE ENVIRONMENTS

Navjot Garg

Page 2: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Locomotion

Locomotion is the self-propelled movement of an organism, such as walking or running of a character with legs.

A character could be a legged human or non-human 3D character in a virtual environment.

In interactive environments such as games, these characters might be controlled either by user as an avatar or by computer as an NPC (non player character).

In both cases some logic is used to translate input from player or AI to simple movement commands used to make the character move.

Page 3: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

What locomotion system is NOT

A physics-based system or active animated ragdoll system. The system has no integration with the physics simulation. It

is purely kinematic. A behavior-based system.

The system cannot make the character react instinctively to external forces such as being punched, tripping and falling, or being shot. The system only blends and slightly adjusts your existing animations.

A unified system that can be used for all animation of a character. The system only controls the legs. The whole body is

typically implicitly controlled since the system blends together multiple full body animations.

Page 4: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Animation Techniques for Character Locomotion in Interactive Environments

Purely Procedural Locomotion Based on understanding of movement of

simulated model Can not take advantage of skills of

animator to create expressive motion i.e. personality and mood are difficult to reflect

Can not take be as highly realistic as motion captured examples.

Page 5: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Example-Based Locomotion Uses sets of example motions with an interpolation

scheme to construct new motions. Provides a set of high-level control parameters to the

animator, while maintaining the aesthetic of the example motions in the blended motion.

Might include some procedural methods to generate intermediate motions.

Motion retargeting can be done by changing parameter values and generating motion specific to particular gait or body specifications.

Taking steps in arbitrary direction like sideways or backwards is not supported.

Page 6: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Dynamic Simulation-Based Locomotion Motion is generated as a result of

application of forces on various joints. Focus on generating only physically feasible

motion and can not simulate motions where COM is in a position where balance can not be maintained.

Different and more computationally expensive than kinematic approach which does not care about forces applied.

Page 7: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Why is locomotion adjustment required

To not restrict the animation on a few parameters as turning angle and speed.

Avoid usage of an exhaustive collection of example motions.

Improve use of motion blending for any legged character.

Adaptation to uneven terrain.

Page 8: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Motion Analysis

Automated analysis of properties of walk and run cycles, such as key times for each foot, the overall velocity of the motion, and foot trajectories.

Page 9: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Movement Axis

Movement axis is calculated from the trajectory of average of heel and toe points projected onto the ground.

c is the average of all points in the trajectory.

Movement Axis = b-a

Where a is the point furthest away from c, and b is the point furthest away from a.

Page 10: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Foot Direction

Foot Direction is calculated at the middle of stance time and is given by vector toe-heel projected onto the ground plane, normalized, and then multiplied with the length of the foot:

footdirection = normalize(d).footlength

d = (toe - heel) || ground

Page 11: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Foot Relative to Ground

Page 12: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Measuring Velocity

For each leg, keytimes are set as according to the leg cycle.

Measure the distance that footbase has moved from foot-land to foot-lift time.

Divide it by time span between those two times.

Do it for each leg and use the average as velocity of motion.

Page 13: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Motion Blending

Motion blending enables bones to be moved simultaneously by multiple motions using a weighted average.

The approach taken in this work is to blend not only example motions but also all the data that is acquired in motion analysis like keytimes, stance position, footbase trajectories etc.

Page 14: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Animation Groups

To allow varying stylistic parameters(e.g. happy or sad) be applied to motion along with physical parameters(e.g. velocity or direction) the author proposes use of animation groups.

An animation group is defined as collection of motion having different physical parameters but same stylistic parameters.

Page 15: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Synchronization before Blending

Motions must be aligned before blending in time such that similar events in different motion occur at same time.

Cycle alignment to synchronize walk and run cycles and time warping of normalized footbase trajectories.

Page 16: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Footprint Prediction

Using the cycle time, calculated from stance time, and cycle duration, the time of next footprint is predicted.

This footprint time is used to calculate the character’s position and rotation in the world space.

Given the character’s position and rotation next footprint position and rotation can be calculated.

These predictions are updated until the foot is planted on the ground.

Page 17: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Once planted the foot should be properly constrained to the footprint position and alignment, whereas while in air the foot should gracefully animate into footprint position and alignment.

IK can be used to make that happen.

Page 18: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Footbase Trajectories

While the foot flight time, the footbase has to be moved with the same speed as original motions.

To do this linear interpolation of previous and next footprint is done using z-component of normalized footbase trajectory as interpolation value.

Still feet move in straight lines and hence turning in arc causes undesirable foot movement.

Page 19: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Curved trajectory

An offset is added to the blended motion in order to generate a proper arc.

The offset is added with a weight, maximum at the middle of the flight.

Page 20: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg
Page 21: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Ground Tangent Based Lifting

Find intersection between tangent and vertical axis above prev and next footprints

Higher tangent is used to fit a sine curve to be followed by the foot.

Page 22: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Walking on Uneven Terrain

Page 23: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Supporting Leg Height Trajectory

After finding the trajectories of each leg, the contribution of each leg in supporting the weight can be found which in turn gives an idea of bending or stretching of legs.

Page 24: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Foot Alignment

Page 25: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Genericness

Tested for variety of character with different number of legs

Not restricted to realistic motions only. Assumes constant number of legs for a

single character and not retarget able.

Page 26: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Flexibilty

Direction of motion in example motion does not matter.

Any type of motion is possible be giving directions to destination to the animated character in interactive environment

Does not tell about anything about part of terrain that the character does not step on to.

Page 27: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Faithfulness

Page 28: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Conclusion

Additional features can be used on top of the existing system. For example retargeting of motion to accommodate varying limb sizes.

A very efficient approach with example based motions and simple mathematics.

Page 29: LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg

Thank You