In this course you will learn how to create a fully procedural walk/run animation system for characters, entirely within Unreal Engine 5.1+ 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.
In this course you will learn how to create a fully procedural walk/run animation system for characters, entirely within Unreal Engine 5.1+ 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.
At the end of this video, it is EXPECTED that the box position WONT match where the right foot is. And each time you compile, the foot will move further and further away. We fix this issue shortly by adding a 'RESET' foot array at the very start of the Construction Event. But feel free to add it now if it will help.
Note: If you do not end up with two boxes being drawn, make sure that you have "Recursive" ticked on the Get Children node.
If it still doesn't work, and you've followed all steps correctly but are getting a "Item not valid" warning, delete the "contains" nodes and the "AND" node, and recreate them. There may be some bug with control rig causing this but recreating them has fixed it with someone who had the issue.
Note: If you follow this part and test the trace, the box I test it on in the level is higher than in the project file. So you may not see the effect in your version. So you can test it by moving that box higher up and you should begin to see the knees bending if the trace is working.
Towards the end of this video, I modified the Z offset inside the OffsetPelvis function, to be -10 on Z axis.
If you find your character is floating in the viewport, you can set this value to -10. But if the character is floating it also isn't a problem, and won't cause issues later, it's just a visual thing of where the floor is in the preview window.
If you notice your character is floating in the viewport, refer to the previous videos description. You want to set the Z offset inside the OffsetPelvis function to be -10. This wasn't shown (cut accidentally in editing) and won't impact things down the line, but will display the debug drawings in the 'wrong' place and can cause confusion.
Note: when calculating the velocities, ensure these variables are regular variables, and NOT local variables. Local variables cannot be accessed outside of the function, and will disappear after the function is used. So it wouldn't be possible to use the previous world transform because it would reset to 0 every time. So make sure you use regular variables :)
The "Space" used by the clamp node should be set to the Thigh location. This part was missed in the video edit, at around 4:03.
By setting the 'space' the clamp uses, it sets it to limit it based on the distance from that 'space' input. So in our case, it sets the maximum distance to be a distance from the thigh bones. If nothing is plugged into that, it will limit it around 0,0,0 (location and rotation) which is not correct.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.