Head rotation and movement

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

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
denisa
Posts: 38
Joined: Fri Feb 21, 2020 11:55 am
Location: UK
Contact:

Head rotation and movement

Post by denisa »

Hi guys,

I am struggling with this one part for this project. I have a png sequence of this elephant head turning to right and left. I need the trunk to follow suit. But the trunks moves and wiggles while the head is turning. So I separated the trunk from the head and added 3 images of the trunk facing : right, front and left. I am struggling to find a way to attach all these sides of the trunk and have the trunk move at the same time?
I started by adding bones to the trunk, then a mesh and attach that points of the mesh to the bones of the trunk, it works when the elephant is facing forwards but when the trunk moves it doesn't work.

There are some pictures below of what I have so far. I'd appreciate much help on this one. Thank you you guys!



https://imgur.com/a/24S6zi4
User avatar
hayasidist
Posts: 3492
Joined: Wed Feb 16, 2011 8:12 pm
Location: Kent, England

Re: Head rotation and movement

Post by hayasidist »

not totally clear to me what the problem you're facing is …
the image uploads aren't clear enough to show the layer structure in enough detail.

how many images in the L-> R turn sequence?
smart mesh to make the turn?
is it that the trunk wiggles when it shouldn't?
is it that the three trunk views don't all stay "stuck" to the right place on the face when the head turns?
User avatar
slowtiger
Posts: 6067
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Re: Head rotation and movement

Post by slowtiger »

OK, I assume your problem is this:
You have a head turn, and you have lots of different trunks because you want to move it. For each head position, there's a set of several trunks. Correct?

How I would solve this:
Have a bone or group layer for each head position. Inside this there will be 1 head position PNG, and a switch layer for the associated trunks.
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 Plus OS 13.5
denisa
Posts: 38
Joined: Fri Feb 21, 2020 11:55 am
Location: UK
Contact:

Re: Head rotation and movement

Post by denisa »

slowtiger wrote: Mon Mar 16, 2020 1:09 pm OK, I assume your problem is this:
You have a head turn, and you have lots of different trunks because you want to move it. For each head position, there's a set of several trunks. Correct?

How I would solve this:
Have a bone or group layer for each head position. Inside this there will be 1 head position PNG, and a switch layer for the associated trunks.
Yes that is correct.

The trunk folder is inside the head layer which is attached to the head bone. I had the same thought with the switch layers tbh, but I would also need the trunk to wiggle its end when the character is turned to the right: https://imgur.com/OvJEyxa

The way I was thinking of doing it is by Manual binding, 1. I added the bones as to where I think the trunk is going to bend. 2. I added a mesh around the trunk so I can bind the points of the mesh to the trunk bones. I am trying to rig this character for an animator to animate him, I want to make it easy for them to animate the trunk wiggle.
User avatar
slowtiger
Posts: 6067
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Re: Head rotation and movement

Post by slowtiger »

A switch layer can have bones as well! In your case it may be enough to only bind one of the switch images to the bone.

It's also possible to put bone layers inside a switch layer.
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 Plus OS 13.5
User avatar
Greenlaw
Posts: 9192
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Head rotation and movement

Post by Greenlaw »

Sorry, I only skimmed the above, but when you mentioned that the trunk wiggles when the bones move, my first thought was that you need to use Use Selected Bones For Flexi-binding for the trunk.

Here's what I think the problem is: By default, Flexi-binding makes all the bones affect all the layers that have Flexi-binding applied, so you can get unwanted deformations on some parts of the body. (Moho artwork layers use Flexi-binding by default.)

But when you use Use Selected Bones For Flexi-binding on selected layers, those layer are affected only by those selected bones. In other words, those layers will exclude the affect of all other bones resulting in no more unwanted wiggles.

Alternatively, you can use point binding, which can work well for some parts of the rig. But in the case of an elephant's trunk, limited Flexi-binding will probably work best.

All this really depends on you character design and how you intend to animate it of course. In a typical Moho puppet rig, the above binding method should work well.

Hope this helps.

Note to Devs: Can we change the name of 'Use Selected Bones For Flexi-Binding' to just 'Selective Flexi-Binding'? The former is such a big mouthful to say and write.
denisa
Posts: 38
Joined: Fri Feb 21, 2020 11:55 am
Location: UK
Contact:

Re: Head rotation and movement

Post by denisa »

Greenlaw wrote: Tue Mar 17, 2020 8:31 pm Sorry, I only skimmed the above, but when you mentioned that the trunk wiggles when the bones move, my first thought was that you need to use Use Selected Bones For Flexi-binding for the trunk.

Here's what I think the problem is: By default, Flexi-binding makes all the bones affect all the layers that have Flexi-binding applied, so you can get unwanted deformations on some parts of the body. (Moho artwork layers use Flexi-binding by default.)

But when you use Use Selected Bones For Flexi-binding on selected layers, those layer are affected only by those selected bones. In other words, those layers will exclude the affect of all other bones resulting in no more unwanted wiggles.

Alternatively, you can use point binding, which can work well for some parts of the rig. But in the case of an elephant's trunk, limited Flexi-binding will probably work best.

All this really depends on you character design and how you intend to animate it of course. In a typical Moho puppet rig, the above binding method should work well.

Hope this helps.

Note to Devs: Can we change the name of 'Use Selected Bones For Flexi-Binding' to just 'Selective Flexi-Binding'? The former is such a big mouthful to say and write.

Thank you for the reply!

I believe I just did that, the point binding sollution. I created the a mesh around around the trunk and added in the trunk bones. So I binded the bones with points of the mesh. So far this one gave me the best and controlled motion, not perfect though. Still need to tweak it. Thank you for help!
denisa
Posts: 38
Joined: Fri Feb 21, 2020 11:55 am
Location: UK
Contact:

Re: Head rotation and movement

Post by denisa »

slowtiger wrote: Mon Mar 16, 2020 6:46 pm A switch layer can have bones as well! In your case it may be enough to only bind one of the switch images to the bone.

It's also possible to put bone layers inside a switch layer.
Oh, I'll give that a go! Thank you for your response!
denisa
Posts: 38
Joined: Fri Feb 21, 2020 11:55 am
Location: UK
Contact:

Re: Head rotation and movement

Post by denisa »

Also. I added in another png which I masked on frame zero, but when i move on the timeline, the mask changes shape/distorts? The folder with the png is not attached to any bone. The only time it doesn't distort when i move across the timeline is when I take the folder out of the bone layer?
User avatar
Greenlaw
Posts: 9192
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Head rotation and movement

Post by Greenlaw »

denisa wrote: Thu Mar 26, 2020 4:28 pm I believe I just did that, the point binding sollution. I created the a mesh around around the trunk and added in the trunk bones. So I binded the bones with points of the mesh. So far this one gave me the best and controlled motion, not perfect though. Still need to tweak it. Thank you for help!
The problem with point binding something like an elephant's trunk is that point binding ignores the bone strengths completely and there is no fall-off between bones. This can make the deformations look 'faceted' and not smooth. This is why I suggested Use Selected Bones For Flexi-binding. This uses the strength of only the 'trunk' bones as a unit, giving you a nice 'rubber' hose deformation; and since it's applied to a selection, it excludes the strength of other bones in the character. How you draw the trunk artwork is also import. Ideally, there should be a point along the shape for each bone for an accurate bending effect. If you're using a image layer, Moho will generate an invisible mesh for your but sometimes the auto-generated mesh's resolution may not be high enough for a nice bend. In this case, you want to create a custom mesh layer that supports the deformation quality you desire.

Hope this helps.
denisa
Posts: 38
Joined: Fri Feb 21, 2020 11:55 am
Location: UK
Contact:

Re: Head rotation and movement

Post by denisa »

Also I came across this problem: Now that I attached the head layer to the head bone, the trunk bones are not working anymore? The trunk layer is within the head layer.
User avatar
Greenlaw
Posts: 9192
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Head rotation and movement

Post by Greenlaw »

How did you bind the head layer? If you used Layer binding, and that layer is a group, you effectively disabled any other binding for layers inside that group. If you're going to use layer binding, it's better to use it directly with the head layer, (assuming the trunk is not part of that layer of course.) If you disable Layer binding on the group, the layers contained should resume they're existing binding methods.

In general, Layer binding fixes that layer directly to a single bone, and if the layer is a group, it fixes everything contained in that group to that bone. It's a 'rigid' binding method, so it's not useful for items you need to deform with multiple bones.

Other options are to use Use Selected Bones For Flexi-binding on the head layer or use Point Biding on the head layer. This will not over-ride the binding of other layers inside the group.

If Layer binding isn't the cause, I'm guessing you've somehow changed the binding for the child layers.

When the binding errors get too confusing, I just select all the affected layers and choose Reset All Bone Rigging. This resets the binding for the selected layers to the default binding method (Flexi-binding,) and then I select the layers and apply the binding method I want for each selection. Be sure to use this command only after selecting the layers you wish to reset, otherwise it may affect the entire character rig. For me, this is usually faster than trying to troubleshoot the problem.
Last edited by Greenlaw on Thu Apr 02, 2020 2:58 pm, edited 2 times in total.
denisa
Posts: 38
Joined: Fri Feb 21, 2020 11:55 am
Location: UK
Contact:

Re: Head rotation and movement

Post by denisa »

Greenlaw wrote: Tue Mar 31, 2020 9:21 pm How did you bind the head layer? If you used Layer binding, and that layer is a group, you effectively disabled any other binding for layers inside that group. If you're going to use layer binding, it's better to use it directly with the head layer, (assuming the trunk is not part of that layer of course.) If disable Layer binding on the group, the layers contained should resume they're existing binding methods.

In general, Layer fixes that layer directly to a single bone, and if it's a group, it fixes everything contained in that group to that bone. It's a 'rigid' binding method, so it's not useful for items you need to deform with multiple bones.

Other options are to use Use Selected Bones For Flexi-binding on the head layer or use Point Biding on the head layer. This will not over-ride the binding of other layers inside the group.

If Layer binding isn't the cause, I'm guessing you've somehow changed the binding for the child layers.

When the binding errors get too confusing, I just select all the affected layers and choose Reset All Bone Rigging. This resets the binding for the selected layers to the default binding method (Flexi-binding,) and then I select the layers and apply the binding method I want for each selection. Be sure to use this command only after selecting the layers you wish to reset, otherwise it may affect the entire character rig. For me, this is usually faster than trying to troubleshoot the problem.

Cheers Greenlaw!
That's exactly what happened. I had the head folder layer containing the trunk folder as well. I followed your advice and set layers to Reset all Bone Rigging. Seems to works well now! Managed to get the trunk animation work well now! Thank you for the help!
denisa
Posts: 38
Joined: Fri Feb 21, 2020 11:55 am
Location: UK
Contact:

Re: Head rotation and movement

Post by denisa »

I am trying to test a little animation to see how the rigging looks so far. But when I export the animation, there are a couple of glitches? When I go to check the moho animation (checked frame by frame) there are no glitches whatsoever. The glitches look like they are more of a mask issue? Like on the arm of the elephant, I put a mask around it and this is how it looks in the render: https://www.flickr.com/photos/115003080 ... ed-public/. This is the moho version: https://www.flickr.com/photos/115003080 ... ed-public/.


Any thoughts?
I tried exporting it in different mediums: Quick time, MOV, PNG sequence. All show the same thing.
Post Reply