What's The Deal With Procedural Animation?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
procedural animation what is procedural animation is this procedural animation what about this does it become animation if it's used to tell a story is a particle effect procedural is a fluid simulation animation what about this fluid simulation despite the intro I'll be focusing primarily on procedural animations such as for animals and robots but I wanted to illustrate how what we call procedural animation depends just as much on the context is being used in as in what's actually going on we wouldn't typically call a particle effect of procedural animation for instance but a procedural animation is defined as an animation that is the simulation of motion through frames using a series of equations rather than frames drawn by an animator another example being a bouncing ball we would consider this an interactable object not a procedural animation but it could be animated traditionally in a game or it could be animated procedurally in a film regardless these sorts of physics-based methods are the only ones that can really be described as completely procedural with most techniques falling onto more of a sliding scale from traditional to procedural at the very top we have shape Keys being used as a kind of clation then Armature animations then we have armatur animations that are built with inverse kinematics in the middle we have things like procedural Gates using inverse canomatic or parkour systems as well as animated soft body such as ragd doll systems and finally at the very bottom we have things like physics simulations which are completely procedural as you can tell the middle section there depends heavily on inverse kemetics for a simple example of what this means exactly imagine a robot arm in an object it wants to pick up how can the arm move to pick up this object inverse kinematics is an algorithm that figures out how to solve this problem but it won't necessarily produce naturalistic motion as seen here for example if we grab an object with traditional animation how it is done says a lot about the internal state of the character compare this to inverse kemetics where it's much more robotic and it doesn't give you any insight what is this character feeling as he collects this object is he scared he must be right because he's in a horror game but that's not shown by his animations think of your procedural animation as a chair in the inverse kinematics would be the screws that hold together there's a lot more to the chair than just screws it's also not a cheat to get things out faster it's a lot more work than traditional animation and in the time it takes you to set up an inverse conc system and set up procedural animation that doesn't fall apart you could have already learned traditional animation blender and started implementing it that said inverse kinematics is also not something that requires a dumb High dumb High 189 iqq level is 189 if traditional animation is easier and more expressive why use procedural animation at all basically because circumstances are unpredictable for an easy example consider this animation of open opening a door I have this animation for opening a door but if I move the character to a different spot and play the animation it is no longer working correctly the character needs to be in exact spot for the animation to work you can also see this in opina of time or Majora's Mask when link needs to open a door the game teleports him to where he needs to be to play this animation later games used inverse kemetics to modify animations such as foot placement and Wind Waker you can see Link's feet are properly on the steps this was a new capability of the time and gam suers are all adding this as a tech demo to the games he can also open doors without teleporting small details like that are often handled procedurally another example being the ha simulation in Horizon zero Dawn this being a kind of mass spring system where it's based on correcting distances and iterating rather than on hooks law and of course we can't forget parkour systems like in Assassin's Creed these depend heavily on reverse kinematics to reach hand holes essentially all these systems work the same you have a sort of abstract animation where you move particles around and set those particles as Target spere inverse kemetic system so in Assassin's Creed and similar games with climbing mechanics the particles Target handholds while in a gate system the particles are being moved around by the by a foot placement algorithm when it's time to take a step the particle interpolates in Exposition creating this kind of effect where the foot kind of slides across the ground there's a fundamental issue where neither traditional nor procedural animation systems can handle walk Cycles very well at all for example if you're going downhill normal force of the hill on your foot will move it through the gate cycle at a different speed than it would on a flat surface and this really can't be captured by a traditional walk cycle similarly how spongy the ground is or the speed of gravity or mass of the animal will change all it moves like how in the Apollo missions people started bouncing around because that's just how our limbs push energy into the ground similarly the way that animals transition between Gates is not at all captured by traditional animation blending such as blend trees the aquad troped can walk Canter Trot Gallop Etc but there's no halfways there's no halfway between a block and a caner as there would be if you try to blend between them with a blend Tree in unity as an animal speeds up it will go from a fast walk and then suddenly pop into a slow caner with no sort of in between but this isn't the same as having no transition animation where they kind of Pop between two key frame but animals do this and minimize their energy expenditure if we look at when they transition from walk to a caner and when they can't transition from a caner to a trot these points are highly energetically unfavorable this is why it's so hard to teach your dog to walk next to you on a leash if you aren't walking the exact natural pace of their gate then for them it's like doing one of those walk and talk scenes in games where the NPC is slower than your run speed and faster than your walk speed it's just hard to match their pace and of course this Dynamic changes based on the size of the animal in general uh tiny animal will never walk on a treadmill it will instead ride to the back and then run towards the front and a large animal does not behave the same as a small animal scaled up they have different walk Cycles because they have different physical Dynamics in their bodies procedural Gate Systems are really hard and this becomes apparent as you look at the different intricacies of the animation you can see how this dog's hips and shoulders rally bounce and response to the steps they sway back and forth as he walks too his spine twists around you can approximate this with a sine wave and do that kind of thing for your procedural animation as done here but that won't be quite right in response to different circumstances so it needs to be done with physical forces and then that becomes very unstable so in many cases this just isn't handled at all take this example this video showcase a procedural walk cycle where the Transitions and obstacles are properly handled and focus on his spine and feet his spine stays rigid and his feet just kind of slide forward in the next position as I said did before because it relies a lot on linear terpolation for foot placement compare that to the these Looney Tunes Clips where the traditional animation is a lot more expressive you can tell what this animal is feeling just by the way it moves but the same is not true of any procedural walk cycle how to games adapt animations for different characters how most games handle lots of characters is to have a few animations that they use for everyone where they have this set of animations that everyone plays because they have the same body layout this is very doable but let's make some slight changes as seen here I high this animation for digging a hole and I make her legs longer the shovel no longer reaches the ground this is called retargeting is basically taking an animation that was meant for one character and applying it to another it usually works but sometimes you have these problems if the layout of the body is just a little bit too different this gets even worse if the bones don't have similar names between the two rigs if one is left hand and the other is hand L the system may have trouble figuring this out although it has gotten a lot better this kind of thing than it used to be it still can't retarget between skeletons with different numbers of limb it can't retarget from a person to a dog and if we look at AI based Solutions like this one by Adobe it can generally only work on humanoids and this one by Google will only produce very robotic motion a very good hybrid approach to use is quite similar to how you'd use inverse chemetics to assess you in animating and blender for example I can set up this inverse kemetics rig and manipulate where the eyes are looking just by moving this empty around that I've designated as a focal point or in this case I can move the leg around and this saves a lot of time for the animator What If instead of baking the result at animation time and exporting that to the game what if you just export these little Target points moving around and then transform the game time to how you need them and then do your okay many of the problems with the retargeting get solved right away because of this because there's a much smaller set of Bones to worry about it only matters that an arm is an arm not if it has an endoskeleton or an exoskeleton or even no skeleton at all the points are animated using traditional animation and algorithmically transform based on the circumstances we then Target these points with inverse k ICS and we have these nice animations that have the expressiveness of traditional animation and the adaptability of procedural animation creature Creator is a game that has a similar approach you can see by looking through its code that when it animates it functions by selecting something that it wants to Target with inverse kemetics just like how I Target this in blender and then it applies a key frame to it unless the inverse kism kind of figure out what to do but this is no way to make an animation and the reason the animations are also simple in this game is they have to be when you write your animations by actually writing out to rotate by this much on this body you don't have much ability to visualize how small changes will actually change how it looks you don't have much ability to actually animate it artistically it's all just programmer art another approach can be seen with Unreal Engine using control rig where you use a network of nodes to create procedural animations this has very much the same problem there's a lack of artistic control and a difficulty in visualizing how these nodes will produce changes in the look and feel of Animation enter spark a program made specifically for creating animations for these full body ik systems it works in much the same way the animations in sported by creating a generalized animation file that can be specialized to work on any creature so for example we can create an external Target representing a fruit and move the hand over to it because the animation is defined in terms of hand and fruit it doesn't really matter where we move the fruit to the animation still plays just fine we can further adjust the curve so we Arc over to the fruit instead of just robotically reaching towards it as with prior Solutions so the game engine can set where the external Target is and we can use spark to author the way the appendage will Arc over to the object similarly in this case of hitting the ground is defined in terms of arms and ground so it doesn't matter what character apply to or how far they are from the ground character will still hit the ground or in this case where I have many models playing a handshake animation despite having very different armatur they play the same animation even if they don't all have hands spark leta's author conditions into the animations to control a variety of circumstances wrapping up our exploration of procedural animation it's apparent that procedural animation is a Cornerstone a flexible game design but also that it isn't a binary choice between traditional procedural animation rather procedural animation is best used alongside traditional animation to enhance it and make it more flexible
Info
Channel: Geat
Views: 29,062
Rating: undefined out of 5
Keywords: Inverse Kinematics, Spore, Procedural Animation, Cyclic Coordinate Descent, Fabrik, Retargeting, 3D Animation, Animation, Gait Systems, Walk Cycles
Id: ZSSuXn0iJbY
Channel Id: undefined
Length: 11min 23sec (683 seconds)
Published: Sat Dec 09 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.