Description
In this course, you will learn :
- The basics of procedural animation.
- How to make a completely procedural walk and run cycle.
- How to assess and enhance your animations incrementally.
- How to add custom functionality to your control rig.
- How to use logic and variables to control every aspect of your animation.
- How to utilise IK to arrange your feet realistically.
- How to forecast player footfall depending on their surroundings.
- How to combine multiple views of movement seamlessly.
- How to construct a dynamic cycle time that responds to various speeds.
- How to make a smooth and lifelike human animation system.
- How to design a system that can be adapted to different types of character movement.
Syllabus :
1. Initial setup
- Creating your first 'procedural animation'
- Basic leg IK
- Put the feet into an array
- IK both legs in a loop
- Prevent multiple copies of each foot being added to the array
- Optional: Sphere trace example
- Collapse to functions
- Rotate around point function
2. Foot rotation
- Creating a SetFootTransforms function
- Foot platform traces
- Foot platform rotation offset
- Calculate foot platform forward offset
- Rotate foot bone around foot platform
- Calculate ball rotation point offset
- Calculate tip rotation point offset
- Calculate heel rotation point offset
- Rotate foot around ball
- Heel point fix
- Unrotate ball/tip
- Rotate around tip of the toes
- Rotate around heel
3. Velocity, cycles, and leg movement
- Create a calculate velocity function
- Calculate world velocity
- Convert to rig space velocity
- Locked feet locations array
- Calculate world delta movement
- Create calculate foot targets function
- Basic time cycle
- Foot locked bool array
- Calculate foot targets lerp (linear interpolation)
- Lock the feet
- Shift the locked feet based on the world's movement
- Unlock the locked feet
- Predict foot landing spot (basic)
- Stride length
- Set the feet cycles to be out of sync
- Floating foot fix and stride length improvements
- Predict character movement for foot traces
- Basic foot spline
- Dynamic cycle time
- Swing time as a percentage
- Foot landing spot prediction improvement
- Minimum stride time
- Velocity based spline diagram
- Advanced foot spline
- Minimum cycle time and Z lift tweaks
- Swing time tweaks
- Clamping the IK distance to prevent 'popping'
4. Pelvis and spine control
- Pelvis motion initial setup
- Pelvis sin cycle
- Pelvis up/down offset
- Pelvis bob based on speed
- Pelvis left/right swing
- Shoulder swing compensation
- Neck rotation
- Save foot platform outputs for later
- Pelvis offset diagram
- Calculate target pelvis rotation
- Save and visualize movement angle offset
- Offset the landing spot foot angle
- Rotate IK pole vector
- Rotate pelvis to match foot rotation average
- Head rotation fix
- Foot separation
5. Smoothing and rotation limits
- Reduce rotation offset
- Snapping issues
- Creating vector lerp (linear interpolate) function
- Velocity smoothing
- Movement angle offset smoothing
- Sideways movement foot rotations
- Locked foot rotation limits
- Relax midair foot
- Leg intersection problem
- Basic foot avoidance
- Dynamic stride length
6. Arm motion
- Arm motion setup
- Arm IK
- Arm swing
- Arm swing sync
- Arm swing based on speed
- Swing angle offset
- Reduce arm swing running backwards
- Arm swing sync improvements
- Shoulder bobbing
7. Tweaks, fixes and improvements
- Foot twist fix
- Leaning
- Arm lift tweaks
- Pelvis tilt
- Pelvis tilt overcompensation
- IK clamp fix
- Feet lagging improvements
- Extra smoothed velocity
- Dynamic rotation factor
- Knee alignment with velocity
- Foot angle for slanted surfaces
- Smooth pelvis offset based on a floor trace
- Using a better pose
- Identifying issues exposed by the new pose
- Use the accurate leg pole vectors
- Use the accurate arm pole vectors
- Smoothing the predicted landing spot
- Smoother interpolation
- Improved smoothing and replacing all blendspeeds
- Sideways movement arm raise
- Foot angle offset tweaks
- Side movement pelvis tweaks
8. Improved foot traces and foot avoidance
- No floor, no problem
- Lower foot trace for pelvis offset
- Aim math result constraint
- Check multiple landing spots
- Front of foot traces
- Find the flattest landing spot
- Prefer higher spots
- Prefer lower offsets
- Use the ideal landing spot
- Prefer valid hits
- More weight to the default landing spot
- Setting up a basic walk course
- Angle switch timing limitation
- Foot avoidance function setup
- Foot avoidance swings
- Foot avoidance based on the other foot