Presentation on theme: "LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg."— Presentation transcript:
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.
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.
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.
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.
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.
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.
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.
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.
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
Foot Relative to Ground
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.
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.
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.
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.
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.
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.
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.
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.
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.
Walking on Uneven Terrain
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.
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.
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.
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.