Procedural Animation for Humans
Вставка
- Опубліковано 15 вер 2024
- Course: www.udemy.com/...
Discord: / discord
This video series shows you how to create a procedural animation system in Unreal Engine. It assumes no prior knowledge of animation or programming, and requires no external tools; everything is created entirely within Unreal Engine.
The course includes a completed version of what you will create to use as a reference, and I hope that by following or watching along with the course you will be able to improve upon this system, add new features, improve the animation style, apply it to different characters and more. Every step and decision is explained so you will have a full understanding of what is going on and how the system works, so that you can take that information and use it as a basis to create your own animation setups.
Whilst we focus on creating a fully procedural human animation, the system could easily be tweaked to work with non-bipedal characters, as most of the functionality would apply to any form of procedural animation.
If you've seen my previous videos on this channel, you will know my teaching style and will also see that I respond to all questions asking for help or guidance, as I will do with any students of this course.
This course is the culmination of a lot of experimentation with procedural animation, and a lot of time refining and re-recording the course to make it simple to follow, succinct, and educational.
Instant buy, that course was in my shopping cart so fast it made my head spin.
Instructions unclear. Accidentally made academy award-winning procedural spider walking animations.
Lol😂
Timing could not be better, just started the course. Keep up the good work!
After a year of waiting for more to come, I just happened to check this at the right time! I've been dying to try this and can't wait to support and learn it!
This looks great. Ive delved into semi procedural stuff before, ive gotten close to replicating half life alyx's stride retargeting system but put that project on the backburner. I just purchased your course as I've only recently started seriously using control rig, and this kind of application of the tech is right up my alley. Thanks for sharing your knowledge! I cant believe i havent come across your channel before, i search quite regularly for unreal engine based technical animation content.
This is industry leading and amazing work, thank you for sharing... I can't wait to get started and learning the technique.
Look forward to seeing you on the course! Join the discord if you haven't already (and if you use discord), I'm interested to see how people are getting along with the course
Just bought this course
Adding procedural turn in place as will make it totally complete
Please add it to the course
Instant purchase!!! WOW! I have been looking for something like this. You're right, there's no resources like this.
running on all 4s would be so cool for procedural. Switching between that and bi-pedal.
This is fucking amazing, I followed your spider tutorial and it was top notch, this course is a clear buy for me when I have better economy.
This looks great, but I have one question before taking the course if you don't mind.
The game prototype I'm working on is intended to be multiplayer eventually. Would this methodology work in a Multiplayer game or is it too heavy to be replicated for multiple characters?
It runs and is calculated by the client (same as regular animations), and the movement is primarily dictated by the velocity of the character. Velocity will match for all clients on a multiplayer game so everyone should see the same result and there should be no complications/issues there.
The only thing I would mention is that if you NEED your animations to be in perfect sync between clients (EG if you had per-bone hit detection and it was a competitive shooter like Valorant/CS), extra care would need to be taken to make sure that timers stay in sync - which would be true for regular animation methods. And you may benefit from making the 'foot landing spot' decisions simpler and more predictable, so that all clients calculate the same position to move the foot to. The way I show how to create it in this course, is it searches around (every frame) for the best landing spot and chooses that. But due to slight differences in positions/traces/etc it could find a different 'best spot' on another client unless you made it more predictable/limited.
@@LincolnMargison thanks for the informative response.
I think I will grab the course then. Even if it doesn't pan out as my prototype will have limb hitboxes, it's still good knowledge to have.
Thanks again.
Came from the Procedural Spider Leg animation video.
Instantly bought this course. If it is even half as detailed (with 9 hours, I doubt it isn't xD) then it will be worth the price tenfold.
I am new to unreal and I find everything so confusing........can I use the knowledge in this course to make my own procedural animation like for guns and all??? I am sorry if the question doesn't make any sense.....I am really new to this stuffs....I really don't know how to start making my own mechanics😢....but I want to learn so bad ....
I'm about to start this course, what would be the best way to go about playing footstep sound effects and particle systems on impact?
Awesome course by the way! Thank you for contributing such massive and talented work to the community 🙏🏽
An approach you could use, would be to encode the info you want into an unused bone. So for example, the IK_foot bones, you could set a value for their scale based on when the foot landed, or how far from the floor it is, or whatever you want, and then read that from blueprint (to then use to trigger sounds / fx).
This workaround is just an idea I thought of, but I imagine they will eventually add animnotifys to control rig or some other means of communicating info. I haven't checked 5.2 yet but I don't think they have notifies in 5.1 still.
Hey, do you explain how to replicate for multiplayer in the course?
Very interested in this series. Would I be able to expand this to an auto-correcting or self-balancing active ragdoll? If not fully, at least to the point where it can be mimicked believably?
Learning alot from your course!
I highly recommend for anyone into procedural animation
Bought the cousre immediately
As a thank you for the last tutorial, I bought this one :)
This looks great think i might have to get it at the end of the month , ive just starting messing with control rig for FPS animations in unreal rather than using blender which i really dont like for animating. Also its nice to see exactly how the animations look in game engine as am doing it , i have a basic rig working but want to do more with it and also do the 3rd person anims that way, great work on the course and the channel i like what ive seen so far
Definitely going to pick this up, though I normally rely on motion capture for "realistic" characters. I noticed you use input poses? Does that mean it can still be blended with existing animation or poses? I could see myself easily going fully procedural in some cases and blended in others.
Something else I'm wondering about is systems that depend heavily on anim notifies and how they can be translated.
To the first part: Yeah, you can pass it any input pose, or input animation, and it just modifies it from whatever is passed (so different foot angles, placements, etc).
And you can blend in and out of it like you would with any animation. You could have multiple copies being used within a statemachine, or override bones after, or whatever.
To the part about notifies: to my knowledge there's currently no support for animnotifies within control rig but I'm going to investigate, I haven't checked 5.2 yet for example.
A way you could get around it is by encoding information into empty bone positions and reading that from BP. Hacky solution but would work, but if you're relying heavily on anim notifies that would probably be too complex/messy to use right now.
bloody brilliant, good work. Will be signing up shortly!
.. and I'm in. Already have a subscription to Udemy so this is a no brainer for me.
Doesn't work anymore in packaged builds of Unreal Engine 5.2. Any Idea why not?
There's an easy workaround, but my theory is that it's a bug with the engine where it isn't increasing the max loop count on packaged builds so it can't loop through all bones.
A very simple fix is to just manually add the bones to an array rather than looping through all of them (this is more efficient too).
Im in without thinking, gotta grab my chance to be pro in there
This is epic! Well done dude. Half of my knowlege about procedural animation came from your videos and I'm not even using a same engine. Cant wait to buy this cource. Btw I have a question does that system involve some unreal engine features or its just simple maths?
I tried to involve minimal 'unreal only' features, even though it's entirely made within Unreal (using Control Rig). So it doesn't rely on any inbuilt fancy features. And is 99% just math so you should be able to replicate the process to Unity.
The exception is at one point I use an "Aim math" node to calculate the foot rotation based on the floor normal, but I imagine this is very easily found for Unity because any foot IK solutions will do that.
I also use some math nodes that do transform multiplications, and some quaternion multiplications. I don't know if Unity has matching functions or if you'd have to add those yourself, but you could always look at the underlying unreal engine code for the function to recreate it.
I'd definitely like to see something like this created in Unity, it's not something I've explored much of so I don't know if there are any limitations/restrictions you'll run into, but if you have direct access to all bones (and tracelines) it should all be possible.
@@LincolnMargison Great! I'll try my best then I think I should be able to do that. Yeah for some reason unity doesn't have a lot of simple math functions that unreal has. They don't even have a remap and I know about this function only because of your previous video. But it is very easy to implement so that is not a problem. Well I'll send you a video if I'll be able to recreate this in unity. Thank you for your work :)
Sick dude!
will this procedurally do like slope sliding?like if you run up or down a steep slope will it slide accordingly
0:51 I said right foot creep, ooh, I'm walking with that heater
Look around, stay low, make sure they don't see you
Catch 'em bad, walk down, face 'em with that heater
The devil under your feet, you're on your way to see him
I have a question. Can I use this system, for my ragdolls? I want the character to place the feet in the driection he is moving/falling to make a stumble-system. Will this foot placement also work for ragdolls?
Not full ragdolls, but for a blended semi-ragdoll character yes.
I bought the course, but I have a problem, and I don't know how to fix it... In part 5 when I plug the for each elements in my Basic IK, it's just giving me a warning, that Item lenghts are not provided and I have to either set the Item Lenght(s) or the effectot Item. How do I fix this? @@LincolnMargison
@@AI-Music481 Restart the editor if you're sure you followed the steps correctly. Sometimes control rig can bug out when dealing with arrays. There's also a discord server where you can ask for help, I reply to everyone in there and other people are in the server who can help if I'm not around.
Could I use only the legs for VR?
Sure
I'm in..
Just got this course. Thank you.
Hope you enjoy! Feel free to join the discord if you need any 1 on 1 help or to ask questions in there with others who are on the course.
@@LincolnMargison Thank you so much!
Looks great. Would it be performant enough to run on 20 or so characters at once, in an average open world rpg environment?
I would also like to know how costly it is compared to say ALS4?
Im challenging myself and trying to do this without the course in godot. Involves a lot of slow motioning the vid! Wish me luck.
hello, would there be walk stops. For example if the player is walking and them stops will there be a procedural stopping like right foot stop & left foot stop?
It will naturally come to a stop where the feet will land as part of the walk cycle, then correct back to under the character. More could be done and expanded on to have more specific 'stop' and 'start' animations (eg. leaning, weight shifting and so on) and there isn't a dedicated system for it, but it organically occurs with the foot placement system.
Just got this!
Quick question: Do you have or recommend any Udemy courses for UFC style combat?
thabks
Can i use this as in between animation between baked ones
You can blend in and out of using the system in the same way that you can blend in/out animations. It all operates through one control rig node, which can be placed anywhere (including multiple times) in the animgraph
I have an entire animation blueprint system set up like how the Lyra Sample Game does it. It took me a long time to get it up to that point but what irks me is that regular walking and turn in-place animations for the mannequin are freaking terrible. This looks useful as a replacement to those animations.
is this suits for the sequencer cinematics? if yes how?
does this work for different gravity settings? i want to make characters walk realistically in different gravity (like how astronauts on the moon bounce around while walking), instead of just using Earth-based animations when it isn't physically correct.
I think the question shouldn't be if this specific setup supports it, but whether the approach does. This exact setup doesn't do anything dynamic in response to gravity (eg. slow down movement, larger steps/leaps, etc) but the approach certainly could. I think from watching this, you'd get some ideas for how you could adapt it to what your project needs. EG, you'd know how to pass inputs (such as gravity) into the system, and know how to use those to manipulate variables. So for example the speed of the feet and how high they lift, how slow the movements are, etc etc.
If your project needs variable animation settings in different situations (eg. travel from planet to planet with different gravity) then a procedural approach would be a perfect fit for it.
You could likely get good results from scaling regular keyframed animation speeds, so just slowing down walk/run cycles based on the gravity, but I think a tailored approach with procedural elements would be a big step up from that. EG simply slowing down an animation would just look slowmotion, whereas if you're slowing down some aspects (how fast their body moves up and down) but not necessarily slowing down how fast the character's limbs move, you could get a more 'bounding' look to the strides.
So tl;dr: it isn't featured or addressed directly in the procedural system or the course, but you'll learn the fundamentals that you need to make it (after a bunch of experimentation / watching reference videos and such of course)
Turn in place like in mirror's edge? Can character not turn in place with camera, only if camera offset more than preset angle? Anyway, it's pretty good :) also, will character's feet match the staircases?
Instant buy, thank you for sharing!
Love it! :)
Hello sir, one question. What about if you want it to blend with climb , swim or crouch? It is possible? It would be very complicated? Thanks in advance.
It can blend with other animations the same as regular animations can, so you can blend it in the AnimGraph as normal :). You could even create a separate system similar to this but for climbing, and blend between the two, or have them both part of the same procedural system.
@@LincolnMargison That's amazing, thanks so much for the quick answer. Suscribed and considering getting that course, thanks a lot.
Nice work. Do you think you can add a specific lecture topic or even another tutorial that we can pay regarding making the pelvis stable or the head bone using control rig? True FPS games that uses one mesh suffers with significant headbob when the animations are not good as the camera is attached to the head and is affected by the animation. Maybe you can find a way to constrain the pelvis or head bone where the camera is attached so that we can have much more smooth and stable camera. On existing animations or make it stable via your procedural animation without causing too robotic movements on the legs. Thank so much.
The way I've gotten around this issue in the past (procedural or not) is just attaching it not to the head directly, but something that smoothly will track the head / stay within range of the head.
With a procedural setup like this, you could also just tweak/fake it for the 'owner' of the body, so you just move the whole body down relative to where the head is moved to to keep the head in one place. Or you could keep the head stationary and everything below/including the neck moves.
To do that, you would just want to save the initial head position before you do any modification/proc anim, then restore it afterwards. Then any camera attached to the head would be stationary.
Is it possible to make procedural animation not for walking but for microexpressions and little movements of the body that makes human a human. Blinking, eyes roaming, head tilts, breathing and all those little things that body does. So that character will not sit as a robot during the dialogue, but to do all those little body movements "itself".
Sure. If you can come up with some logic (or use randomization) to dictate these movements, it can be done.
The only difficulty would be in figuring out what movements/combinations/speeds are realistic. Frequencies for different randomized noise effects, environment influences etc. EG if the eyes are tracking random things, how long do they spend tracking before switching to a new target on average? Is that frequency consistent over longer periods? How much does the head rotate in relation to what the eyes are tracking? and so on.
I've had some ideas to do some facial animation/expression stuff with procedural animation, not explored it yet, but I think it'll be interesting to try with metahumans, then combine it with procedural animation for the body/legs, maybe incorporate it with VR tracking for the hands/head.
@@LincolnMargison I think that figuring out those limitations is just a matter of time and testing. It would be awesome to see you results if you manage to make a tutorial on that matter. :-)
Hey Lincoln ! Thanks for the tutorial, I just downloaded it and so far the explanation are pretty clear. However I have a question/suggestion regarding the first 2 sections : why aren't you using controls instead of applying directly transformations to the bones ? This is considered bad practice as the bones are being reset at each iteration of calculation. I think that if you used controls, you wouldn't need to recalculate the position of the tip, ball, etc (since it wouldn't reset) in your functions and it could save computation power too !
For sure, you should use controls where possible, and it's an additional step that can be taken to optimise it (you'll likely come across a lot of optimisation potential).
The reason we don't use controls initially is that we want to calculate them dynamically, so that it works for different characters/setups. IE if you had a character with 100 legs, the way we do it in the course will work, but if you were to set up controls and manually place them that would take a long time.
However, I think it would be possible to create dynamic controls and parent them so they don't need recalculating (after finding them dynamically in the first place), but I imagine the computation behind the scenes for control transforms isn't much less than what we do (a simple multiplication) to recalculate it. But either way, it would have been an added step that delayed getting things to work, for the sake of some potential performance increase.
The main area where you'd be able to optimise it a lot is the traces we do for the feet. Those are also demonstrating a simple way to search a grid, but it's doing that each frame and sometimes unnecessarily. That is likely to be the biggest performance hit of the whole thing, but since it's impact is minimal anyway I didn't cover ways to optimise that, but the long story short would be: do less traces or do them less frequently.
@@LincolnMargison Thank you for your quick answer ! I understand now why you did it that way.
I remember one tutorial I found a while ago regarding automatically creating the controls depending on the bone but that is going for sure to add a layer of complexity ! Anyway thank you for your insight, will keep that in mind
This sounds like a lifesaver. Before I dive into it, do you think it'll work for VR and a character with physics simulation enabled? I want to use VR controls to move hands and head but legs will be animated. I've been fighting an issue of the character being pull back to the initial position for a long time but I suspect I'm missing some bits that allow the transform to change with the movement and I hope to learn them from your course. I think the issues I have come more from using of physics than VR. Do you have physics simulation enabled? If not, have you experimented with it?
This course doesn't tackle or involve physics simulations, but if you want to go down that route, I would recommend looking at the Physics Control sample map (check out the example content). That may be more appropriate for using as a mix of phys/animation than the physical animation component. It gives you more direct/forced control over specific bones.
@@LincolnMargison Thank you for clarifying! I bought the course anyway. I think your vast experience is valuable for me even if you didn't use physics. What do you mean by looking at the Physics Control sample map? Where can I find that example content?
Very nice! Do you cover turning in place animations? How does this system handle turning in place without translating anywhere?
It naturally will do a turn-in-place animation, as each foot is moving at different times to the target spot (based on the input/base pose), so once the character has rotated, each foot will be moved one at a time to their new location/rotation, and the pelvis will be adjusted to match their motion.
However, much more could be done in this area, with shifting weight from one side to another and so forth. The course (and to a lesser extent, the spider anim tutorial on this channel) should give some ideas on how this could be accomplished.
Would the things learned in this course also be able to be used in Unity?
Conceptually yeah, but it goes into the specifics of setting it up within control rig in Unreal. It doesn't rely too heavily on any inbuilt functionality within UE, so as long as you know how to modify bone rotations and do IK within Unity, the theories will translate over.
I'd recommend this mainly for someone experienced with Unity/skeletal meshes etc though as it may be difficult to translate without being able to see the full process.
Noob questions to wrap my head around this...Is It possibile ti add an anim notify to a procedurali animation, and can you animate anything with that? (what are the differences with an actual animation on performance and code?)
For performance: Control Rig seems to have very minimal impact. If you pushed it with 100s of loops and traces you could get it to slow down, but it all operates within the animgraph as normal (so you can use it within blendspaces if you want, or combine with traditional animations, or decide when to use/not use procedural animations).
For animnotifies: I think we're still waiting on the feature to be inbuilt to control rig (I haven't checked 5.2 yet). Currently, a work-around is you could 'encode' info into unused bones or additional empty bones, which you could read from blueprint (and from there, trigger sounds/etc however you'd like). So for example, if wanted to convey into blueprint how fast a bird was flapping its wings from a procedural anim within control rig, you could set the scale.X of some bone to represent the speed. Then in a blueprint, read that bones X scale, and use it to drive sounds or wind physics or anything. This will likely become a lot cleaner/easier when they add support directly though.
> "can you animate anything with that" do you mean in general with procedural animations / control rig? If so, you can animate any skeletal meshes and all bones of a skeletal mesh. But procedural animation is definitely suited for 'formulaic' movements. As an example, if you wanted to make a reload animation, it would be very complex/tricky to do that via controlling the bones manually via logic & variables, and much easier to just use regular animation, and since reloading doesn't need to be dynamic or adaptive you would have no benefit from doing that procedurally. However, you COULD use a regular reload animation, and make tweaks procedurally. EG modify where the gun is held whilst reloading, tweak the angle it's held at, etc, to make it more dynamic and less repetitive.
@@LincolnMargison I just finished this course and i am really happy about the result, if anyone is wondering if this coourse is worth it i can say YES, by the end of it you will be fully satisfied.
Hey brother. If I take this course.
I can combine it with my locomotion and animations? For example. Blend them with already made motion capture animations to get the desired look I’m aiming for.
It's possible to make a hybrid system, but it'd require some figuring out and planning beyond the scope of this course. This course should give you the groundwork for the procedural side, but you'd need to figure out how to combine it with locomotion animations. Particularly; figuring out a way to match the timing of your animation to the cycle time of the procedural walk cycle.
The main issue here is that the feet are 100% controlled by control rig with this method. For a hybrid, you'd be better off modifying the animations rather than replacing them, if you want to use the mocap. So basically you'd use controlrig to tweak the mocap, to do things like extend the foot reach based on speed, limit the feet from passing through the floor, angle them based on the terrain, etc.
how would this work if for example : I wanted to mix a pre animated full body attack spin animation with it or/and a pre animated upper body attack animation
It works on the basis of modifying whatever is input into it. (In this video, I demonstrated swapping it with a 'sneak' kind of stance and with default settings). But the legs are being directly set to the calculated positions with the way I have set the system up. So for your example of a body spin attack, it would make sense to blend out the walk system, into the animation, then back (you could do this in a blendspace/state machine as normal). But if you change the leg pose, the next time it predicts a landing spot for the foot, it will use the NEW poses target. So it will naturally transition from one base pose to another.
As for the upper body only animation, simply feeding in that upper body animation instead of a standing pose would work, and the legs would keep walking based on the players movement. You may want to disable some of the arm motion during the attack though to make sure the arms animate accurately and don't get offset/swung around from the walk.
@@LincolnMargison thanks with that cleared up i think i give it a go
would this also applicable to climbing or parkour movement?
Yeah, you'd have to do more work for the specifics though, using the same methods/fundamental ideas but applied to more advanced moves. But most of it would translate over. EG some parkour moves would involve the hands interacting with surfaces, so you'd want to replicate what we do for the feet but for the hands to make them 'grab' the correct spots and so on.
Could this same concept from your course be used for vehicles?
Sure, you may find some value looking in to how they've set up the matrix project (they used control rig for a lot of the car destruction, possibly some for the physics too?). But a lot of the same setup/concepts would apply for vehicles. Although with vehicles you might get more benefit from incorporating physics sims in addition (this course doesn't use any actual physics simulation).
Can procedural animations/movements replicated ? 🤔
It's calculated clientside, so assuming the same input/info you'll get the same output. So if the character movement is replicated you'll see other players moving with the procedural anims. But if you need per-hitbox detection and exact match animation, extra work/care would need to be taken to make sure it's deterministic or replicating extra info to keep it all aligned (this is also true for regular animations)
My friend please answer my question your course have IK foot? I am mean like a mannequins UE5 it's work's IK foot??
This doesn't use or require an IK_foot bone, if that is what you mean?
It operates directly on the foot_l and foot_r bone (and the calf and thigh bones) for the legs.
@@LincolnMargison My character have Ik Bones & uses UE5 Epic Skeleton. I am just want my character walks & Runs Realistic.
If I am buying your course My character will be walks & Runs Realistic?
@@roydash5657 It's a course teaching the concepts of procedural animation, but it shows concepts that specifically apply to human characters. So if you follow it as it is, or use it to come up with ideas for your own project/needs, then you'll be able to create human walk/run animations as seen in the video.
@@LincolnMargison it's awesome! very cool. thank you so much for your information. you really awesome & amazing dev
I followed along with and made the spider procedural video. Thanks for that. I might have to check this out. How long is it on sale?
The sale duration and pricing is controlled by Udemy, so I can't say exactly how long it will be discounted for. It may just be for the first 24 hours but I don't know for sure how their pricing system works.
hello is this course teaches how to replicate this procedural animations?
Yes, the course goes through showing how to create the system entirely, so that you can create similar systems and make improvements to it as you need for your project.
It also includes the completed version, which you could use or add to :)
I would recommend following the course so that you can make any necessary improvements rather than just using it as is.
@@LincolnMargison Lincoln Thank you this course is awesome :) Can you expand this with mantling vaulting etc... like advanced locomotion system
@@abdulmelikdonmez4956 I'm working on testing something like this currently, but for now I would probably recommend just integrating regular animations for vaulting. You could still do procedural IK to make hands line up and such, but I think the overall motion would maybe be more suited to keyframed animation.
Is there a way to use this tut for development within Unity?
It's certainly possible. You would have to have a good understanding of how it is all working, to be able to translate it to Unity. And you'd probably need quite a solid understanding of Unity to be able to replicate it all. I don't know how easy/difficult it would be to do certain things, but I know it's possible as other's have done it.
wow amazing job
Are these trained through neural networks?
No, manually designed. The course shows the logic of figuring out parameters/adding features/etc.
How does this system fare with steps / stairs?
The body height is interpolated gradually, so it will walk up smoothly, and the feet will predict the step height. The main thing you'd need to figure out and tweak is how fast the actual character (eg. the character BP) moves when moving up slopes/steps. By default, if you just ran at a stair case, you'd go up very unrealistically fast. So the animation would look unrealistic. Whilst in real life, walking upwards would slow down your horizontal speed, and you'd likely walk up the steps slower than you'd run up a slope etc.
So to make things look their best, it would take some work on the BP side of things too. And maybe even some tweaks to what control rig is doing with how it predicts and places the feet. Depends on the requirements/needs and how frequently it will be seen in the game.
Wow, is it possible to mix this system with keyframe animation, lets says I have a pistol shooting animation, done in blender and I wish to mix it with this.
Yup. You can blend animations on top or before this setup in the animgraph (the control rig node can be treated like any animation node, so you can do any blending methods you would do with regular anims).
You could also just pass it as the input the pistol holding/shooting animation, and skip the part where we animate the arms at all, and just keep them locked in place. So then you'd have the rest of the body in motion but the arms remaining where they were.
@@LincolnMargison Thank you so much.
i'm just starting in unreal... what is the difference between procedural and the "normal" animation?
Procedural animations are generated using a 'procedure', meaning they are generated on the fly using logic and variables/inputs, rather than pre-scripted. With ordinary animations you specify exactly how everything will move on a short timeline, which will loop when the character is running, and blend to something else when they're walking, and so on, where you would create a bunch of different animations for different scenarios.
When it's procedural, it's figuring out what to do based on the situation. So if the character is moving slower, the legs don't travel as far, as a simple example. So instead of having a 'fast' and 'slow' animation that you keyframe manually and then merge, you create a system that maps 'how fast the character is moving' to 'how far should the leg reach forward'.
It has a number of advantages, but also disadvantages. It takes times to set up the system, and takes more thought/logic to get to look how you want, but once the system is in place you get a lot of advantages where the animation can interact with the environment, or be easily modifiable by just tweaking some numbers (not having to re-animate everything again).
I would say if you're a complete beginner with Unreal engine and gamedev in general, this course may be difficult to follow as a complete introduction. So perhaps explore some other tutorials/courses to get familiar. There's a free procedural animation tutorial on this channel for creating a spider-walking animation which may be easier to follow along with.
@@LincolnMargison thanks a lot for the answer, you are great ! I will look into it!
what if i cant afford the course ?? is there any where else good to learn this information?
I have a previous video on this channel for a procedural spider animation, which teaches the basics. The difference with this course is that it goes into more specifics that are required for human animations (which need to be a lot more detailed to look 'correct'), but if you'd like to learn the fundamentals and the general idea of how to do animations within control rig, that tutorial should give you an idea. And from there you can just experiment with applying similar processes to humans, and try to identify issues and come up with solutions to problems as you go.
sale for $15? yes please, instant buy
Thank god
It is possible to combine with ragdoll, do some self balancing ragdoll ?
Sure. For this, you'd want to use the physical animation component, or 'physics control' which is the newer one.
@@LincolnMargison it doesn’t move when I apply physics even tho I use physical animation
How would this work with network replication?
Copied from a previous reply to another comment:
"It runs and is calculated by the client (same as regular animations), and the movement is primarily dictated by the velocity of the character. Velocity will match for all clients on a multiplayer game so everyone should see the same result and there should be no complications/issues there.
The only thing I would mention is that if you NEED your animations to be in perfect sync between clients (EG if you had per-bone hit detection and it was a competitive shooter like Valorant/CS), extra care would need to be taken to make sure that timers stay in sync - which would be true for regular animation methods. And you may benefit from making the 'foot landing spot' decisions simpler and more predictable, so that all clients calculate the same position to move the foot to. The way I show how to create it in this course, is it searches around (every frame) for the best landing spot and chooses that. But due to slight differences in positions/traces/etc it could find a different 'best spot' on another client unless you made it more predictable/limited."
Very cool stuff, bought this immediately. Are you planning to make other similar courses? Would be cool to see a fully procedural tpp/fpp shooter.
Yeah I'll likely make further courses, unsure on what topics though. Future topics won't necessarily be about animation/animation systems, and I've had my eye on making a VFX course as I've done a lot of experimenting with Niagara, and most of the existing tutorials/courses don't really 'teach' it, just show you what they did for an end result.
I think for future animation stuff I'm more likely to post it here than to make a course centred around it (as I think the existing one should give most of the groundwork needed to make your own stuff).
Course Acquired!
Im wondering if you could do something like that but in unity
I've spoken to a couple of people who are taking the course to try similar in Unity, and I've heard from them what is possible/feasible within Unity and this definitely should be. It's not doing anything that is only possible in UE for example, doesn't rely at all on physics engines or anything like that.
I may explore it myself at some stage
@@LincolnMargison so if I were to buy the course do you think i would be able to replicate the steps inside unity? Beacuse im trying to make a game with as much realism as possible and regular keyframe animations even with inverse kinematics on aren't it. Beacuse they are really snappy and janky when for example quickly changing from going forwards to going backwards.
@@theFishy_ It depends on your level of experience with Unity I guess, and your general understanding of things like vector math / angles etc. I wouldn't like to say for certain that you could replicate it in Unity because I've not done so myself, but I'm very sure it's possible.
I would definitely assure you that there'll be useful info/ideas to use from this course though, even without following the actual steps. So, if nothing else, it should give you a good overview of how to create a system like this in Unity. But I think the steps will map 1:1, once you add in a few necessary functions (eg. apparently Unity doesn't have a 'float remap' built in, which is something I use a few times, but the code for that is a single line so it should be easy to implement).
Is it replicated?
It's all calculated clientside, based on the velocity/movement of the character. So if the character movement is replicated (any multiplayer game) then all clients will be seeing the procedural animations.
If your game requires exact matching animations for all clients (eg. identical hitboxes matching the server) then more care would need to be taken with the cycle timing and such, which is true for any form of animation system (incl keyframed anims with blendspaces) to make sure it's all synchronized.
would love to see this done in raw cpp
I'm working on something now which will be similar and likely end up being C++ only
this or the new one?
Why not both :)
But really it depends what you're after. Take a look at the course descriptions and videos to see which would suit you best. This is more focused on human walk/run cycles specifically, and more advanced/difficult. The other would work as a better intro and more general overview of controlrig.
@@LincolnMargison I've since completed ctrl rig and just purchased this one to complete after my current project. I really love the structure and presentation and find it so useful to go back to. These techniques are empowering my goals allowing me to quickly create an expressive character for my unreal projects. I cant wait to dive deeper using this course and just wanted to come back to further express my gratitude beyond the 5 star review.
Cards on the table ive paid to go back to college studying games development and found the resources lackluster and tutors mostly clueless as to what to do to teach unreal. Ive used the study time to independently seek resources that help me quickly realise a creative vision. Thanks again Lincoln for your hard work and sharing it!
Does not not work anymore
Thus is works
@@LincolnMargison when opened hands are spread out wide like t pose and not like the video
@@user-xc3qs6in2l Are you sure you're using the correct engine version?
@@LincolnMargison 5.1
@@user-xc3qs6in2l It should still work, nothing has changed with 5.1, currently working on my end. Perhaps try to re-open or re-extract the project? If you're still having issues you could join the discord server and I'll help you out in there
The concept is pretty cool but the end results not so much. The movement looks strange and awkward.
I don't want to be rude, but this animation is the complete opposite of great. Not insulting you, just pointing facts, to create a good procedural animation you'll have to spend enormous amount of time, and it still won't be nearly as cool as keyframe/mocap animation could be. So to achieve good result you'll have to somehow combine best parts of both worlds
To the "it still wont be nearly as cool as keyframe animation could be" - is there something specific that you can do with keyframing, that can't be explained in words / logic / reasoning / numbers? What is the limitation you're assuming here for doing it procedurally? Are you comparing with keyframed animations that anyone can make, or comparing to what AAA studio animators produce? Top animators, using a method which has been collaboratively refined for decades, compared to any non-animator making a system for it, is going to appear unbalanced. But anything you can know or think to do when keyframing, you can condense into some form of logic and do it procedurally.
The goal here is to show the groundwork/methodology for making the system. Similar to if you watched a 'how to animate in Blender' video which just showed how to move bones and set keyframes. That wouldn't be AAA quality animations either, but would be showing the fundamental process of it. There's a lot of knowledge/skill/refinement/style to do on top of just pressing the 'keyframe' button, and you wouldn't judge the methodology based on a video which simply showed how the UI works in animation software.
In theory you could program every frame of an animation cycle and it'd be identical but *technically* procedural (extreme example but to show that there's nothing you can't do). Or you could layer it with a mocap idle animation to get additional randomness, or just program in some smart randomness / physical impacts based on velocities etc which would add a responsiveness/dyamicness not possible with keyframed/mocap.
@@LincolnMargison "is there something specific that you can do with keyframing, that can't be explained in words / logic / reasoning / numbers?" - *Yes* . That's exactly the point. This is why we're using mocap for body / face realistic animation in gamedev.
On paper you can create an "ideal" algorithm for a walk cycle, combining a lot (a lot) of logic and curves to recreate all body mechanics, but what makes a walk cycle truly believable - is the deviations from the perfect. Each walk cycle is unique, and it's not just random noise, it's a lot of little peculiarities connected to the character, and which is hard to program.
But the human brain is very good at recognizing these peculiarities at a subconscious level, that's why some time ago people figured out it's actually easier just to hire a suitable actor and do the mocap.
@@LincolnMargison And if mocap can not be used - then animators usually film a video reference and just recreate it in the 3d software.