[Blender] Making a 3D Trail Running Loop Animation w/ Alexandre Albisser Part 1: Initial Setup

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi everyone my name is Alexander aliser and I am a French freelance 3D artist in this series of 10 tutorials we will be making a really cool procedural trailer running infinite Loop animation we will be using blender geometry nodes and simulation zones a bit of scripting some media audio processing using abaton live and compositing in DaVinci Reserve this first episode will be focused on the scope of the project and the base setup of the character assets so let's get right into it I started this tutorial with the idea of having a character run across an infinitely generating terrain forming right under this feet in a realistic style in order to not have to work with a realistic character I wanted to have an invisible man with only his cloth so I made this quick photo monage as a reference to make things more interesting we blend between five different animations depending on the slope of the terrain then we will efficiently generate an infinite trademill terrain we will need to implement the blending of the animations also retime and synchronize them with a simple script then we will start the procedural environment to re work soil and grass design an interesting character and add lighting and texture add predal wooden bridge biomes some procedural Trail signage entries other biomes then we will work to make the animation Loops by overriding the simulation and finally we will make a simple script to bake the German data to a midi file which you can interpret to make procedural footstep sounds before compositing everything and adding sound design to make everything easier and because I am not a great character animator we are going to get all our motion capture data from the free Adobe asset library at mix.com first let's select the maning character which we are going to use later and for the animations I will start with the working animations type work I will start with these work animations just select it check in place and download it this one will be work normal now for the slower one which is going to be this one I'm doing the same check in place and download it I'm just going to call it walk heavy for the running animations we'll do the same with first this one which is going to be the fastest one then scroll a bit we'll take this one and finally right beside it we have our intermediate running one which is going to be run fast and here are the five animations we downloaded and the name I gave them in a new and empty blender scene let's import our Moab data let's move on to the animation Tab and in order to test the setup of everything I'm just adding a quick displaced mesh that will emulate the terrain we create later just add the plane subdivide it a bunch of times add a displace modifier with a new texture set to Cloud a subdivision surface modifier and set shade smooth I going to call it Teran Collision realized so the setup we need to do with those animations is to make sure the feet of the characters are always snapping to the ground and this is what we are going to test with the mesh I just added cuz at the moment all the animation are just set up to work on the flat ground when imported a mix Amo animation is just set up in a way called for kinematics which means that to move the end bone you must move all the bone along a chain which is not really nice so to easily make sure that the feet are always staying on the ground we need to switch all that from forward kinematics to invert kinematic itics luckily mix made a blender add on to do just that so once it is downloaded and installed you just need to click on your arure and click on create control rig now if you go into pose mode and move the control for the feat you will see that all the chain is correctly recomputing so let's switch all the AR Mater we just imported also when imported the mix animation data is just a bunch of key frames but to work with it easily later we need to freeze all that to work with the animation in a single block which is called an nla strip so move up the second timeline in the animation Tab and switch it to nonlinear animation here we have the five animation we just imported displayed properly so the first step is to give everything its final name so let's rename everything both the strips and the arm mature the longest will be work heavy then we have work normal run normal run fast and finally run fastest now it's rename we can push down all the action to freeze the nla strips now let's correct the fit position let's just focus on a single rig I'm going to work with r normal select everything on your ground and click shift H to isolate this selection we are going to add constraint to the fit control boxes so they are always St on the ground let's first do that with the control foot on the right select it going into B constraint and add a shring craft constraint for the Target select our Teran Collision realized at the moment it is just sticking to the nearest surface point it might just want to stick everywhere and move from left to right so to fix that we need to change the mode from nearest surface point to project set face SC to front that will remove a bunch of bugs later and for for Align to normal you can set it to Z so that the rotation of the foot will always match the rotation on the ground at this point now if you move around your ground Collision you will see that the foot is sinking under the plane and this is because the foot bone is actually in the middle of the ankle as you can see here which is around1 m above the ground so we need to set this distance here and set the snap mode to outside surface now it works pretty well you play the animation you will see that the foot is always stuck on the ground which is kind of problematic because we still want it to be in the air sometimes to fix that we are going to add the second shrink wrap constraint to the Bone still targeting our plane set the snap mode to above surface and with a bit of a distance for example 0.35 if like here the projection isn't working properly that may be because the scale of your plane isn't set up properly so click contr a and apply the scale another thing to notice here is that when the foot is on the ground it is only starting to check the Collision if the geometry of the ground is already above the position of the bone which I showed you earlier is about .1 M from the bottom of the foot the fix is pretty simple we need to duplicate the first shrink wrap modifier and change the settings so that it first start to snap the foot below the ground to make sure that the corlection will be properly checked and then the second modifier will make sure that the foot is now above the ground the settings will be minus Z On The World space with a max distance on .1 M no face cing a snap mode inside now it will work properly whatever is the position of the ground if the ground is at a reasonable distance from the foot now let's set up the animation of the influence of those constraint we'll work with driver to directly map the position of the foot in the air with the influence of the constraint but first let's rename the constraint for clarity to properly set up the drivers we first need to know the max height of the foot above the ground luckily I already checked everything for you and here are the data for all the different animations we'll store them in each Armature with the custom properties so under the object properties panel of the Armature under the custom properties tab let's add two new properties the first will be called foot z maxcore r for right and the second foot z maxcore l for left and type in the values for the Run normal animations I showed earlier now with the control foot selected let's go to the BN properties right click on the Z value and click copy as new driver under the bond constraint the final one would which is snap foot above ground right click and set paste driver right click again and click on edit driver the first thing we need to do is to add a new input variable to fetch the custom properties we just added the target will be the arure itself which is run normal and the path is just the name of the property we added inside quotes and brackets and we properly get the 0.275 value here now change the type of the driver to script expression and here we want the influence of this constraint to have a value of one when the foot is at its maximum height so the expression would just be location divided by our new variable now if you move around the timeline you will see that when the foot is at its maximum position the influence is around one and when the foot is on the ground the influence is nearly zero now for the influence of the two other constraint we just need to revert that by adding a one minus at the beginning so copy the driver paste it here edit driver and add one minus once it's done you can just copy it and paste it on the first one and now when you play around the animation it works really well and the foot is snapping to the ground like it should now let's mirror all that to the second control box select them both and under the arrow of the constraints you can just copy to selected everything now on the second one we just need to remap the drivers so paste your driver again and go to edit driver because we need to fetch the value of L and the same for the first properties which is going to be to control foot ik left and we can leave everything else the same copy the driver and paste it on the second constraint and on the third if you remember correctly we just need to remove the one minus so that the conate influence is not inverted and there is still one bug to correct which is we need to uncheck the Align to normal on the first foot threshold constraints so just do that on them both and now when you play the animation it works really well and everything is tapping to the ground properly great so now instead of having to set up everything on the four other armatures the easiest thing will be to duplicate everything here and just reassign the na la strips animation of the other animations to this Armature so first let's delete all the other armatures and duplicate the Armature and rig of the one we just worked on let's rename the Armature like before and under the nla timeline we need to add the correct animation for example under the Runfast Armature hit shift a and add the Runfast St trip delete the first one let's do the same for all the other amateurs now after we added the nla strips corresponding to the armateur we also need to rename the strips itself so just select the name of the Armature copy it and paste it right here and we also need to change the foot Vmax value for each of the different Triggs to those values and now all our five armatures are properly set up to have the foot Snap On The Ground let's clean up everything a bit by also renaming the meshes we are not going to use all those armatures and meshes directly so let's select all this and put it in a new collection which I will call animation Library next I want to parent all the armatures to a single Mt so I can move them around as a single block add a new Mt and rename it armatur Master select all the Armature then the empty hit contrl p and parent all that now for the part of the mesh that we will actually use select one of the meshes duplicate it and clear the parent with alt P Now power on this one to the amature Master you can also move it out of the animation Library collection and hide this collection now this character mesh will be the main one that we will use so we need to assign it to all of the five different armateur we created earlier and we will work later to change the influence of each Armature on this one the first step of this setup is under the object data properties we need to add a few more vertex groups in fact one for each of the five armatures and for each group we need to assign all the vertices of our mesh and you guessed it we need to rename each one as the name of the Armature and let's also rename our character mesh to main character mesh for clarity after the vertex groups are added we need to add some Armature def modifiers to map our new character mesh to each one of their matures with the right vertex groups and I want to set them up in the order of the slowest animation to the fastest now we need to check multi modifier on each one and just to clean everything up a bit even more we can rename all the modifier and the final step to the setup of the base character is to go back again in the animation library and select all our animation nla strips and under action clip you can increase the repeat Time by huge amount to be sure that it will cover the entire duration of our timeline and now this is it for the base setup of our character and that's it for this first part hope you learned something here the next part will be focused on making the infinite Teran generation and procedurally blend between the different animations feel free to reach out to me if you have any question thank you for watching and see you next time that
Info
Channel: NVIDIA Studio
Views: 3,346
Rating: undefined out of 5
Keywords: NVIDIA, NVIDIA Studio, RTX Studio, NVIDIA Creators, NVIDIA Design, RTX 4090, RTX 4080, NVIDIA Omniverse, NVIDIA Canvas, NVIDIA RTX Remix, GPU Acceleration
Id: Fsvd18oMxGE
Channel Id: undefined
Length: 15min 41sec (941 seconds)
Published: Fri Dec 08 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.