Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranรฎ)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
- [Zach] In this video let's explore the constraints a bit
to better understand them before we go
into adding constraints to our character rig.
So, in a nutshell, constraints are there
to better control our objects for animation.
They basically should save us a lot of manual work
and with constraints we can either limit our objects
or we can set up certain dependencies
or relationships between objects.
So, here we have this very simple canon object
which consist out of three main parts,
this gun here, this top part here,
and this bottom part here.
Let's disable the ground for selection
so we can't accidentally select the ground
and the first and very basic constraint
kind of thing you know is the parenting.
So, just imagine this canon should follow a plane
and maybe shoots on the plane
and then we need to, in this case here,
select these two objects, make this somehow rotate
in the animation process and you can imagine that doing this
with many separate objects, it's a pain in the butt.
So, the first thing we can do,
let's select this one here, and then this one,
hit Control + P and set the parent to object
and I will also wanna connect these two objects,
so let's select this one, then this one here,
Control + P and click on set parent to object.
You can also right click and go into the parent options here
and click on object.
Now, if I move this one here,
you can see all the other objects are moving along.
If I move this one here, the gun is also moving along.
So, this one here is a child of this object here
and this one is a child of this object.
So, that means if I now rotate this,
I can simply animate the rotation of this object here
and I could animate the rotation of this object here.
So, this would make our life already easier,
but let's see what else we can do
with the use of constraints.
So, here in object mode we have the object constraints
later on for the bones we have a different tab
for the bone constraints.
So, and in this case, I wanna set up a target object
and the cannon should follow
the target object automatically.
So, let's select the gun here,
press Shift + S and then click on cursor to select it.
So, the 3D cursor is over here and let's hit Shift A
and add a simple empty object.
Let's move this to the front and let's call it target.
Let's up here, enable the local transform orientation
and let's also enable the move tools
so we can see the local axis of the selected object,
which is quite important when working with constraints.
So, the first thing I want to do is that the main part here
will always point to this target object.
For that let's select this, go to the constraints,
and here we have different categories like transform,
tracking, and relationship.
Motion tracking is something we can fully ignore here
because this is done for VFX post-production
in the camera tracking and motion tracking field,
so we don't need that.
And in the transform category,
we can either copy transforms from other objects,
like rotation and location, or we can limit this
so we can say that we only can rotate to a certain degree
in a certain direction for example.
Then we have the tracking constraints
which allows us to like look to a certain object
or a stretch to a certain object, for example,
and then we have other relationship constraints,
like follow a path, make an object always hit a floor,
for example, or the child of constraint
which is basically the same thing as parenting objects,
with the only difference that we can turn constraints
on and off.
So, in this case, we want to use the track to constraint,
which means always look to a certain target object
and the target object we can define in this field here,
either click here, select the correct one
or use the eyedropper and select the target object.
Now, the canon is rotated weirdly.
However, it's already always looking at the target,
but we have to change the axis.
We can see the local axis of the object here
on the transform gizmo in the direction where the arrows
are pointing is always the positive direction
and the opposite is the negative direction.
Now, it's pointing down here, which we want to use as axis,
which is the opposite of green,
which means it's the negative Y-axis
and we need to define which axis should point to the top,
which is the blue Z-axis in our case.
And now, if I move the target the cannon
is always looking in this direction.
This looks good already, however,
I don't want the cannon to rotate up and down,
it just should rotate around the Z-axis here.
So, let's add a limit rotation constraint
which we can find over here.
Then I want to block the Y and the X-axis here,
so let's select X and Y
and I leave minimum and maximum at zero.
That means if I now rotate this,
it can only rotate around the Z-axis.
However, maybe we'll wanna limit the Z-axis as well
so it can only rotate to a certain degree.
So, let's enable this and maybe let's set the max to 90
and the minimum to negative 90.
That means if I look from the top here, and if I move this,
when it hits the 90 degree mark
or the negative 90 degree mark,
it will just stop rotating.
And now, the last thing I want to do
is that this object here is also pointing to the target
but it only should move up and down.
For that, first of all, let's also add a track to constraint
and pick the target object.
Now, it's flipped, as you can see, in this case,
we need the blue positive Z-axis to point to the object.
So, let's use positive Z and the Y-axis
should point upwards which is already selected here.
Now, it should do the right thing.
However, I want to also limit the rotation here
for Z and Y so it's only a rotating around the X-axis here.
So in this case, again, limit rotation,
I want to block the Y and the Z-axis
and I also want to limit the X-axis.
However, for this, let's open up the sidebar,
here you can see, since I rotated the object
to point in this direction here,
it has already the 90 degree rotation.
That means if I now enable X it will go back to zero
because here we now limit this to zero.
That means we have to set the maximum to 90
at least to point in this direction here.
Now, it can go from 90 up to zero.
However, maybe we don't want this to go fully up
so maybe let's pick 45 degrees
so it can only go up to a certain degree
and maybe the cannon can also move down a bit
so we can increase the maximum value a bit maybe to 100
then you can see it can move between 90 and 100 degrees.
So, this looks all good,
right, well, not right.
You can see that the gun in the front
is still doing something weird and this has to do
with the space.
Well, not the outer space,
here we have the world space and the local space,
custom space we can fully ignore,
but world and local space is important
when working with constraint.
We can see we have these options in many constraints
and there we can define if the whole interaction
of the constraints should happen in the world space
or in the local space of the object.
So, the world space is basically the global axis,
the global coordinate system here.
So, that means zero is here in the center,
it's using always the global axis here
so it's very static in the whole world.
However, this object here is parented and it is rotated
so it has its local space inside the parent
of this object here.
So in this case, we have to set
the limit rotation constraint to the local space
which gives us already what we want.
However, just in case up here in the track to constraint
we can also set that the owner,
which is the object here in this case,
should also be in local space.
However, the target here can stay in world space
because it's freely moving around in the world.
And now, you can see what we did with the constraints
instead of animating and rotating this and this object
manually to always point to a certain thing in the world
we can now only animate one object here.
So, for example, if I add a key frame here for location,
so we only need to animate the location,
then go a bit further here, then move this here
and maybe a bit upwards, insert a new key frame,
and now play back the animation.
You can see we animated the full object here
by only moving the controller object
and this is the whole point of using constraints.
We want to make our animating life easier.
So, I hope now you have a very basic understanding
on how we can work with constraints
and in the next video, let's add the constraints
to our character rig.
If you like, you can save.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.