& Construction

Integrated BIM tools, including Revit, AutoCAD, and Civil 3D
& Manufacturing

Professional CAD/CAM tools built on Inventor and AutoCAD
Integrated BIM tools, including Revit, AutoCAD, and Civil 3D
Professional CAD/CAM tools built on Inventor and AutoCAD
Edit a basic FK (forward kinematics) control setup, setting the controls to zero for the animator.
Type:
Tutorial
Length:
5 min.
Transcript
00:04
So here we have a basic FK control setup.
00:07
So the controls are parented to each other,
00:10
which gives us that forward kinematics movement.
00:14
This just means the rotations are evaluated from the shoulder down to the wrist.
00:19
So forward kinematics
00:22
with IK which is inverse kinematics,
00:25
the rotations are evaluated in reverse. So from the wrist back up to the shoulder.
00:31
So this allows you to do things in animation where you
00:34
can plant the wrist or lock where the hands are.
00:39
So these FK controls will eventually drive the
00:41
control arm which will then move the base skeleton
00:46
even though these are in the correct position and orientated. The right way,
00:50
we still have a problem.
00:52
Each control has values on the translation and rotation attributes,
00:57
but we need them to be zero
00:60
as a basic rule.
01:01
All your controls should be set to zero when passing it on to an animator.
01:06
This just makes for a cleaner, more user friendly rig.
01:11
Now we could just freeze the transforms,
01:15
this fixes the translations
01:17
but the rotations have now reset,
01:19
meaning the orientations have changed.
01:22
Whereas we need them to stay the same as the joints,
01:26
what we would traditionally do in this instance, is use an offset group.
01:31
Let's press control NG to create an empty group
01:36
and call it upper arm offset.
01:39
We should add the L in too just so we can see that it's for the left side.
01:45
And let's use the match transformations tool again to snap it to the upper arm joint.
01:50
This will move it so it's positioned and orientated
01:53
correctly just like we did with our control.
01:57
There it is
01:58
and it has all the values just like our control.
02:02
If I now parent the control to the group,
02:06
you will see that the values are now zero.
02:10
This is because they have been offset to the group above it,
02:14
they are zero because the control is in
02:16
the same position and orientation as the group
02:19
using this offset group has freed up the attributes for us
02:23
which will make the animators very happy.
02:26
All we need to do now is create two more for the other controls.
02:32
Let's rename them
02:35
and match their transforms to the lower arm and hand joints.
02:41
Now let's organize a hierarchy.
02:43
So these groups are parented to the controls above them
02:47
and then the controls parented to them.
02:50
So there we go all nice and clean because the
02:53
offset values have been moved to the groups above them,
02:58
we can now also still animate too.
03:02
The problem is if you need to have offset groups on most of your controls,
03:07
your rigs are going to start to get a bit blurted
03:11
just like this.
03:14
You can see that most of this rig is offset groups.
03:18
Let's just filter them.
03:22
OK? So yeah,
03:23
there's quite a lot.
03:25
Thankfully in May 2020 Autodesk introduced a whole suite of matrix nodes and tools
03:32
and with them came the ability to offset
03:34
these transforms without the need for any groups.
03:39
So let's go back.
03:43
OK. So here we have the controls with the values again.
03:48
Let's look at the hand. First,
03:50
all we need to do is look in the attribute editor
03:53
here we have a new transform, offset parent matrix tab.
03:58
All we need to do is copy the values above
04:01
down here.
04:04
So now the control has moved away
04:06
but what we have done is add the translate Y value twice.
04:12
All we need to do is zero it out of here
04:16
and that moves back because the offset is now stored here instead.
04:21
So we can use this instead of an offset group.
04:25
Let's update the lower arm next
04:29
and just copy these down to the transform offset parent matrix tab.
04:35
So that's moved again. So let's zero out the main attributes to pull it back.
04:40
There we go.
04:42
Finally, the upper arm control
04:47
and there we go. Nice and easy.
04:52
All the values are nice and clean, ready to be animated
04:57
and our rig is also much lighter without all those extra offset groups.
05:04
OK?
05:04
So now you have a good understanding of how
05:06
controls can be built and applied to the rig.
05:09
Feel free to start building your own.
Video transcript
00:04
So here we have a basic FK control setup.
00:07
So the controls are parented to each other,
00:10
which gives us that forward kinematics movement.
00:14
This just means the rotations are evaluated from the shoulder down to the wrist.
00:19
So forward kinematics
00:22
with IK which is inverse kinematics,
00:25
the rotations are evaluated in reverse. So from the wrist back up to the shoulder.
00:31
So this allows you to do things in animation where you
00:34
can plant the wrist or lock where the hands are.
00:39
So these FK controls will eventually drive the
00:41
control arm which will then move the base skeleton
00:46
even though these are in the correct position and orientated. The right way,
00:50
we still have a problem.
00:52
Each control has values on the translation and rotation attributes,
00:57
but we need them to be zero
00:60
as a basic rule.
01:01
All your controls should be set to zero when passing it on to an animator.
01:06
This just makes for a cleaner, more user friendly rig.
01:11
Now we could just freeze the transforms,
01:15
this fixes the translations
01:17
but the rotations have now reset,
01:19
meaning the orientations have changed.
01:22
Whereas we need them to stay the same as the joints,
01:26
what we would traditionally do in this instance, is use an offset group.
01:31
Let's press control NG to create an empty group
01:36
and call it upper arm offset.
01:39
We should add the L in too just so we can see that it's for the left side.
01:45
And let's use the match transformations tool again to snap it to the upper arm joint.
01:50
This will move it so it's positioned and orientated
01:53
correctly just like we did with our control.
01:57
There it is
01:58
and it has all the values just like our control.
02:02
If I now parent the control to the group,
02:06
you will see that the values are now zero.
02:10
This is because they have been offset to the group above it,
02:14
they are zero because the control is in
02:16
the same position and orientation as the group
02:19
using this offset group has freed up the attributes for us
02:23
which will make the animators very happy.
02:26
All we need to do now is create two more for the other controls.
02:32
Let's rename them
02:35
and match their transforms to the lower arm and hand joints.
02:41
Now let's organize a hierarchy.
02:43
So these groups are parented to the controls above them
02:47
and then the controls parented to them.
02:50
So there we go all nice and clean because the
02:53
offset values have been moved to the groups above them,
02:58
we can now also still animate too.
03:02
The problem is if you need to have offset groups on most of your controls,
03:07
your rigs are going to start to get a bit blurted
03:11
just like this.
03:14
You can see that most of this rig is offset groups.
03:18
Let's just filter them.
03:22
OK? So yeah,
03:23
there's quite a lot.
03:25
Thankfully in May 2020 Autodesk introduced a whole suite of matrix nodes and tools
03:32
and with them came the ability to offset
03:34
these transforms without the need for any groups.
03:39
So let's go back.
03:43
OK. So here we have the controls with the values again.
03:48
Let's look at the hand. First,
03:50
all we need to do is look in the attribute editor
03:53
here we have a new transform, offset parent matrix tab.
03:58
All we need to do is copy the values above
04:01
down here.
04:04
So now the control has moved away
04:06
but what we have done is add the translate Y value twice.
04:12
All we need to do is zero it out of here
04:16
and that moves back because the offset is now stored here instead.
04:21
So we can use this instead of an offset group.
04:25
Let's update the lower arm next
04:29
and just copy these down to the transform offset parent matrix tab.
04:35
So that's moved again. So let's zero out the main attributes to pull it back.
04:40
There we go.
04:42
Finally, the upper arm control
04:47
and there we go. Nice and easy.
04:52
All the values are nice and clean, ready to be animated
04:57
and our rig is also much lighter without all those extra offset groups.
05:04
OK?
05:04
So now you have a good understanding of how
05:06
controls can be built and applied to the rig.
05:09
Feel free to start building your own.
Industry:
Role:
How to buy
Privacy | Do not sell or share my personal information | Cookie preferences | Report noncompliance | Terms of use | Legal | © 2025 Autodesk Inc. All rights reserved
Sign in for the best experience
Save your progress
Get access to courses
Receive personalized recommendations
May we collect and use your data?
Learn more about the Third Party Services we use and our Privacy Statement.May we collect and use your data to tailor your experience?
Explore the benefits of a customized experience by managing your privacy settings for this site or visit our Privacy Statement to learn more about your options.