Smartbones controlling nested layers 'break' after assigning layer to skeletal bone

Discuss Moho bugs (or suspected bugs) with other users. To report bugs to Smith Micro, please visit support.smithmicro.com

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
User avatar
MrMiracle77
Posts: 181
Joined: Mon Jun 24, 2019 2:30 am

Smartbones controlling nested layers 'break' after assigning layer to skeletal bone

Post by MrMiracle77 »

I'm not at my animation machine right now, but I'll describe this as best I can. I have a group layer with a main component and a mask. This group layer is contained within a bone layer. I've built smartbones on this bone layer to deform the components of the group layer, and this works just fine so far:

| Bone Layer <- contains perspective smartbone
|- Group Layer <- used to mask component
||- Component Body
||- Mask layer. The smartbones on the bone layer move the mask to make the component appear to rotate in perspective.

The problem comes up when I try to assign the Group Layer to a skeletal bone. The perspective smartbone stops working. Not only that, but if I try to create another smartbone for the Component Body or the Mask Layer, the timeline turns pink instead of light blue, indicating that the action assigned to the layer is no longer a smartbone action.

What's frustrating is that there are times when the skeleton/smartbones work together just fine and others where the smartbone actions become disabled.

Hepl!
- Dave

(As Your GM)
User avatar
Greenlaw
Posts: 9270
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Smartbones controlling nested layers 'break' after assigning layer to skeletal bone

Post by Greenlaw »

I can't look into this specific example right now but I know that Smart Bones can only be nested maybe two levels. This is a built in limit that's probably intended to improve overall performance. Fortunately, you can work around this limit by using a target bone. I'll have to look up what I do exactly when I need to do this, but the idea is that the target bone somehow keeps Moho aware that there is a nested Smart Bone action. It's rare when I need to do this but very useful when I have to.

Hope this helps.

Edit: I haven't looked into my notes yet but I think I just have a bone targeting the Smart Bone. The bone doesn't serve any other purpose so I set it to shy. Something like that. It would be great if Moho had an official option increase the active Smart Bone levels directly in the bone or Smart Bone Action.
User avatar
MrMiracle77
Posts: 181
Joined: Mon Jun 24, 2019 2:30 am

Re: Smartbones controlling nested layers 'break' after assigning layer to skeletal bone

Post by MrMiracle77 »

So one possible solution would be to turn my Group Layer to a Bone Layer, and give it its own smartbone for the deformations, then tie that layer to the upper skeleton layer.
- Dave

(As Your GM)
User avatar
synthsin75
Posts: 9981
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Smartbones controlling nested layers 'break' after assigning layer to skeletal bone

Post by synthsin75 »

Any group layer bound to one bone keeps the influence of all other bones, including smart bones, from reaching that group's sublayers. So instead of binding the group layer, you want to bind each sublayer individually.

Oddly enough, double checking it right now is allowing a pink vector layer action to work with a smart bone blocked by group layer binding, but that may be a bug, and I wouldn't count on it to always work. So yeah, the expected behavior I described, of a bound group blocking smart bone influence, does seem intermittent.
User avatar
MrMiracle77
Posts: 181
Joined: Mon Jun 24, 2019 2:30 am

Re: Smartbones controlling nested layers 'break' after assigning layer to skeletal bone

Post by MrMiracle77 »

synthsin75 wrote: Tue Aug 31, 2021 4:52 pm Any group layer bound to one bone keeps the influence of all other bones, including smart bones, from reaching that group's sublayers. So instead of binding the group layer, you want to bind each sublayer individually.
This worked. Thanks for sharing.
- Dave

(As Your GM)
User avatar
MrMiracle77
Posts: 181
Joined: Mon Jun 24, 2019 2:30 am

Re: Smartbones controlling nested layers 'break' after assigning layer to skeletal bone

Post by MrMiracle77 »

Thought I'd post a little update to this subject: it turns out that assigning nested layers to skeletal bones only breaks them on frame 0. Trying them on frame 1 and onward works just fine.
- Dave

(As Your GM)
Daxel
Posts: 996
Joined: Wed Mar 27, 2019 8:34 pm

Re: Smartbones controlling nested layers 'break' after assigning layer to skeletal bone

Post by Daxel »

Just in case this helps someone: I have in my notes that doing this with smartbone actions turn them pink and even if they can seem to work fine, you could have problems later trying to move points that are animated by those smart actions turned into pink, because you try to move the points and they suddenly appear in a different position and are impossible to work with. I don't remember all the details, should've taken better notes but that's the general warning.
User avatar
MrMiracle77
Posts: 181
Joined: Mon Jun 24, 2019 2:30 am

Re: Smartbones controlling nested layers 'break' after assigning layer to skeletal bone

Post by MrMiracle77 »

I've had the pink timeline show up instead of the blue under two circumstances:

1. Trying to apply a smartbone control to a layer embedded in 2 or more nests.

2. Trying to adjust a smartbone control to a bone layer after it has been nested into a higher bone layer. The workaround for this is to ensure that you are happy with all of the lower smartbone layer movements before nesting it.
- Dave

(As Your GM)
Post Reply