• Maya

Editing the twist joints

Use the Node Editor to edit the twist for the spine joints, so that the movement of the torso is natural.


00:04

We can now manipulate the shoulders

00:06

but you will see nothing seems to happen. If I twist them

00:10

the same with the other controls,

00:12

we can rotate them. So he bends back and forth,

00:16

we can also wiggle his hips

00:18

but there is no twist registering.

00:22

Let's update the scene a little so we can see what's going on.

00:26

So I'm just gonna turn on wireframe

00:29

and show the joints

00:31

and let's also display the local rotational axes.

00:35

Now, you can see if we twist the lower and upper controls,

00:39

the spine joints aren't twisting with them.

00:43

If we look at the Spline IK handle,

00:45

we have two attributes,

00:47

roll and twist.

00:50

If we are just twist, we get the movement we need in the upper spine.

00:55

If we just roll. Now, the whole spine rotates

00:59

which isn't ideal, but it gives us something to work with.

01:03

Ok, let's go back to the node editor and wire these up.

01:06

So the controls activate these attributes and give us the twisting in the spine.

01:12

Let's clear this

01:14

and bring in the hip control

01:17

also bring in the blind I care handle too.

01:20

Let's open these.

01:23

So it looks like the rotate Y attribute should make the spine twist.

01:28

So let's use that to drive the roll attribute,

01:32

connect rotate wire to roll.

01:36

Now as we rotate it, the spine moves with it. Great.

01:41

That's more how you would expect the spine control to affect the spine.

01:46

What would be better is if we could change this. So it only affected the lower spine.

01:51

So then we could just control the upper spine with a shoulder control.

01:55

We basically need to twist the shoulders back.

01:58

So the role attribute doesn't appear to affect them.

02:01

So we can do this with the twist attribute,

02:04

we can take away the twist value from the roll attribute value to cancel it out,

02:10

press tab and create a new multiply divide node

02:14

and open it up

02:16

this node will let you multiply or divide one value by another.

02:21

So we can use it with the twist attribute,

02:24

connect rotate wire to input one X.

02:28

So there we have the controls Y rotation

02:30

and it's currently being multiplied by a value of one

02:34

which is the input to X attribute here.

02:37

If we change this to minus one,

02:40

what that's going to do is invert the rotation value.

02:43

So effectively making it a negative number.

02:46

Now let's connect the result of that

02:48

from output X

02:50

into the twist attribute on the IK handle.

02:54

So now the upper spine is more stable because

02:57

the twist attribute is taking away the rotation.

03:00

So pulling it back into position,

03:03

the hips look much better. Now they move independently of the rest of the spine.

03:09

Let's quickly rename this before we lose track of what it does.

03:12

Twist, offset, multi.

Video transcript

00:04

We can now manipulate the shoulders

00:06

but you will see nothing seems to happen. If I twist them

00:10

the same with the other controls,

00:12

we can rotate them. So he bends back and forth,

00:16

we can also wiggle his hips

00:18

but there is no twist registering.

00:22

Let's update the scene a little so we can see what's going on.

00:26

So I'm just gonna turn on wireframe

00:29

and show the joints

00:31

and let's also display the local rotational axes.

00:35

Now, you can see if we twist the lower and upper controls,

00:39

the spine joints aren't twisting with them.

00:43

If we look at the Spline IK handle,

00:45

we have two attributes,

00:47

roll and twist.

00:50

If we are just twist, we get the movement we need in the upper spine.

00:55

If we just roll. Now, the whole spine rotates

00:59

which isn't ideal, but it gives us something to work with.

01:03

Ok, let's go back to the node editor and wire these up.

01:06

So the controls activate these attributes and give us the twisting in the spine.

01:12

Let's clear this

01:14

and bring in the hip control

01:17

also bring in the blind I care handle too.

01:20

Let's open these.

01:23

So it looks like the rotate Y attribute should make the spine twist.

01:28

So let's use that to drive the roll attribute,

01:32

connect rotate wire to roll.

01:36

Now as we rotate it, the spine moves with it. Great.

01:41

That's more how you would expect the spine control to affect the spine.

01:46

What would be better is if we could change this. So it only affected the lower spine.

01:51

So then we could just control the upper spine with a shoulder control.

01:55

We basically need to twist the shoulders back.

01:58

So the role attribute doesn't appear to affect them.

02:01

So we can do this with the twist attribute,

02:04

we can take away the twist value from the roll attribute value to cancel it out,

02:10

press tab and create a new multiply divide node

02:14

and open it up

02:16

this node will let you multiply or divide one value by another.

02:21

So we can use it with the twist attribute,

02:24

connect rotate wire to input one X.

02:28

So there we have the controls Y rotation

02:30

and it's currently being multiplied by a value of one

02:34

which is the input to X attribute here.

02:37

If we change this to minus one,

02:40

what that's going to do is invert the rotation value.

02:43

So effectively making it a negative number.

02:46

Now let's connect the result of that

02:48

from output X

02:50

into the twist attribute on the IK handle.

02:54

So now the upper spine is more stable because

02:57

the twist attribute is taking away the rotation.

03:00

So pulling it back into position,

03:03

the hips look much better. Now they move independently of the rest of the spine.

03:09

Let's quickly rename this before we lose track of what it does.

03:12

Twist, offset, multi.

Was this information helpful?