approach limbs wrapping around the body?

Wondering how to accomplish a certain animation task? Ask here.

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
User avatar
martin_mrt
Posts: 51
Joined: Mon Mar 25, 2024 3:09 pm

approach limbs wrapping around the body?

Post by martin_mrt »

How does one approach this in Moho?

Image

Specifically if upper and lower arm are not seperated?

Is there ans way to patch if needed or move the hand part in Z space?
Last edited by martin_mrt on Mon Jun 24, 2024 9:16 am, edited 1 time in total.
User avatar
Greenlaw
Posts: 10396
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: approach limbs wrapping aroung the body?

Post by Greenlaw »

There are many ways to do this. For your example, I'd draw the arm as a single item divided into two shapes that appear as a single seamless shape...

Image

This is done by hiding the 'border' line segment at the elbow using the Hide Edge tool. Here's an image showing the elbow edge hidden. (Fills in Display Preview have been disabled to make the setup more obvious)...

Image

Then, I duplicate the layer and knock out the shape in the upper section for one layer and the lower section in the other layer. I also add a single point to the 'border' line in one layer and drag it across the border. This helps hide the seam that can appear in an anti-aliased final render.

Image
(In the above example, the edge-overlap is in the upper arm layer. Typically, it doesn't matter which layer has this overlap, but it could matter for some character designs. Use your judgment.)

Next, I create reference layers for both layers and move them behind the torso, so we have one complete arm set in front and one behind. This allows me to hide and reveal the sections of the arm to create the appearance of the arm 'wrapping' around the body. (Actually, I created duplicate layers in this example, not reference layers, but reference layers typically make sense when editing the original. I often break the arm references for my final 'master' rig, though, to avoid possible issues when the character rig is referenced in a scene project.)

Finally, a Smart Bone Dial is created to control the visibility of the layers.

Here's the above setup animated...

Image

Another way is to animate the layer order inside an action. This approach is simpler and more direct, but it can also invite conflict when you need to do something differently from what the Smart Bone Action is programmed to do. For this, I prefer the visibility technique. With the animated visibility setup, I can still use Animated Layer Order additionally when it's needed. It's rare, but it comes up from time to time.

A good example is the Centipedior and Ladybug Lad characters I animated, as seen on my 2020 demo reel. The multiple sets of arms could have complicated this setup, but I kept it fairly simple by combining animated Visibility and Layer Order setups. It's good to maintain flexibility for surprise situations.

I've also used masking to control the visibility of layers. In this example, I used an animated Stroke Exposure as a mask to show and hide the arm sections...



In the Puss example, I used Smooth Joint for the elbow, then inserted a single curve running up the arm's length. A stroke slightly wider than the arm's width runs up and down the curve and serves as a mask.

The Stroke Exposure method seemed like a great idea back then, but it's actually overkill for most character rigs. I think it's a fun technique, but really more for show.

The visibility switch method is what I use most of the time. I used it throughout the run of Boss Baby: Back In Business and other TV shows. It's easy to set up, looks seamless, and it works perfectly every time.

Hope this helps.
Last edited by Greenlaw on Fri Jun 21, 2024 5:45 pm, edited 26 times in total.
User avatar
Greenlaw
Posts: 10396
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: approach limbs wrapping aroung the body?

Post by Greenlaw »

I just realized my example animation with the blue guy doesn't show the shoulder going behind the body, but it is possible with this rig. To do this, I hide the foreground copy of the upper arm (armUp Near) and show the background copy (armUp Far).

To hide the layers in the rig, use the Visibility switch in the Layer Settings; don't use Transparency. Animating Visibility is cleaner and less CPU-intensive.

Tip: it's not necessary to enable Animated Effects to keyframe Visibility. Visibility is one of the few options in the panel that doesn't require it.
User avatar
martin_mrt
Posts: 51
Joined: Mon Mar 25, 2024 3:09 pm

Re: approach limbs wrapping around the body?

Post by martin_mrt »

Thanks for this profound answer Greenlaw! Very helpful!
The method described first seems to work well and might be quick to setup when needed.
User avatar
JoelMayer
Posts: 394
Joined: Sun Apr 05, 2009 8:29 pm

Re: approach limbs wrapping aroung the body?

Post by JoelMayer »

Greenlaw wrote: Fri Jun 21, 2024 3:59 pm There are many ways to do this. For your example, I'd draw the arm as a single item divided into two shapes that appear as a single seamless shape...

Image

This is done by hiding the 'border' line segment at the elbow using the Hide Edge tool. Here's an image showing the elbow edge hidden. (Fills in Display Preview have been disabled to make the setup more obvious)...

Image

Then, I duplicate the layer and knock out the shape in the upper section for one layer and the lower section in the other layer. I also add a single point to the 'border' line in one layer and drag it across the border. This helps hide the seam that can appear in an anti-aliased final render.

Image
(In the above example, the edge-overlap is in the upper arm layer. Typically, it doesn't matter which layer has this overlap, but it could matter for some character designs. Use your judgment.)

Next, I create reference layers for both layers and move them behind the torso, so we have one complete arm set in front and one behind. This allows me to hide and reveal the sections of the arm to create the appearance of the arm 'wrapping' around the body. (Actually, I created duplicate layers in this example, not reference layers, but reference layers typically make sense when editing the original. I often break the arm references for my final 'master' rig, though, to avoid possible issues when the character rig is referenced in a scene project.)

Finally, a Smart Bone Dial is created to control the visibility of the layers.

Here's the above setup animated...

Image

Another way is to animate the layer order inside an action. This approach is simpler and more direct, but it can also invite conflict when you need to do something differently from what the Smart Bone Action is programmed to do. For this, I prefer the visibility technique. With the animated visibility setup, I can still use Animated Layer Order additionally when it's needed. It's rare, but it comes up from time to time.

A good example is the Centipedior and Ladybug Lad characters I animated, as seen on my 2020 demo reel. The multiple sets of arms could have complicated this setup, but I kept it fairly simple by combining animated Visibility and Layer Order setups. It's good to maintain flexibility for surprise situations.

I've also used masking to control the visibility of layers. In this example, I used an animated Stroke Exposure as a mask to show and hide the arm sections...



In the Puss example, I used Smooth Joint for the elbow, then inserted a single curve running up the arm's length. A stroke slightly wider than the arm's width runs up and down the curve and serves as a mask.

The Stroke Exposure method seemed like a great idea back then, but it's actually overkill for most character rigs. I think it's a fun technique, but really more for show.

The visibility switch method is what I use most of the time. I used it throughout the run of Boss Baby: Back In Business and other TV shows. It's easy to set up, looks seamless, and it works perfectly every time.

Hope this helps.
Slightly off topic question but how do you get the elbows to work so seamlessly with your method, Greenlaw? I've been looking for a nice, easy way for doing limb rotation without having to go mad with drawing circles etc. and your way makes a lot of sense (i've been doing it KINDA like this). But obviously if i rotate the arm now, there's a huge gap so i was just wondering how you get the elbow working or is it just a SmartAction?

I "believe" your method is more or less similiar to the one shown in this video, right?



Thanks a ton!
User avatar
Greenlaw
Posts: 10396
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: approach limbs wrapping around the body?

Post by Greenlaw »

Hi Joel,

There are many ways to rig elbows, but the method I usually fall back on is adding an elbow bone. (Another trick I picked up from working with the amazing Victor.) :D

The elbow bone is parented to the tip of the upper arm bone and rotated perpendicular to it. The direction doesn't matter. The elbow bone is then constrained to rotate 50% of the lower arm bone's rotation. If it doesn't move at half the rotation, try entering -50%.

The points in the arm artwork's elbow are then point-bound to an elbow bone. The result is that the elbow bone holds the elbow region's volume in a bend, so I don't have to adjust it with a Smart Bone Action.

To get the sharp kink on the elbow's inside, I start with smooth points on both sides of the elbow at frame 0. Then, in the arm bend Action for one direction, I set a Peak Curvature point (Ctrl-P) at a slightly later frame. This creates a transition into a sharp fold. (Also, be sure to set a keyframe at frame 1 of the Smart Bone Action; this ensures that the Mainline's frame 0 interpolation doesn't affect the preferred interpolation at the beginning of the Smart Bone Action.) The outside of the elbow should be left smooth for the entire Action, but I might adjust the curvature on the last keyframe to make it slightly 'pointier'.

For the secondary Smart Bone Action action, I swap the animation of the elbow points.

Update: I just looked at my example above, and you can see the elbow bone in it. Typically, I set this bone to Shy Bone because it should never be keyframed on the Mainline.

Fold lines, a detail that can suggest which way the arm is pointing relative to the camera, are the next level. There are many ways to handle this detail, too. I'll cover this and also describe other elbow/knee joint techniques pretty soon.
Last edited by Greenlaw on Thu Jun 27, 2024 6:56 pm, edited 1 time in total.
User avatar
JoelMayer
Posts: 394
Joined: Sun Apr 05, 2009 8:29 pm

Re: approach limbs wrapping around the body?

Post by JoelMayer »

Greenlaw wrote: Thu Jun 27, 2024 5:24 pm Hi Joel,

There are many ways to rig elbows, but the method I usually fall back on is adding an elbow bone. (Another trick I picked up from working with the amazing Victor.) :D

The elbow bone is parented to the tip of the upper arm bone and rotated perpendicular to it. The direction doesn't matter. The elbow bone is then constrained to rotate 50% of the lower arm bone's rotation. If it doesn't move at half the rotation, try entering -50%.

The points in the arm artwork's elbow are then point-bound to an elbow bone. The result is that the elbow bone holds the elbow region's volume in a bend, so I don't have to adjust it with a Smart Bone Action.

To get the sharp kink on the elbow's inside, I start with smooth points on both sides of the elbow at frame 0. Then, in the arm bend Action for one direction, I set a Peak Curvature point (Ctrl-P) at a slightly later frame. This creates a transition into a sharp fold. (Also, be sure to set a keyframe at frame 1 of the Smart Bone Action; this ensures that the Mainline's frame 0 interpolation doesn't affect the range of the Smart Bone Action.) The outside of the elbow should be left smooth for the entire Action, but I might adjust the curvature on the last keyframe to make it slightly 'pointier'.

For the secondary Smart Bone Action action, I swap the animation of the elbow points.

Update: I just looked at my example above, and you can see the elbow bone in it. Typically, I set this bone to Shy Bone because it should never be keyframed on the Mainline.

Fold lines, a detail that can suggest which way the arm is pointing relative to the camera, are the next level. There are many ways to handle this detail, too. I'll cover this and also describe other elbow/knee joint techniques pretty soon.
Really good, just tried this out and works like a charm, thank you ^^
User avatar
martin_mrt
Posts: 51
Joined: Mon Mar 25, 2024 3:09 pm

Re: approach limbs wrapping around the body?

Post by martin_mrt »

Greenlaw wrote: Thu Jun 27, 2024 5:24 pm The points in the arm artwork's elbow are then point-bound to an elbow bone. The result is that the elbow bone holds the elbow region's volume in a bend, so I don't have to adjust it with a Smart Bone Action.
Works like a charm! And super easy to setup! Will use it from now on.
User avatar
martin_mrt
Posts: 51
Joined: Mon Mar 25, 2024 3:09 pm

Re: approach limbs wrapping aroung the body?

Post by martin_mrt »

Greenlaw wrote: Fri Jun 21, 2024 3:59 pm The Stroke Exposure method seemed like a great idea back then, but it's actually overkill for most character rigs. I think it's a fun technique, but really more for show.

The visibility switch method is what I use most of the time. I used it throughout the run of Boss Baby: Back In Business and other TV shows. It's easy to set up, looks seamless, and it works perfectly every time.
If I understand correctly both methods duplicate the arm Layer while keeping it bound on the same bone and rearranging the layer position.

"Stroke Exposure" (un-)masks the Arm located on top if needed. (via smart action)
"Visibility Switch" controls the visibility through the toggle switch in the layer settings. (via smart action) And what is visible here is predefined by hiding, masking or erasing.

I work with turnaround rigs and plan on setting it up if needed. Do you think thats a good idea or is it better to set it up right away? (i try to keep everything as simple as possible...)
Post Reply