& 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
Make the arm follow the spine by refining its IK and FK controls, then using the Node Editor to blend the shoulder movement.
Type:
Tutorial
Length:
5 min.
Transcript
00:04
The next step is to now make sure the arm follows the spine.
00:08
You see, as we manipulate it, the arm just floats here and doesn't move,
00:12
which isn't natural.
00:14
First, we need the left arm group back.
00:17
So let's create it again
00:19
and move it into the rig systems group
00:22
and rename it.
00:25
Move the
00:26
IKK and world space group into it.
00:30
Now create two new groups.
00:33
We want two so we can store both the IK and FK positions of where the arm should be,
00:41
rename them. So the first is shoulder left I care world space
00:46
and the second is shoulder left FK, world space.
00:51
Now match these to the arm root control.
00:55
So they are in exactly the same place.
00:58
Actually, this should be left FK. So I'll change that to L
01:04
parent the ICA group to the ICARE shoulder control. So it follows it
01:09
and the FK group to the spine three control.
01:13
Let's also clean the attribute values too.
01:16
Again, moving them down to the offset parent matrix section.
01:21
There we go.
01:23
And now back to the node editor,
01:27
I'll just clear this
01:29
bring in the new ICA and FK groups
01:32
and also the left arm group,
01:35
all we want is a left arm group to blend between these two shoulder groups.
01:41
So as the animator blends between IK and FK, the arm will move to the correct spine.
01:47
So to do this, we need another blend matrix node,
01:51
rename this to shoulder IKFK blend.
01:56
Connect world matrix zero from the IK group
01:60
to the input matrix attribute on the blend matrix node,
02:04
go to the attribute editor and add a new item to the blend matrix node.
02:09
Now connect the world matrix zero attribute from the FK group
02:14
to the target zero matrix attribute.
02:19
Now connect output matrix to the arm root group's offset parent matrix attribute.
02:26
Now if I rotate the FK spine,
02:29
the arm follows
02:31
I'll just move this.
02:34
If we switch to IK,
02:36
nothing happens.
02:37
But that's because we also need to tell the blend
02:39
matrix node to swap to the IK group too.
02:44
Add the co control to the node editor.
02:47
Let's find the IKFK switch attribute
02:51
and connect that to the envelope attribute on the blend matrix node.
02:56
Now the arm follows when using the IK spine,
03:01
we can also blend between the two
03:03
and the arm follows.
03:05
Let's test the main root control again. Now things have changed.
03:09
Ah Right.
03:11
So we have the double transform issue again.
03:14
So all we need to do is remove the root's influence again. Just like we did earlier,
03:19
let's make some room
03:21
and create a new malt matrix node
03:24
call this shoulder left IK malt
03:29
duplicate this
03:32
and update the name to FK instead of IK
03:36
and remove that one.
03:38
Let's add the root control to the node editor two
03:42
connect world matrix zero from the shoulder I
03:45
group
03:47
to the shoulder I
03:49
mult nodes matrix in attribute.
03:52
Now connect to the root controls. World inverse matrix attribute.
03:57
Remember
03:58
we use inverse because we want to take these values away.
04:02
Connect this to matrix A one.
04:05
Now we repeat this for the FK side.
04:08
So world matrix zero to matrix N
04:12
and then world inverse matrix from the root control
04:17
two matrix in one,
04:19
we now need to connect these to the blend matrix node.
04:23
So matrix sum
04:25
to input matrix
04:28
and matrix sum from the FK mult matrix node goes to target matrix
04:33
under target zero. Just here
04:37
we can rotate the root now and the arm stays in position.
04:41
You will also notice that the arm isn't rotating with the spine.
04:45
It's just staying almost level.
04:48
This is because we have its world orient attribute set to stay in world space.
04:53
If I change this to zero,
04:57
the arm now stays orientated with the spine.
Video transcript
00:04
The next step is to now make sure the arm follows the spine.
00:08
You see, as we manipulate it, the arm just floats here and doesn't move,
00:12
which isn't natural.
00:14
First, we need the left arm group back.
00:17
So let's create it again
00:19
and move it into the rig systems group
00:22
and rename it.
00:25
Move the
00:26
IKK and world space group into it.
00:30
Now create two new groups.
00:33
We want two so we can store both the IK and FK positions of where the arm should be,
00:41
rename them. So the first is shoulder left I care world space
00:46
and the second is shoulder left FK, world space.
00:51
Now match these to the arm root control.
00:55
So they are in exactly the same place.
00:58
Actually, this should be left FK. So I'll change that to L
01:04
parent the ICA group to the ICARE shoulder control. So it follows it
01:09
and the FK group to the spine three control.
01:13
Let's also clean the attribute values too.
01:16
Again, moving them down to the offset parent matrix section.
01:21
There we go.
01:23
And now back to the node editor,
01:27
I'll just clear this
01:29
bring in the new ICA and FK groups
01:32
and also the left arm group,
01:35
all we want is a left arm group to blend between these two shoulder groups.
01:41
So as the animator blends between IK and FK, the arm will move to the correct spine.
01:47
So to do this, we need another blend matrix node,
01:51
rename this to shoulder IKFK blend.
01:56
Connect world matrix zero from the IK group
01:60
to the input matrix attribute on the blend matrix node,
02:04
go to the attribute editor and add a new item to the blend matrix node.
02:09
Now connect the world matrix zero attribute from the FK group
02:14
to the target zero matrix attribute.
02:19
Now connect output matrix to the arm root group's offset parent matrix attribute.
02:26
Now if I rotate the FK spine,
02:29
the arm follows
02:31
I'll just move this.
02:34
If we switch to IK,
02:36
nothing happens.
02:37
But that's because we also need to tell the blend
02:39
matrix node to swap to the IK group too.
02:44
Add the co control to the node editor.
02:47
Let's find the IKFK switch attribute
02:51
and connect that to the envelope attribute on the blend matrix node.
02:56
Now the arm follows when using the IK spine,
03:01
we can also blend between the two
03:03
and the arm follows.
03:05
Let's test the main root control again. Now things have changed.
03:09
Ah Right.
03:11
So we have the double transform issue again.
03:14
So all we need to do is remove the root's influence again. Just like we did earlier,
03:19
let's make some room
03:21
and create a new malt matrix node
03:24
call this shoulder left IK malt
03:29
duplicate this
03:32
and update the name to FK instead of IK
03:36
and remove that one.
03:38
Let's add the root control to the node editor two
03:42
connect world matrix zero from the shoulder I
03:45
group
03:47
to the shoulder I
03:49
mult nodes matrix in attribute.
03:52
Now connect to the root controls. World inverse matrix attribute.
03:57
Remember
03:58
we use inverse because we want to take these values away.
04:02
Connect this to matrix A one.
04:05
Now we repeat this for the FK side.
04:08
So world matrix zero to matrix N
04:12
and then world inverse matrix from the root control
04:17
two matrix in one,
04:19
we now need to connect these to the blend matrix node.
04:23
So matrix sum
04:25
to input matrix
04:28
and matrix sum from the FK mult matrix node goes to target matrix
04:33
under target zero. Just here
04:37
we can rotate the root now and the arm stays in position.
04:41
You will also notice that the arm isn't rotating with the spine.
04:45
It's just staying almost level.
04:48
This is because we have its world orient attribute set to stay in world space.
04:53
If I change this to zero,
04:57
the arm now stays orientated with the spine.
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.