Advanced animation techniques - Space switching fundamentals in Blender

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi everyone this is eric from p2 design this video is an introduction to space switching it's a super powerful technique that can be used for both characters or motion design it allows you to generate additional animation by sourcing the base motion of your character for example with this method i was able to get from this basic walk cycle to this super detailed walk cycle in a few minutes this lesson is a free sample from my new animation course alive that is now available you will find the link in the description below enjoy in this video we are going to use the constraint we've just seen before to animate the different part of the robot character using the base motion we have created before to do so we will use a method called space switching this is an oftenly overlooked technique but it is so powerful i've been introduced to this technique and learned a lot of things through the animation sherpa course by richard licco he's one of the coolest person i know and beyond that he's one of the best animators in the game industry i will just show you the very basic of space switching but if you enjoy it and get comfortable with this animation course i truly advise you to take his animation course afterward so let's start with a simple up and down animation what i'd like to do is make bone b react to bone a having a bit of overlapping animation and instead of doing it by end as we did for the bouncing ball or our squirrel character we will use constraints the id is to source the motion of bone b in word space and slightly offset it in time don't worry this will make sense in a few seconds let's select bond b press shift s and snap the cursor to it let's switch to object mode and add an empty we want the empty to behave exactly as bone b to do so i will select the empty go to the constraint panel add a copy location panel and source the armature then i will select the bone b now our empty is following the bone b in space it is copying its location in word space and i can no longer move it but we don't have any animation information we can play with the graph editor is empty so what we need to do is to convert the current motion of the empty that is due to the constraint in an actual animation and we can do this through baking to do so let's just have our empty selected press f3 and search for bake we will choose the first one object animation bake action the bake action panel will open here we can set the length of the action we want to bake from frame 0 to frame 25 i always used visual keying so that i'm sure that all constraints are applied when writing the action and we want to get rid of the constraints so i will enable clear constraint i won't use overwrite current action since our empty don't have any action yet as i press ok blender will get rid of the constraint and i do now have an action pulled into my graph editor if i play the animation i can see that the empty is kind of following bone b but it's no longer constrained to it its animation is just similar as bone b i will clean up the channel i don't need and keep this d location only now we have data we can edit we can offset the keyframe or edit them and since those animation data are assigned to a single object they are using word space while bone b has no motion in its local space it is not animated it's just following bone a our empty does have an animation but it is visually doing exactly the same thing as bone b now to see the power of space switching let's select our empty in the curve press shift e and add a cyclic modifier if i now select all the keys press g and x and offset them a bit in time you can see that now the empty seems to have a follow through animation compared to bone a so if i now select my armature go into pause mode select bone b we can access the bone constraint so be very careful we are not constraining the amateur object but the bone so we need to go into the bone constraint not the object constraint from there we can add a copy location constraint and then source dmt now bone b will follow the motion or the location of the empty from there we can press f3 and search for bake or in my case i've added the bake action functionality to my quick favorite so i can press the q key to access it i will use the same option visual keying and clear constraint and i will add overwrite current action now bone b is no longer a constraint but it's following the same motion as the empty we can now get rid of the empty and check the curves of bone b all channels have been written but only the z axis channel is interesting for us you have just performed your first space switching exercise let's now see what we can do with copy rotation in the example file you will find a second collection with the copy rotation example it's a simple chain of three bones with bone a being animated it's a simple back and forth rotation on its x-axis bone b and c are simple children without any animation let's go back into object mode and add two empties for the sake of presentation i will add on the first empty a copy transform from bone b go to the constraint add the copy transform source the second amateur and bone b now our empty is snapped onto bone b for the second empty i will add a simple copy rotation and solves the same amateur and bone c the first empty is now copying both the location and the rotation of bone b but in the end what is interesting for us is only the rotation if i was to isolate the motion of the first empty that is also copying the location he will be rotating as the one above but it can be a bit confusing to see only the rotation of dmt whenever the bones are currently childs of another one and their location is also changing but in this case we will only affect their rotation so i will switch to a simple copy rotation and sorts bone b and i will select both empty press my q shortcut and bake the action now both dmt have lost their constraint but we have animation data so we can now use those two empties to constrain bond b and bond c but first let's make sure that we have all the curve selected for both empties press shift e and make cycle now let's select the armature go into pose mode select bone b go to the constraint panel add a copy rotation constraint and source the first empty big mistake here we've added the constraint onto the object as explained before we need to use bone constraint so let's add a copy rotation source the first empty select bone c add a new constraint and source the second empty from there when we play the animation nothing changed since those two bones are copying the rotation of something that was copying their rotation previously but if i now offset the curve of the first empty by one or two frames you can see the chain of bones changing and if i now also offset the second empty by three or four frame i will get an overlapping motion of my whole chain so the id is to offset by one or two frame the first empty then the next one by one or two additional frame so three to four frames and we get our overlapping motion for free from there we can select the armature go back into pose mode select both constraint bone and bake the action and choose overwrite current action and we can get rid of the empties and we have our animation done let's see a first example with aimspace i have the sweeping motion but i don't want b and c to get through this plane to create the tracking constraint we need first to add a couple of empties and then to those empties we will add a copy transform so that they follow each bone so i will source bone b for the first one and bone c for the second one this way both empties are perfectly aligned with each of their target now to be able to get rid of the constraint but keep those transform we can press ctrl a and choose visual transform i will do this for both empty and get rid of their constraint but the cool thing is that now their transform channel as the same transformation as bone b and bone c but in word space so if i go into my empties properties editor and switch to arrows as a way to display them you will see that they are now aligned with bone b and bone c they are sharing both the same orientation and position in word space we now need to offset them so i will switch the pivot point to local with both of them selected press g and move them on the y-axis so that they are still aligned with bone b and c but they are further away on their local y-axis now for them to follow the motion of bone b and c i need to make them become child of those bone and we can use a new constraint that is the child of constraint it's a very handy constraint that will make the owner behave as if it was a child of the target as a target let's source the armature and then boot b we can see that the empty got offset just click set inverse to reset its position and let's repeat the process with bone c and the second empty source the armature choose bone c and click set inverse now if we play our animation we can see both those empties following both bones let's select both empties and bake the action or bake the animation as before whenever we are breaking the action we can choose to remove the constraint and we can see our empties still following the motion but now they do have animation data we don't need any rotation or scale here so we can get rid of the rotation and scale curve you don't need to do it it's just to keep the graph editor cleaner now go back on the armature in pause mode go to the bones constraint select dumped track constraint and source the first empty then repeat the process with bone c add a dumped track constraint and source the second empty when we play the animation as usual nothing special happened but if i select the first empty press shift e to make all the curve cyclic and then offset them by one or two frame we can see our bone chain of settings and if i repeat the process with the second empty but offset it by two frame now you can see the chain animated with a bit of overlap it seems that the make cycle function didn't work on this curve so i will fix this and now if i want my chain to avoid getting through or clipping with the plane we have created i can simply work on the curves or the animation of the different empties so i will select the first empty and work on its z location curve i will try to spot the key where it goes under the ground and i will select the key and offset it a bit on the y-axis in the graph editor so that it gets a little up i will then go further whenever it's leaving the ground and i will duplicate the frame i've just adjust on top of this one those two keys represent our ground level and i can get rid of any keys that goes under this label i can now repeat the process with the second empty isolate the c location curve spot the moment where it goes underground then align its position with the ground go a little further duplicate the keyframe and get rid of any keys that are under this level and when i play the animation now it seems that this weeping motion is stuck to the ground then as usual we can go back onto our bone chain and bake the action and if there are any glitches in the animation you can remove a couple of frame to get a smoother transition using aimspace is a super powerful workflow don't worry if you get a bit lost at first we will repeat this process a lot of time on the robot and you will get very familiar with it now in the last example we will see how we can combine both the copy location or location switch with this aim space to do so i've created another armature with another animation it's a simple up and down motion with a little bounce so it's pretty close to what we have between the body and the cannon of our robot we will start with the location offset with my bone b selected i will press shift s to snap the cursor to it and add an empty to this empty i will add a copy location constraint sourcing d amateur and the bone b now the empty is following the motion of the bone b in word space i can press my q key to get to my quick favorite and bake the action i can get rid of all the curve but the z location curve press shift e and add a cyclic modifier from there i can slightly offset the curve in time by one or two frame to get a nice overlapping motion i will then select back my armature go into pose mode go into the bone constraint add a copy location source the empty and now bone b get this overlapping motion i can press q and bake the action i won't delete the empty because we will need it to currently create the aim space constraint so the first thing to do is to align dmt on the bone b so let's add a copy transform constraint to the empty and source as a target to bond b let's press ctrl a and apply the visual transform we can get rid of the copy transform constraint and if we want we can go to the empty option and switch to arrows to see that it is oriented the same way as the bone i will offset it along its local y axis and now we need to add a child of constraint to it sourcing the bone b click set inverse to reset its position and it's now following the motion of bone b as if it was a child of it let's bake this animation we can cleave the curve if we want getting rid of the curve that doesn't have any animation then press shift e and make the current curve cyclic then we can use it to constrain the bone b using a dumped track constraint if we now select back the empty and offset its curve in time we will have a bit of follow-through animation in the rotation so we have offseted the motion of the bone b using a location offset and now also using a dumped track constraint the cool thing about the dumped truck constraint is that it's very easy to smooth a curve if for example i don't want that much bounce onto my bone b and i want a smoother transition as if it was very heavy i can get rid of some keyframes offset a bit the lower key and it will still follow the original motion of the bone b location wise so the base of the bone still have a pretty crispy and sharp bones while it's tip that is pointing toward the target or the empty get a smoother motion the last thing we haven't seen regarding any constraint is that we can reduce the influence of the constraint if i want to reduce the amplitude of the rotation of the bone b it would have worked the same with any other influence such as the location constraint the bounds would be the same but with a lower amplitude from there we can bake the current action onto the bone b don't worry if you're a bit lost at first just try to redo the exercise you've just seen we will repeat this a lot through this chapter so you will get familiar with this technique very fast learning those techniques will become a huge time saver for you later in the course to summarize we have seen that we can use constraint and animation baking to sort data from a specific motion and transfer them onto another bone or another object we can use copy location and copy rotation to create nice follow-through animation with ease we can have even more control upon rotation of the target using a tracking constraint such as a dumped track constraint we can use multiple constraint to create complex mechanism in a view click and finally we can use the influence of the different constraint to add more or less amplitude to the motion we are creating you
Info
Channel: Pierrick Picaut
Views: 20,527
Rating: undefined out of 5
Keywords: blender3D, modeling, shading, rigging, B3D, p2design, sculpting, digital, animation, cartooning, rendering, CYCLES, tutorial, Pierrick, Picaut, Pieriko, 3D, Computer, Graphic, blender, eevee, VIDEO GAME, rig, animate, stylised, best, Blender, art, digital art
Id: v_-ChsrZ8f0
Channel Id: undefined
Length: 21min 6sec (1266 seconds)
Published: Thu Aug 19 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.