Temporarily parent bone then remove parenting

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

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
User avatar
kakubei
Posts: 30
Joined: Wed Feb 14, 2024 7:09 am

Temporarily parent bone then remove parenting

Post by kakubei »

Hello, so my situatioon is this:

I've got a bow with bones.
I've got an arrow (separate Moho object) with bones.
I've got a character (separate Moho object) with bones.

What I'm trying to do is:

1. Have the arrow follow the motion of the bow while the character moves the bow and draws it.
2. Have the arrow be released from the bow's parenting bone so it can fly away to its target and not be affected anymore when the bow moves.

Ideally:
3. have the bow follow the character's hand so it will be bound to it and move with it for the animation
But the bow is a different Moho object with its own Bone layer.

Do I have to include the bow's bone layer inside the character's layer (I'd rather not do that to keep things clean and the bow reusable and updatable) or can I keep them separate?

Thanks.
User avatar
slowtiger
Posts: 6361
Joined: Thu Feb 16, 2006 9:53 am
Location: Berlin, Germany
Contact:

Re: Temporarily parent bone then remove parenting

Post by slowtiger »

For me the easiest and least stressful way is: copy the arrow layer so I have 3 arrows. One is bound to the hand, one is bound to the bow, one is free. Switch visibility where needed.
AS 9.5 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
AS 11 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
Moho 13.5 iMac Quadcore 2,9GHz 16GB OS 10.15
Moho 14.1 Mac Mini M2 Pro OS 13.7.6
User avatar
Greenlaw
Posts: 10841
Joined: Mon Jun 19, 2006 9:45 am
Location: Los Angeles
Contact:

Re: Temporarily parent bone then remove parenting

Post by Greenlaw »

I would keep it simple by creating a second arrow and setting its visibility to OFF.

When the first arrow that's bound to the character is 'released', set its visibility OFF. Then enable the visibility of the second to arrow to ON, and animate it moving forward. Since it's not parented to anything, it can be animated freely.

If the arrow has to stick to a moving object, create it a third arrow that's parented to the moving object and set the visibility for that one to OFF. Then switch the visibility states of the second and third arrows at the appropriate moment.

Easy, peasy! I hope this helps. :D

Update: Oh, I see SlowTiger beat me to it. That's what I get for starting a reply and then posting it hours later. :P
Animations, Tutorials, and Cats (Oh, My!) Little Green Dog Channel on YouTube!

D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
User avatar
kakubei
Posts: 30
Joined: Wed Feb 14, 2024 7:09 am

Re: Temporarily parent bone then remove parenting

Post by kakubei »

Ha, ha. That's brilliant, cheers!

It actualle never even occurred to me!

Am I right in saying that for parenting to work the arrow bones have to be part of the bow's chain? There is no way to parent one bone layer with another?
User avatar
slowtiger
Posts: 6361
Joined: Thu Feb 16, 2006 9:53 am
Location: Berlin, Germany
Contact:

Re: Temporarily parent bone then remove parenting

Post by slowtiger »

Of course you can layer bind a bone layer to a bone of another, higher layer; I do that all the time - when it makes sense.

In general I recommend to keep stuff as simple as possible, especially not try changing things midway in animation.
AS 9.5 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
AS 11 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
Moho 13.5 iMac Quadcore 2,9GHz 16GB OS 10.15
Moho 14.1 Mac Mini M2 Pro OS 13.7.6
User avatar
kakubei
Posts: 30
Joined: Wed Feb 14, 2024 7:09 am

Re: Temporarily parent bone then remove parenting

Post by kakubei »

slowtiger wrote: Sat Feb 28, 2026 1:35 am Of course you can layer bind a bone layer to a bone of another, higher layer;
It won't let me. I have a main bone layer for the character and inside it the imported bow Moho object with its own bone layer.
When I try to reparent the root bow's bone to the character's hand bone, Moho refuses to do it. When selecting the Parent bone tool (P), none of the bones from the character layer are available to reparent them to.

Maybe I'm doing it wrong and there is another way to bind them?

I've even tried using Target bones, etc but none of the character's bones are listed as options.
User avatar
slowtiger
Posts: 6361
Joined: Thu Feb 16, 2006 9:53 am
Location: Berlin, Germany
Contact:

Re: Temporarily parent bone then remove parenting

Post by slowtiger »

Layer binding, not bone binding.
AS 9.5 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
AS 11 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
Moho 13.5 iMac Quadcore 2,9GHz 16GB OS 10.15
Moho 14.1 Mac Mini M2 Pro OS 13.7.6
User avatar
kakubei
Posts: 30
Joined: Wed Feb 14, 2024 7:09 am

Re: Temporarily parent bone then remove parenting

Post by kakubei »

slowtiger wrote: Sat Feb 28, 2026 2:49 am Layer binding, not bone binding.
Which is essentially just putting one layer inside another?
User avatar
slowtiger
Posts: 6361
Joined: Thu Feb 16, 2006 9:53 am
Location: Berlin, Germany
Contact:

Re: Temporarily parent bone then remove parenting

Post by slowtiger »

- Put 1 layer into another
- select the layer bind tool
- click on the bone you want to bind the layer to.
AS 9.5 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
AS 11 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
Moho 13.5 iMac Quadcore 2,9GHz 16GB OS 10.15
Moho 14.1 Mac Mini M2 Pro OS 13.7.6
User avatar
Greenlaw
Posts: 10841
Joined: Mon Jun 19, 2006 9:45 am
Location: Los Angeles
Contact:

Re: Temporarily parent bone then remove parenting

Post by Greenlaw »

Bones can only be parented to other bones in the same bone layer. So, the arrow (parented to its own bone) would need to be in the same bone layer as the character. This is typical when the character needs to handle the parented item, and if you need to parent/unparent during the animation.

During animation, it's possible to unparent the item's bone from the character and animate it freely, but the arrow would continue to exist as part of the same bone layer. In some situations, this can be advantageous, but in this case, I think it makes more sense to just hide the arrow and swap it with a fully disconnected one, as slowtiger and I described earlier.

There are other ways to create this same effect. Here are a couple of ideas...

Method 1. I've used a script that tracks the motion of a bone in one layer and applies the tracked motion to a bone in another layer. For example, it can be used to track the hand bone of a character, and applied to a standalone arrow bone in a different Bone layer. This means the arrow can be its own rig, independent of the character's rig. But this setup will require you to re-run the script anytime you change the character's animation.

So, in this case, I think the visibility setup is still an easier option. I don't recall what the script was called, but I probably got it from Mohoscripts.com. (I can check if you need it.)

Method 2. Another way is to use a reference copy of the character and hide all the items except the arrow. Then hide the arrow in the original copy. Now you have a second bone layer that follows the first bone layer, and you can change the animation in the reference version so the character stops moving and the arrow can fly. This can be a very useful approach when the scene is complicated by a stacking requirement. But, in most situations, it's probably overkill.

I'm only mentioning these to show there are many (endless?) ways to do the same thing, and some are better than others for a given situation...but, IMO, it's usually best to go with the simplest.

Good luck!

Image
Animations, Tutorials, and Cats (Oh, My!) Little Green Dog Channel on YouTube!

D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
User avatar
Greenlaw
Posts: 10841
Joined: Mon Jun 19, 2006 9:45 am
Location: Los Angeles
Contact:

Re: Temporarily parent bone then remove parenting

Post by Greenlaw »

Ah! The script was probably this one...

MR Track Bone

This script has been super useful when I needed it.

However, if I can get away with it, most of the time I'll just use the visibility trick or Reference copy trick because it's more direct and doesn't need a script.
Animations, Tutorials, and Cats (Oh, My!) Little Green Dog Channel on YouTube!

D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
User avatar
kakubei
Posts: 30
Joined: Wed Feb 14, 2024 7:09 am

Re: Temporarily parent bone then remove parenting

Post by kakubei »

slowtiger wrote: Sat Feb 28, 2026 7:53 am - Put 1 layer into another
- select the layer bind tool
- click on the bone you want to bind the layer to.
Oh crap. I feel like and idiot. Something else I didn’t think about!
I could bind the bow’s main layer (even though ti contains bones of its own) to the arm bone (hopefully).

Thanks a lot. I‘ll give it a try as soon as I can get back to the computer.
User avatar
kakubei
Posts: 30
Joined: Wed Feb 14, 2024 7:09 am

Re: Temporarily parent bone then remove parenting

Post by kakubei »

Greenlaw wrote: Sat Feb 28, 2026 8:03 am
I'm only mentioning these to show there are many (endless?) ways to do the same thing, and some are better than others for a given situation...but, IMO, it's usually best to go with the simplest.

Good luck!

Image
Thanks so much for takin the time to explain! It’s very helpful.
I think you’re right: simpler is best and I’ve gone with the 2 arrows option.
But I wanted to figure out a way for the bow to follow the arm and still keep their bone layers independent and you have both give me good ideas :)
Post Reply