Hello. Thank you for coming to our
Animating in Unreal Engine 5.1 talk. We have got about 52 minutes
of content and 49 minutes to get through it. So there probably
won't be any Q&A, but we will be at the Dev
Hub tomorrow and Thursday if you want to ask questions. I am Tony Bowren a
solution architect. I work with external companies
and help their animation experience in
Unreal be positive. And this is Frederick Nielsen. He is our lead
technical animator. He works internally
to try to make the tools for the animation
experience better. A lot of the stuff he has
done in the last few months is brought into
5.1, so today we're going to show you a
lot of those tools. There's going to be three demos. We're going to start with a box. He's going to
animate a box, which will be very exciting because
this is a special box. You will want to get this rig. Jeremie Passerin created
this control rig box. It's a cardboard box, and
you'll see him animate this. We're going to do
a demo showing what you can do with animated
content sequences and how you can work with those. And then the third demo is going
to be about the new constraint system in Sequencer,
which is going to allow you to constrain any
object to any other control or object. So very excited about this. But the first thing you know
is if you're use Unreal, there's always
secret check boxes inside of properties panels
and project settings. And so Fred's going to show you
some of the new favorite check boxes to make your
environment the best, and also his favorite hotkeys. So Fred, take it away. Thank you, Tony. So yeah, so as I'm-- I'm new to Epic. I've only been here
for seven months or so. But as I was onboarding myself
and learning best practices and figuring things
out, I've been keeping track of
just things that I found made the experience
more comfortable or settings. We'll release this. We will send links when
we put the video out. So this will be
either on the Dev Hub, we will release
this big, long PDF. I'm going to go through
every line here. No, kidding. I'm not. I'm going to go through
just a few of the main ones, like my favorites
of, you should do this when you get started
just to be comfortable. OK. So instead of going
through this boring list, let's just go ahead and
do them in the engine. So here we have
the Unreal Engine. I'm not going to go into
too much detail other than I want to animate something. What should I do? So we hop into the
Editor Preferences. We're going to set
just a couple of them. I am very used to the
middle mouse button panning in the direction I move it. Some people may or may not. I turn this on,
it means it moves like Maya or other software
that might be used to. The other thing that
is off by default is, if I type rotate up here,
the arc ball is turned off and the screen space
rotation is turned off. I'd love to have
them on by default, but for now, they're off. They're there, you just
have to enable them. And the third one is-- Oh, no, there's a couple
of really cool new ones that we added. If I type marquee, this
was a high request of mine when I first started. Is I needed to turn
the camera movement off for the left mouse button. So now when you're
animating, you can make that left mouse button
actually do a marquee select. You'll notice here not every
viewport allows it yet, but maybe at some point it'll be
an option that works globally. So at the very least, you'll
want the level sequence editor set that way. OK. Oh, and hotkeys. Sorry, there's one more. I have lots of
hotkeys, but I'm not going to go through them all. But if you do a search
for parentheses viewport, these are new-- these are all new
hotkeys that we added. So they're all-- you
can see they're all related to animating. So jumping to the beginning
of end of your shot. Scrubbing time, that's
a new one we added. If you hold down
B, you can actually scrub time in the viewport. Stepping frame, stepping keys,
things that you want to do. And I recommend
you just find-- you can see these are the
ones I'm using right now. You don't have to use them. I recommend somewhere
where your hand is that you can be comfortable. Somewhere close to where
your hand is naturally. So if you're animating with a
mouse and keyboard or Cintiq and something else,
just put them in places that you can access
them comfortably. OK. That's it for hotkeys
and preferences. There's obviously a lot
more in that document. You guys can go through them,
pick and choose what you like, they're just recommendations. OK. So let's hop into some
quick just shot setup. I want to set up a little
scene that I can animate here. So I'm going to just go
through one way to do it. There's many ways to set
up shots and animate. I'm just going to show you a way
that we use often internally, where we build a world and
then we build a level sequence and then we kind of-- and then
it becomes a two stage process to open your scene. You load your world then you
load your level sequence. So I'm just going to
show how to set that up. So I have this empty world. I'm just going to add
a couple of cubes. So I add one here. I'm going to copy and paste it. I'm just going to scale them
up, make them a little bigger. Oops! Too far away. I'll come back. I'm just going to move this
guy down a little bit just to create something a
little more interesting. I'm going to hide these
lights and just add a couple of lights,
because why not. We can do such things. OK. Real time lighting, Woo-hoo! So cool. OK. And because I like to make it
look a little bit prettier, I'm just going to do
some little bit of color. OK. A little warm, a little cool. OK, so now we have our world. Let's say-- obviously I
can crank these up or down, whatever. Now we want to add a character. So now I have my world. Let's say this is my world
without the characters. You have a lot of
flexibility, I'm not going to go too deep into it. I'm going to save this world. I'm going to-- I'm going to do it in
my developer folder, and I have one here. I'm just going to
write over this one. So I'm just going
to call it my world. You can call it
whatever you want. So now, I have this. Oh, my other lights came on. Cool. OK, so now what
I'm going to do is go back to that same Content
Browser folder, here, and I'm going to make
a level sequence. I already have one here,
I'm going to make a new one. So I just right click in an
empty area, I say cinematics, and I say the level sequence. I'll call this animation two. And it's empty. I just made an empty
level sequence. But if I double click it, you'll
see now my Sequencer comes up. So the way this is set up
is I have a separate world and I have a separate
animation sequence. So that's why I mentioned
it's a two stage. If you want to bring this up
again, you load your world, you load your level sequence. You can nest them together,
you can do all sorts of really cool crazy stuff. I'm sure we'll do more talks
in the future about that stuff. Add the character. So I have my sequence, oops! Content Browser, cardboard
box, where is the rigs? Oops, props. Cardboard box. OK, so I can just drag
this into my scene. Now you see I have this fun
little Epic Games cardboard box. What's in the box? OK. You also see it got
added to my Sequencer. I'm going to turn
this off right now. This Control Rig controls--
these are track filters. I'm going to get back to them. But if I turn this off, you'll
notice that a few more things appear here, so animation
sequences and transforms. By default, they'll be off. So just if you need
to get to them. OK. I'm just going to
save this level sequence because
now it's created, and I'm going to save my map. OK. So when you're
animating, you're going to want to be in animation mode. Where is my animation mode? That's over here. So when you're in
animation mode, a few important
windows get added. So you have your-- this is your main
animation window. These are where our tools and
plugins and some options are. Pose, Library, Tween tools,
Snapper, Trails, Temporary pivot. And also down here, your space
switching and your constraints. Might be a little hard to
see for you in the back. You have spaces and constraints. So this is an important
one obviously, because that's how you get
to all your tools and stuff. Oops. Where did you go? I'm sorry. Another important
one is Anim details. This is-- why can't
I grab that edge? What is wrong? OK. So the outliner, there's
an Anim outliner down here, which is really just your
controls in your rig. So you could use this as a
selection set if you like. The Anim details is very
similar to the details, but with more information
that's relevant to the controls and the rig that
you're touching. So in this case, you can
just see the transforms of each of these controls they
select them in the viewport. So let's just go over
the rig really quick. They're-- sorry. There's a couple more
settings I want to change. I'm going to change my
frame rate because I'm used to 24 frames per second. I'm also going to turn off -
this is a new option as well - auto expand
nodes on selection. All that means is, I
think by default, it's on. And what will happen is, every
time I make a selection change, my Sequencer opens up again. So any of you
who've experimented with animating in the engine,
this might have been annoyance. It was one for me until
we added this option. You'll see it keeps
opening that up. So if you'd like to have
a nice condensed timeline, you're going to want
to turn that off. And you can hotkey it, you can
turn it on and off as you wish. So now, when I make selection
changes, it no longer opens. So you can kind of stay
more condensed and clean. And then the third
one is auto key. That exists right here. Let me do this. It's off by default. You're
going to turn that on. What that means is if you
have a pose on a character, you go to another frame
and you change something, it'll add a keyframe for you. If that's off, it won't. So if you pose a bunch of things
and you haven't hit set key, then you'll lose that pose. So just know that. That is another thing you're
going want to turn on. OK. Yeah, so the rig. Really quick, there's
a few simple controls, but they're really cool. I have the global
controller here, I have a body, which is
a center of mass control. I have some squash and stretch
that we built into this so you can kind of just
manipulate a couple of controls and get really cool squash
and stretchy kind of funness. You have a middle one, a
top one and a bottom one. So you can kind of
push on any direction. I can rotate these flaps. So I'm just going to-- I'm just going to set a keyframe
on the whole character really quick. Do this. And let's just pose these guys. Do this. Change the space. So I can just close the box,
and then grab these two guys, and close the box
a little bit more. OK. So we have that. So we have our first pose. OK. Now, let's just create
a little animation. I want to have them rock back,
squash, stretch, and jump and land on that platform. So how could I do that? I can do that in many ways. I can just animate this
thing, set a keyframe, rotate it, translate it
up so I can kind of fake the feel of that pivot. But that's a lot of manual work. Every time you want
to rock up on an edge, you'd have to do that. So I could use the
temporary pivot tool. And that's something
that was added I think in the late fours or early 5.0. I don't remember exactly. That's-- Jeremiah's here, but. Edit mode and pose mode. So if you go edit mode,
you can move this thing. So I could just move
this pivot to here. And then I go to pose
mode, and now you'll see that if I do the same
thing, you'll see-- at least now it's pivoting from there. But if I continue forward
and now I go down here, well, now I have to move
the pivot again to here. And I can continue
to animate like this. So every time you want
to rock up on something, you have to move this pivot. I'm going to show
you a third way. So I was going to turn
something off here. A third way to do it, which
is, we are leveraging a new rig feature, Control
Rig feature in 5.1. And these things
here, they could look any which way the
rigger set them up, but they're called
proxy controls. And these are not things
that you keyframe, these are things that drive
values in other controls. So you can think of this as like
a cheat code for the animators, because all that stuff
I showed you manually, we've specifically laid
out pivots along this box on every edge, every corner,
even up on the flaps, and these are pivots that
this control is looking for. So if I instead of posing
it all manually, I go here and I just start
rotating this thing, you'll notice that
it automatically feels like it's colliding
with the ground on all sides. So I can rock up here,
I can rock up this way, I can even swing around now that
that is-- so it's dynamically changing pivots for you. But just keep in mind that
this is not actually-- it's not actually
keying, or it's not being keyframed, right? It's only being--
it's throwing values into that comm controller. Both translation values
and rotation values. So let's do that same
animation real quick. So I select this, it appears. If I can select it like this,
and I go a few frames later and I rock it back this way. If you look at the Anim
details right here, you can see as I'm
manipulating this thing, it's feeding values into the
translation and the rotation. So just keep that in mind. It's still feeding values
into that same control. So now I can rock up here, I
can rock up a little further, I can come down. Now, when I switch
pivots, I'm going to want to have a keyframe
there because that's where it's going to then switch. Otherwise, it would just kind
of blend through the ground. So I keep going. Now I pivot up here,
and now maybe from here. Let's just do a jump real quick. So to jump up in the
air and then a landing. Sorry. As you all know,
animation is slow. And I'm not going to be able
to get super far with this. But I'll see how far we can get. OK. So now we have some super
basic animation of this, just going really slowly and
not animating very nicely. The nice thing is, because
these values were all put on this body controller, I
could use this pivot control-- or I don't have to. If I'm up in the air
here, like this frame, I can just now
manipulate this thing however I want because
it's the same controls. That's where those
controls were just going. Or the values are
all going there. And I can just come
down here, and now here, when I'm hitting
a ground again, I can say, OK, well, now I
want to use that pivot again because what if I want to
have them land on the-- oops, sorry. Land on the edge, and then a
few frames later, just kind of settle down again, right? So let's just take
a look at that. Again, super basic. But I just want
to show you, now, with rough poses,
rough timing, what do I do now if I want to
edit some of this timing? You have many ways to do that. I can just go and grab
these keys in the Sequencer to kind of move them around. So I sped that one up, maybe
I want to speed this one up. Maybe I want to grab
all these keyframes. I can select them
like this and just slide them around just like
you would any other timeline. Speed it up. Obviously this jump
is way too slow. I'm going to change
this, faster. So we have that. There's also a new feature
that was added in 5.1. These things are
called layer bars. So above everything
that you're animating, you'll see this new bar here. I can grab this bar and
just shift all the timing. I can also grab the edge of
it, and I can scale and-- like scale the animation. So speed it up. If it's shorter, it's faster,
if it's longer, it's slower. So you can do that. The other cool thing is if you
made a folder in your Sequencer and you put many
objects in there, you'll get a timing
bar above that. So you can shift
timing on many objects, including cameras, lights,
props, whatever you're doing. As long as they're
in a folder, you can re-time them all together. Yep. OK. So curve editor,
obviously is here. Very used in animation. There's lots of cool tools. It's been in there a while, we
made some tweaks to it in 5.1. Tween tool is a tool
that many of you probably are familiar
with in other tools. We had it here in 5.0,
maybe before then. We added a few new ones. So tween was one that
was there before. For those of you who are
not familiar with what that is, if I'm up here between
two poses and I use this-- I just have this control
selected, I use that. Oops, let me do it on this guy. If I use this tween
tool, it blends between the previous
pose and the next pose. So you can use this
as a breakdown tool to figure out where
should in between be. So we pushed tween down the
list and we made blend neighbor be the default. And the reason
is what blend neighbor does, so tween would start at
the interpolated value and then ease to the
key before and after. Blend would start at the
value where you currently are and blend to the pose before
and blend to the pose after. So here, I can
blend to this pose or I can blend to this pose. So you have a lot of
flexibility on how you're manipulating these
characters throughout space. And the other cool
thing, so prior to 5.1, it only worked on selected
controls in the viewport. Now it also works in the
curve editor on selected keys. So I can choose
very specific keys and use that same slider on-- if you look at what's happening
in the curve editor here, it's only doing it to those
two keys that I've selected. You can even do it
across multiple keys. So I can grab all these
keyframes and do it here. And then the third one
we added is push pull. So blend neighbor and push
pull, those are the new ones. They're very cool. And just having the
ability to do in the curve editor is very, very useful. Next demo. OK. Tony's speeding me up. I'm going too slow. All right. Let's talk about
animation sequences and how you can use
them really quick. So I'm going to bring in a
new character, the mannequin. Wherever you are. And this is just a Control Rig
on the mannequin character. Standard biped MetaHuman rig. In here, you can kind of
animate, manipulate it. So control rigs are great. They're really cool. But what's also really
cool is that you don't need to keep them around
if you're not using them. So in this case, I'm not
using this Control Rig, so I'm going to just delete it. So I didn't use it. I didn't put any poses in
there, it doesn't matter, I just delete it. I can always bring it back. That's what's really
powerful about these guys. Instead, I'm going to use this
lane here called animation. I'm just going to
put in a couple of-- turn this guy off. I'm going to put in a couple
of poses, a couple of clips that I can blend together and
just show you the power of how you can import
motion from anywhere, you could bake it
to a Control Rig, then you could
manipulate it and you could bake it back to an
animation sequence if you want. So I click here on
this animation section. I say animation, I do a
search for any animations that are compatible. I have some idols here,
I have some walks. So you see now I just put
a quick animation here. It's just a clip. I can extend it,
I can shorten it. Let's say I'm just
going to do less frames. And then here, I'm
going to add a walk. Let's do that. And now you see I can
actually butt them right up against each other, which
will just mean that it snaps from one animation to another. I can also blend them by
just dragging them across. And you'll see one
will blend down and the next will blend up. So you can blend clips. So any cycles you've set up
and you have it compatible, you can just use them and
blend them together like this. If I want them to keep walking,
I can just extend this, and that walk will
just keep looping. OK? So now how do I
edit on top of this? I want to animate this guy
now, but now it's bake data. Like an animation sequence
is keys on every frame, linear on every bone, right? There's no IK, it's
just FK, joint data. I want to bake this
to a Control Rig. So how do I do that? I right click on the asset,
I say bake to Control Rig. You get the compatible
control rigs here. I'm going to choose
the mannequin body. There's a couple of
options here that I'm just going to ignore and say Create. So now what you'll
notice is it grayed out my animation sequences. They basically were just
disabled here, the active. And now you'll see a
Control Rig was added. And now that same animation
now is on the Control Rig. We basically transferred the
animation from the baked data to the Control Rig. So really easy to bring
things in and edit them. I could hop right into
that in the curve editor if I wanted to. And say I wanted to make
the head kind of look left and right, I could hop
into the curve editor if I wanted to look
through the spaghetti mess of raw keyframes, and start
deleting keys and manipulating this data. But I don't have to
do that in this case, because I just want to
animate on top of this. So what I can do is, similar
to an animation layer, we have this thing
called-- we have these things called sections. So on the Control Rig,
if I click section here, I can say absolute or additive. I'm going to pick additive. And you see now it basically
added a whole other rig here. So there's a second
Control Rig here. But if I look over here,
this says additive. So it's still the same
animation because I haven't added anything. I haven't added any poses
to that second Control Rig. It's a full rig. It's a full set of those
controls, again, a second time. The cool thing, though,
is now I can click here, and now I don't have to
look at all those keyframes because I have no keyframes. So I'm just going to set
a keyframe on the head, I'm going to just
animate the head looking a little bit to the side. Animate a little bit more. So this is what I mean
that it's animation layers. It really is, right? And now I can go over
here, look this way. I can have him come
back to the beginning. And now you'll see the
same animations there, all the little bounce from the
original animation still there. I've just added
animation on top of it. I could even go
to the first frame and change his
posture really quick. So say I just want to pull his
arms out, maybe bend his elbows a little bit. Set key frames. And maybe just make him--
lean him forward a little bit. So I'm just adding this
to that first frame. So now he walks like some
weird kind of C-3PO character. So I've just adjusted the
pose in the first frame. Because it's additive, it gets
added to all the keyframes through time. Oh, yes, and the IK is still
active, which is really cool. Because-- so if I
manipulate this, you have full access to
everything that was in the rig, just like on another layer. So great. Now I've done my tweaks
and now, say, you know what, I want to add a
couple of runs or more clips to it. How do I get it
back to bake data? Again, super simple. I'm just going to save
this just in case. Yes. Sorry, Tony is remind me. I'm going to add some forward
movement to him, just, again, on that layer before
I bake it down. So I click-- let's see. He starts walking here. So I'm just going to set
a keyframe on his global, and then I'm just going to
move him from about here. I'm just going to
do this super rough. To here. So now he's going to
start moving forward. He's moving too slow. So what do I do? I can go to the curve
editor, I can look at-- I'm just going to go here. This is a really
important track filter. I don't know how much time
I'll have to get into this. Selected Control Rig controls. What this does is it filters
down and only shows you, in the Sequencer, what
you have selected. So now as I go to
different controls, the only key frames
and the only controls that are showing up here
are what I've selected. So in something like
Maya, this is what the timeline would be doing. If you pick the head, it
only has three keyframes. That's what you would see. You pick the body, if
you pick everything, it would be additive,
it would show you all the keyframes of the
objects you have selected. OK. So I'm going to go back
to this global, which is what I'm after here. I'm going to look
at his Y translation because we are Z
up, we are not Y up. Just keep that in mind. And I'm just going to
adjust this last pose. I'm going to make it linear. I can change my curve
types here of my keys just because I know
that he's going to hit a constant speed at some point. And then now I can
just grab this keyframe while it's playing even. I can just adjust
till the feet-- [INAUDIBLE] ready. Now the feet kind of feel
locked at some point. That's fine. I'm not going to go
much deeper into that. What am I missing here? Oh, collapsing. OK. So now I have my two layers. I've added my changes on top. Now, what if I want to merge
these layers back together into just one lane,
how do you do that? So it's a little tricky to find. If I right click here, I don't
see it, if I right click here, I don't see it. But if I right click over
here in this blue area outside of where
my keyframes are, there is a collapse
all sections. So you see it says animation
layers, collapse all sections. If I do that, it now has merged
it all back down to one Control Rig. So you see now it's
the same animation. Looks exactly the same. Everything I did, the head
turns, everything is there. And it's all baked down
to one Control Rig. Now, how do I bake it back
down to an animation sequence, because, say I do want to
add a run or something? So I can right click
on the asset up here and I say, bake
animation sequence. So we have baked Control
Rig which was that way, and we also have bake animation
sequence which is back to the other way, right? So if you wanted to export this
out as an FPX or something, you would bake it to
an animation sequence and you could export
it out, if you need it to go outside Unreal, that is. So bake animation sequence,
I'm going to give it a folder pointed to my home
directory, and say, baking demo five, whatever. OK. Again, you'll get
some options here. Export options. This is just exported
to a animation sequence. So you notice nothing changed. It didn't change
anything for me. I'm still set up to be
using this Control Rig. But here, again, now I can
delete this Control Rig. I can delete these two old
clips that I wasn't using. And now I can say,
you know what, I want to bring
that animation back, but instead of a
Control Rig, I want to bring it back as an animation
sequence that I just baked out. So I go back in here like I did
before, and I do a search for-- where did it go? Bake demo-- where is it? Did I not do it? I don't know. Try-- Undo. Yes, you do undo. Let's do it one more time. Bake Demo export. One animation asset created. OK. I don't know what happened. Delete that. Oh! I don't know where it is. Well, it should be here. It's not. Live demos, these things happen. OK. I'll probably just move on. But that is how you do it. You can round-trip, you
have a lot of flexibility. It should have showed up there. I'll try that next time. All right. Let's hop on to constraints,
because these are cool and new. I think that covered
all that stuff. Yeah. OK. So, constraints. This has been a very
highly requested feature for many years now, I imagine. Attaching props to characters
and doing things like that, you would have to do attach
tracks, a whole bunch of blueprints and
a lot of complexity involved in doing that stuff. We've added a full
constraint system into the Unreal Engine that
works with the Sequencer and the curved view. And it has full Python
API that's exposed. So you can write tools
around this if you need to. So let's do a quick explanation
of the different constraints we've added. I'm going to add
a couple of props just to showcase them
on something simpler. So I have a cube, I have a cube. What if I want to animate
these things with constraints? So I'm going to
just-- first, I'm going to grab these two cubes. I'm going to just drag
them into my Sequencer because I know that I
want to animate them. So anything you need to animate,
needs to be in your Sequencer. I think if you just
add a keyframe, it'll just throw it
into your Sequencer. But I'm just doing it manually. OK. So constraints, where are they? So first, you go back to that
animation window over here, and you'll see
here, we have spaces which are your space switching. I'm not going to get into it. It's been in there since 5.0. We haven't changed it. Constraints. If I click this little plus
sign, Oh, you know what, let me move this window where
you can see it a little better. Over here. If I click this plus sign, these
are the available constraints. So we added translation
constraints, orientation rotation
constraints, scale, parent, and look at. Let's just talk
through some of these. So I'm going to start with
the parent constraints, one of the most basic. You pick your child, you
go here, you choose parent, and now, you just
pick your parent. So in your viewport, I say, I
want that constrained to this. Now I've set up a constraint. So now you'll see that
is constrained to this. So whenever I animate
this parent, that-- oops! That object there will
follow, which is super cool. And how is this represented
in the Sequencer? On the child object, there is a
lane under the transforms here that gets added
called constraints. That wasn't there before
I added a constraint. And in there, you can
see the current state of that constraint. This is now active. From this frame is where
I created the constraint, it's now active. What if I want to
deactivate it on a frame? I can go to another frame,
let me just actually animate this guy again. If I go to the middle here
and I want to turn it off, you'll see, this means
that it's active. If I click here, add
an active keyframe, what you see happens is it shuts
it off for you on this frame. So now it's constrained,
now it's not constrained. You can see this parent
now continues to move and it no longer
manipulates the child. So you can animate them to
your content however you want. OK. So let's just go over a couple
other of the constraints. We have-- sorry, to get
to the constraints, again, you have to select the child. That's how they would show up. You'll notice if I pick
something else that has not been constrained, you
won't see that list, because that's how
you get to them. You pick the child, it'll
show you the available parents that you've used for something. OK. So if I right click
on the constraints, I can get to some options. We have things maintain offset,
which if I turn that off, it'll snap to the
joint, or to the control that you're constraining to. We felt the default behavior
should be maintained. That offsets is usually
what people do just to kind of-- they
don't want their pose snapping somewhere else. So we turn them-- we have it turned
off by default. There's another one here
called dynamic offset, I'll come back to that. Scaling, scale
propagation, on or off. Again, we turned that off by
default. A couple other options you can bake your
constraint, this and that. OK. So I'm just going to delete
this constraint real quick. Sure. I deleted my object,
not my constraint. Sorry. OK. So now I've deleted
the constraint. I'm going to delete
these keyframes. Let's just show a couple more-- I won't go into all
of them too deep. But if I do a position
constraint and I move to-- now, it only follows the
position, but it does not follow rotation. If I do a-- I delete it. If I do a rotation
constraint, it does not follow the
translation, but it does follow the rotation, right? And the third thing
just to show here is you can nest them, right? So I can say, I want a rotation
constraint and a translation constraint. So now it moves with it,
and it also rotates with it. But locally. So it's different
from what it was before where it was a parent. Where it felt like it was just
you parented these objects together. Now they're translating together
and they're rotating together. So it's an important
difference and it works like that in Maya as well. People take advantage of
the fact that it does this and build tools around it. So that's why I wanted
to bring that up. OK? So let's just create a
constraint with this guy here. Where is my guy? Let's see. it's my Control Rig. I probably deleted it. I can just add my
Control Rig back. Let's do that. Delete these keys. I don't need them. OK. So we have our character. Again, you can see I just right
clicked and added the Control Rig back. It's super simple. And those-- anything that's
compatible with the skeleton would have showed
up in that list. So you need to kind of
just set some things up. But once they're
compatible, they work great. OK, ball in hand. Tony's telling me. Let's do this. So I'm going to
grab a sphere, I'm going to put it near his hand. I'm going to move this into
his hand or close to it. And I want to constrain
it to his hand. So again, I just click
here, I say parent, I say that controller. Now I've created a constraint. So now I can animate
this guy moving his arm across his chest. It's now following. I can bring the other arm
up like he wants to grab it. I pick the child, I turn it off,
I say another constraint parent to the other hand. Now I've switched the
constraint to the other hand, and now I can animate. So you see now I've
transferred, brought it up here, grabbed it, moved it, and then
I could drop it if I want, turn it off. And now if you want to look
at-- what does this look like, again, in the Sequencer? Let's do this. So under that sphere,
now we have constraints. Now there's two lanes, right? Because I have two parents. And you can see
that on this frame it's showing off, on that
frame it's turning on. Very cool. We've spent a lot of time
on just this interface of being able to get to things. You can grab these things,
you could re-time them here, the on and off points. You can delete them,
you can bake them. So let's try to bake it here. This should work. I just right click
and I say bake, and it baked now that
translation part of it. And then now I should be able
to bake the other one as well. And if all goes
well, it didn't work. OK. There's a few issues we're
still working through. It does work. I've done it. OK. So dynamic offset, what is that? What that means is you
can animate something before you constrain it. And we actually
move your key data into parent space,
which is really cool. So if you've used the
space switching at all, it is moving your key data
into a different space. So the constraints
work the same way. So you know what, I'm just going
to clean this whole scene up because it's
getting really busy. I'm just going to add
the character back. And I'm going to actually add
a second character here just for fun. Oh, I added three. Too many. Go away. OK. That's the ground. Oh, how many control
rigs did I add? Go away. All right, where are you? I don't know what I did. I did something weird. Let's just go here. OK. Go here. Yeah. Well, yeah. OK. So I have these two guys. Let's just set up this
dynamic offset really quick. Simple example. If I animated this
guy, I just want to show that we don't lock our
channels if dynamic offset is on. So I have this global control
just moving up and down. Now, in a lot of applications,
if I now create a constraint on that same control
that I animated, it would either
lock the channels, and it would no longer
animate, or you'd have to bake it down
to something else to get the data back
to then put it back on. A lot of complicated workflows. So we worked on compensating
those key frames for you. So I'm going to select that
same thing I animated here. And I'm going to create a parent
constraint to this other guy. So now if I play, you'll see
that that same animation is still there, but
the cool thing is that now it's also constrained. So it took all those key frames
I did and just moved it up into that other space. It's really powerful because
you can block something out without constraints, not
even thinking about just roughing things in, and then
you can start adding constraints after the fact. And the other cool thing is
you can keep animating it. Even though it's
now constrained, I can keep animating
this child object. It's not locked. Notice that it's not. And those values now,
they're not in world space. Those values are local space. They're in parent space. Like what is it parent you? So XYZ might mean
something very different depending on what you've
constrained it to. But it's really powerful
because, you as a user, as an animator, you don't
have to think about, Oh, I'm going to go up to
another node that I have above that's not locked. I can just keep animating it. You have to set up sometimes
complicated networks of settings just to kind
of make it work there. OK. So let's do-- we have to
change this up a little bit because that baking
thing didn't work. So I'm going to add
this Control Rig. I'm going to add a-- turn this off again. No, it's not there. I'm just going to
put a walk on him, and delete the Control Rig. Because what I want
to show you here is, so constraints work on objects,
props, cameras, lights. Basically anything you
can add to the Sequencer, you can constrain to. But I also want to show
that you can constrain even to baked skeletal data,
which is really cool. So I have this walk here. Again, I deleted the Control Rig
on this guy, so it's just a-- so ignore the fact that he's
not moving forward anymore. His head's not moving. That should have been when
I've replaced with this. But so now we just
have this walk here. I could just do this just
to kind simulate that. OK, it's sliding. It doesn't really matter. Just have him walk really far. And that's just, because
I need to change this. I just want to grab this
key and make it all in here. OK. So now he's at least
moving in a constant speed. The feet are still
sliding a bit. OK. All right, ignore
the feet sliding. Doesn't matter. You can fix that. So I'm just going to slow
it down really quick. So there's many ways you
can slow down animation. I'm going to go into the
properties of that animation sequence and change
the play rate. I'm going to make it like 0.1. So really slow. And the reason I'm
going to do that is-- Oh, crap. That's right. Because it's so slow, he
doesn't need to go so far. So I'm going to make
him go a lot less. And look at that, the
feet are almost locked. OK. So what I wanted to show
here is this crazy little climbing demo. I'm going to make this
guy really, really big. Like huge. And I'm going to add
another Control Rig. I'm going to animate this guy
like running towards his foot. So let's just say-- let's run over here. So again, I'm animating-- that
big giant walking guy is just a baked animation
sequence, and now I'm using a Control Rig
right next to it. So he's going to run up. I'm not going to spend a lot
of time on this because-- OK. Where are you? OK. This guy. Why is my controller
even down here. OK. Sorry. Oh, that's why. Sorry. I animated the transform instead
of the global controller, which is explain it. OK. So he's just going to
run up to the foot, and I'm going to have him
jump on and land on that foot. Really rough and dirty here. So he runs up and he-- lets say he just
jumps up in his foot. Really rough, like that. Now how do I animate this, or
how do I constrain to a bone? So just like before, I
can go here on this frame. This is a frame only
connected to the foot. So I have my child
selected, I go constraint. Now, I don't have any
controls to select, so how do I get to the bones? You just click on the mesh,
and your list of all the bones will appear. So I do a search for foot. This is the right foot. So now it attaches
itself to the right foot. Next thing I'm going
to do really quick is I'm going to
add a quick camera. Create a camera here like this. Make sure it's in my Sequencer. And you know what, I just
want to constrain this camera. Point-- constrain this
camera to this character. So now, you'll see the
camera follows him, he now gets constrained
up onto the foot. Let's see. Let's just-- and then now
because-- even though it's constrained, like I
said before, I can just keep animating this guy. And because the camera's
constrained positionally to the character, it
keeps moving with him. So like this. He stands up, maybe he is
going to stand up fully, maybe then he's going to jump
up again towards the leg or wherever the
leg is, over here. And you're going
to grab that leg. And now I want to
do the change again, so I deactivate this one. I create another parent
constraint to the bone. I say calf, right calf. So now I was on the foot,
I go up here, I stand up, and I jump up to the leg. Now I'm constrained to the leg. So yeah, you have a lot of
flexibility here to kind of-- we're good with time? OK. Yeah, so a lot of flexibility. You guys can play with these. They're new. This is version one. We're really excited about what
the team was able to accomplish in very short time period. All this stuff went in
just the last six months. A lot of stuff was
in there, we've just been tuning
things and trying to make it more of an
interface that animators are going to want to come
and play around with. Like a nice little
playground for animators.