How to get a lower layer to overlap and upper one

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

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
Leon13DM
Posts: 20
Joined: Wed Jun 07, 2017 8:28 pm

How to get a lower layer to overlap and upper one

Post by Leon13DM »

I'm sure there are many tutorials for this topic available on youtube or here. I must not know the right terminology as I haven't been able to find them.

Basically, I want to know how to get an arm that is normally concealed by the torso, head and other arm in a way that allows it to overlap one of the layers above it so the person can use the far limb to like rest their hand on their forehead or grab the shoulder of the arm on the top layer in pain, or have the far hand reach in front of the waist to grab a gun from the holster.
User avatar
alanthebox
Posts: 216
Joined: Sat Feb 03, 2018 5:31 pm
Contact:

Re: How to get a lower layer to overlap and upper one

Post by alanthebox »

Sounds like you need to look into animated layer order. This option will give you the ability to drag layers above and below other layers. This may require you to rework your character's artwork a bit (ex: instead of a single arm layer, you may want to break it up into bicep, forearm, hand).
User avatar
Greenlaw
Posts: 10383
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: How to get a lower layer to overlap and upper one

Post by Greenlaw »

The trick it to split a limb into two different shapes sharing the same paths. Then you can show the upper part and lower part layers at the desired layer position. Like so...

Image

The quickest way to create this is to duplicate the layers, create shapes for each enclosed region, and use HIde Edge to 'erase' the line in the elbow joint. Note the extra point added in the elbow region and how it's pulled to overlap the other part. This is important for preventing a gap that may appear when rendered.

Once you have this set up, you can used Animated Layer Order to change how the limb wraps around the torso. Like so...

Image

Here's what it looks like in Moho...

Image

In the layers window, I have the right arm split into two groups and I just drag these layers to the desired positions around the torso. A Layer Order keyframe is then created in the timeline for the parent group WrapLimb's child layers.

Anyway, this is just one way to do this. You can also use animated visibility or animated masks to show/hide limb regions. A variation of the latter technique uses Stroke Exposure to hide/reveal the regions. You can even set up Smart Bones to control the stacking order.

But the most direct way is to simply drag the limb section layers in the Layer Window to where you want them and use Animated Layer Order to keyframe their positions.

Hope this helps.
User avatar
Hoptoad
Posts: 716
Joined: Sun Jan 03, 2016 4:19 pm
Location: Florida

Re: How to get a lower layer to overlap and upper one

Post by Hoptoad »

Greenlaw gave a great answer, and I use that method myself, but here's a quick "hack" that I also use. :shock:

If you need a scene where your character's far hand and arm, which is normally hidden by the body, crosses the body and overlaps the close arm for a specific purpose, and you don't anticipate needing this movement more than once, consider this:

On frame 0, duplicate the far hand and arm.
Drag it to the top of the layer order, so it's above the body.
Bend the arm and hand into the position you need and adjust points as needed.
Make this duplicated layer invisible.
While animating, when you need the hand and arm to overlap, at the exact frame when that happens, make the proper arm invisible and make the duplicated arm visible.
Continue animating, using the duplicate.

Bonus tip: Another solution could involve "vitruvian" bones, so if you want a versatile character rig, you might check that out, too.
User avatar
Greenlaw
Posts: 10383
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: How to get a lower layer to overlap and upper one

Post by Greenlaw »

A couple of tips:

If you decide to use a Smart Bone to control the limb wrapping animation, DO NOT use Animated Layer Order in the Smart Bone Action. Animated Layer Order is great when you are manually keyframing the order by dragging them, but once you bake this animation into a Smart Bone, you've limited the rig to that range of possibilities and, after that, trying to add new layers or trying to change layer order manually can result in a conflict.

Using a Smart Bone can be a good idea but use it to control layer visibility, not layer order. Even using a Smart Bone to control masking will be better than using it to control layer order, but visibility is easier to set up. It does mean you will need to create more duplicate layers in your group but that's fine because you won't need to touch them when you animate, and having the additional layers shouldn't affect performance much, if at all.

I used to make two separate Smart Bone Dials (SBD) to control the limb wrap for each side of the body, but nowadays I keep this simplified to one SBD. Having two controls may seem better organized but in practice having just one SBD is faster to animate with.

Hope this helps.
Post Reply