Procedural animation for humans in Unreal Engine 5

Create a dynamic and flexible animation system which can be adapted to any style of character movement
Download Links and Watch in Description

Loading

This system will allow you to control every aspect of the characters walk and run style, with manual control over every bone, using custom logic and variables inside Control Rig (which allows for very good performance, allowing it to be used on many characters at once).

With a fully procedural animation system, your characters will fit within their environment and adapt their movement based on the surroundings. Whether the character is walking, running or anywhere in between, standing with one foot on a ledge, walking across stepping stones, running up a ramp backwards whilst spinning in circles, or any other situation your character may find themselves in.

To create this level of interaction with traditional static animations, you would need to create hundreds if not thousands of walk cycle variations and a complex system to blend between different animations at the appropriate times. Then if you’d like to make a tweak, such as to change the character’s walk style or speed, you would have to start all over again.

Instead, with a procedural system, we figure out the logic that dictates how a human actually walks: where they place their feet, how their speed influences their stride time, how they swing their hips and spine to accommodate for their leg movements; to create an intelligent system that mimics how a human (or any character) would walk.

After you’ve created the system (which is included as a download for use or reference), you can adapt it to any character you may want in the future. For example, you may create a heavier & stronger character for your game, perhaps a robot / mech / monster, and instead of spending hours creating walk cycles to figure out how he should move, you simply tweak a few numbers in the procedural system to see how the character looks when he stamps his feet whilst walking, or takes longer strides, or swings his arms like a madman.

We don’t rely on any major inbuilt functions within the engine, and so the same concepts and techniques can apply to any form of procedural animation. For example, after completing the course, you may want to take what you’ve learnt about creating procedural human animations and use the same concepts to make a procedural swimming animation for a shark. Or procedural weapon recoil controlled by the strength of the gun. Or a parkour climbing system. In theory, anything that can be animated can be animated procedurally. Is it always beneficial? No. But procedural animation is the best solution for any animations which need to be adaptive and change based on the environment, user input, or gameplay events. The best part is, everything we create in this course runs as a single node in the animation blueprint, allowing you to blend it with regular animations, or any input pose for the character.

This is not a course where I simply tell you what buttons to press. Every single step is explained, and the thought process behind decisions about what to do next is discussed, so you will always have an idea of why we’re doing each step. We routinely take a look at what we have created so far to analyse it for further improvements.

The information and ideas in this course are not available anywhere else, trust me; I have looked, as all of the solutions are a result of 7 years of experimentation with procedural animation. This method of animation isn’t being done to this degree by any game developers yet, only basic hybrid IK systems, and I strongly believe it will be the primary form of character animation in the next few years.

I have set up a Discord server where you can directly ask me any questions, or see the results of other students of the course. If there are any areas that you don’t understand or need further explanations, I’ll be happy to help, and look forward to seeing your results!

Who this course is for:
Game developers wanting to create a robust system to save 100s of hours hand-animating walk cycles
Animators who want to prototype and visualise different animation styles rapidly
Unreal Engine developers who want their characters to interact with the environment

Watch online or Download for Free
1 – Initial setup

01 – Getting started
02 – Creating your first procedural animation
03 – Basic leg IK
04 – Put the feet into an array
05 – IK both legs in a loop
06 – Prevent multiple copies of each foot being added to the array
07 – Optional Sphere trace example
08 – Collapse to functions
09 – Rotate around point function

2 – Foot rotation

10 – Creating a SetFootTransforms function
11 – Foot platform traces
12 – Foot platform rotation offset
13 – Calculate foot platform forward offset
14 – Rotate foot bone around foot platform
15 – Calculate ball rotation point offset
16 – Calculate tip rotation point offset
17 – Calculate heel rotation point offset
18 – Rotate foot around ball
19 – Heel point fix
20 – Unrotate balltip
21 – Rotate around tip of the toes
22 – Rotate around heel

3 – Velocity cycles and leg movement

23 – Create a calculate velocity function
24 – Calculate world velocity
25 – Convert to rig space velocity
26 – Locked feet locations array
27 – Calculate world delta movement
28 – Create calculate foot targets function
29 – Basic time cycle
30 – Foot locked bool array
31 – Calculate foot targets lerp linear interpolation
32 – Lock the feet
33 – Shift the locked feet based on the worlds movement
34 – Unlock the locked feet
35 – Predict foot landing spot basic
36 – Stride length
37 – Set the feet cycles to be out of sync
38 – Floating foot fix and stride length improvements
39 – Predict character movement for foot traces
40 – Basic foot spline
41 – Dynamic cycle time
42 – Swing time as a percentage
43 – Foot landing spot prediction improvement
44 – Minimum stride time
45 – Velocity based spline diagram
46 – Advanced foot spline
47 – Minimum cycle time and Z lift tweaks
48 – Swing time tweaks
49 – Clamping the IK distance to prevent popping

4 – Pelvis and spine control

50 – Pelvis motion initial setup
51 – Pelvis sin cycle
52 – Pelvis updown offset
53 – Pelvis bob based on speed
54 – Pelvis leftright swing
55 – Shoulder swing compensation
56 – Neck rotation
57 – Save foot platform outputs for later
58 – Pelvis offset diagram
59 – Calculate target pelvis rotation
60 – Save and visualize movement angle offset
61 – Offset the landing spot foot angle
62 – Rotate IK pole vector
63 – Rotate pelvis to match foot rotation average
64 – Head rotation fix
65 – Foot separation

5 – Smoothing and rotation limits

66 – Reduce rotation offset
67 – Snapping issues
68 – Creating vector lerp linear interpolate function
69 – Velocity smoothing
70 – Movement angle offset smoothing
71 – Sideways movement foot rotations
72 – Locked foot rotation limits
73 – Relax midair foot
74 – Leg intersection problem
75 – Basic foot avoidance
76 – Dynamic stride length

6 – Arm motion

77 – Arm motion setup
78 – Arm IK
79 – Arm swing
80 – Arm swing sync
81 – Arm swing based on speed
82 – Swing angle offset
83 – Reduce arm swing running backwards
84 – Arm swing sync improvements
85 – Shoulder bobbing

7 – Tweaks fixes and improvements

086 – Foot twist fix
087 – Leaning
088 – Arm lift tweaks
089 – Pelvis tilt
090 – Pelvis tilt overcompensation
091 – IK clamp fix
092 – Feet lagging improvements
093 – Extra smoothed velocity
094 – Dynamic rotation factor
095 – Knee alignment with velocity
096 – Foot angle for slanted surfaces
097 – Smooth pelvis offset based on a floor trace
098 – Using a better pose
099 – Identifying issues exposed by the new pose
100 – Use the accurate leg pole vectors
101 – Use the accurate arm pole vectors
102 – Smoothing the predicted landing spot
103 – Smoother interpolation
104 – Improved smoothing and replacing all blendspeeds
105 – Sideways movement arm raise
106 – Foot angle offset tweaks
107 – Side movement pelvis tweaks

8 – Improved foot traces and foot avoidance

108 – No floor no problem
109 – Lower foot trace for pelvis offset
111 – Check multiple landing spots
112 – Front of foot traces
113 – Find the flattest landing spot
114 – Prefer higher spots
115 – Prefer lower offsets
116 – Use the ideal landing spot
117 – Prefer valid hits
118 – More weight to the default landing spot
119 – Setting up a basic walk course
120 – Angle switch timing limitation
121 – Foot avoidance function setup
122 – Foot avoidance swings
123 – Foot avoidance based on the other foot

9 – Congratulations

124 – Next steps

[File-01]: Link 1 | Link 2
[File-02]: Link 1 | Link 2

Reviews

There are no reviews yet.

Be the first to review “Procedural animation for humans in Unreal Engine 5”

Your email address will not be published. Required fields are marked *

Shopping Cart
AdBlocker Image

Please disable Ad Blockers
Looks like you're using an ad blocker or popup blocker. We rely on advertising to help fund our site.