…stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

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

…stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by martin_mrt »

Dear Forum,

I'm in a bit of a pickle with my rig. My 180° Turnaround is working. But if I want to manipulate Vector Points in the Mainline they jump around. Its not possible to control them. (I plan to animate all details with Vectors.)
Luckily I got a tip from Victor that it is because I worked with one action from left to right extreme instead of two actions from the neutral position to the extremes. The thought was that Moho gets confused if the neutral (drawing) position is used again in the action.
I now split it up in two actions. As my neutral is the 45°Left Pose I created one action from 45->0 and one from 45->180. To make sure dubbeling the neutral position is not a problem I worked even without keys on the first frame.
I managed to rebuild the turn that way (only for the head to save time) but unfortunately the issue is still there.

Image

This is a bit of an unexpected behavior that throws me off schedule. I'm therefore very happy for any help and advice!

Please find the file of the head alongside a short video that documents the behavior on this dropbox:
https://www.dropbox.com/scl/fo/bt9sqrw3 ... ypoto&dl=0

Why does it behave that way? Is it possible to fix this?
I would really like to understand the problem even if I have to redo it again.
(tips for a quick way to redo it are also welcome! Is it possible to copy poses from the animation onto the zero frame to get a new neutral position?)

P.s.
I made several attempts. One also with the frontal pose and two actions 90° to right and left. That did not produce anything beautiful.
Points with bezier jump more but also points without bezier Jump.
I started the Turn from 45° because fully straight or profile will be used seldom. I read also here in the Forum that some people prefer the Frontal pose while others prefer the 45° pose as a neutral for the turn.
User avatar
Panha
Posts: 202
Joined: Sat Oct 21, 2023 3:59 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by Panha »

The problem is that those points that you were trying to edit has the keyframes in Smart Bone Action, you tried to move the points, however, I think Moho tried to keep the points where the Smart action of those points are set to be. I think this is what should be improved for Moho. As I remember in older versions of Moho, just I don't remember which version, we could adjust points even if they were set in Smart Action.
Here are the solution for the current problem:
1- You can adjust those points in smart action/smart bone action as usual, but you add extra mesh layer to control those points when you are working on the main timeline.
2- You can inversely do that by using extra mesh layer or curve layer to control the main layer(s), for example eyebrows, then when in smart action timeline, do not touch the point of the main layer (s), just animate the points on mesh layer. This way, you keep the point of the main layer(s) outside of smart action timeline.
Sreng Pagna, animator and author
User avatar
martin_mrt
Posts: 51
Joined: Mon Mar 25, 2024 3:09 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by martin_mrt »

Hey Panha,
Thanks for the hyper fast reply! ✌
This is one of the things that I also had in mind. Now that you recommend it I will try it.
So far I couldnt wrap my head around if i should do Nr 1 or Nr 2. Im concerned with points "leaving" the mesh and creating more unpredictable behaviour.

2 - My guess is that having the mesh inside the action and animating everything with that (again XD) would be the better option. That way in the mainline the points are moved and potentially leave the mesh. Maybe more stable than the other way round?

1 - here i wonder about if the mesh outside (mainline) will follow the transformations done inside (smartaction).

All in all I agree with you that it would be cool to work only with points. Thats how I expected it to work. Similar to animation layers in maya.
User avatar
martin_mrt
Posts: 51
Joined: Mon Mar 25, 2024 3:09 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by martin_mrt »

Panha wrote: Wed Jun 19, 2024 2:51 pm 2- You can inversely do that by using extra mesh layer or curve layer to control the main layer(s), for example eyebrows, then when in smart action timeline, do not touch the point of the main layer (s), just animate the points on mesh layer. This way, you keep the point of the main layer(s) outside of smart action timeline.
2 produced a working result.

It will make the whole rig heave though to animate all the turn with meshed and other alternatives.

I woul love to be able to animate the same elements that are used to do the turn (bones points). That was my initial expectation. Would be a super handy way to work!
Daxel
Posts: 1081
Joined: Wed Mar 27, 2019 8:34 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by Daxel »

Don't worry you don't have to redo anything. The only problem is that you binded the GESICHT group layer to a bone.

Avoid layer binding group layers because smartbones have problems trying to animate the child layers of a binded group layer. # Is this reported guys? I think it should be.

To fix it remove the layer bind of the GESICHT group (instead of selecting the bone, click on an empty place to unbind), then select the child layers (bonus tip: select the first layer, hold shift and select the last one to select them all) and bind them directly to the bone.

The points won't jump anymore.

Victor probably thought you were talking about a different kind of jumping points: when points jump from frame 0 to frame 1 without any animation in the timeline to blame, then the problem is what he explained.
User avatar
synthsin75
Posts: 10253
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by synthsin75 »

Daxel wrote: Wed Jun 19, 2024 11:38 pm Avoid layer binding group layers because smartbones have problems trying to animate the child layers of a binded group layer. # Is this reported guys? I think it should be.
This is a known limitation. It happens because bone influence on a group layer will keep other bone influence from reaching sublayers. It's an either/or situation, because a bone controls the group that controls the sublayers. So asking another bone to contradict that control would be difficult. Probably cause way more potential conflicts than we can currently create.
User avatar
Panha
Posts: 202
Joined: Sat Oct 21, 2023 3:59 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by Panha »

martin_mrt wrote: Wed Jun 19, 2024 3:07 pm
2 - My guess is that having the mesh inside the action and animating everything with that (again XD) would be the better option. That way in the mainline the points are moved and potentially leave the mesh. Maybe more stable than the other way round?

1 - here i wonder about if the mesh outside (mainline) will follow the transformations done inside (smartaction).

All in all I agree with you that it would be cool to work only with points. That's how I expected it to work. Similar to animation layers in maya.
2- I tested out two some ways and the result is as below:
I have a normal vector layer (let called it "Layer A") with shapes (points), plus a mesh layer (Let's called this mesh "Layer M") to control the normal layer, layer A. Then I group layer A and Layer M into one group and converted to a bone layer. I added a bone and make it a Smart bone to control the movement of the layers within the group.
(A)- Animated Layer M in Action Timeline, I did not touch any points in Layer A in the action timeline.
The result was that I can control the points in Layer A, and Layer M without the the points jumping back and forth. It seemed that "Mesh Layer in general" can't be control freedomly even if it is already has keyframes in the Action Timeline.
Note that: I went to "Layer Setting" of Layer M > Vector > check, "Frame-dependant Warping". If I checked this option, I could only control points within the influence of Layer M. With this option unchecked, even if the shapes (points) of Layer A is outside the mesh influence, it is still affected by Layer M.
On the other hand, if this option is checked, the points in Layer A will jump back and forth just like it had keys in Action Timeline. So it is better to leave this option unchecked.
(B)- This time, I don't touch any points in Layer M, I only touch the points in Layer A in the Action Timeline. This time I can use the mesh in maintimeline, to control the points of Layer A, which we can't animate its points since it is influenced by Smart Bone.
Note that: I tried going back and forth with "Frame-dependant Warping", the behavior is similar to what I described in (A, Note).
Hope this help. :D
Sreng Pagna, animator and author
User avatar
martin_mrt
Posts: 51
Joined: Mon Mar 25, 2024 3:09 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by martin_mrt »

Daxel wrote: Wed Jun 19, 2024 11:38 pm Don't worry you don't have to redo anything. The only problem is that you binded the GESICHT group layer to a bone.

Avoid layer binding group layers because smartbones have problems trying to animate the child layers of a binded group layer. # Is this reported guys? I think it should be.

To fix it remove the layer bind of the GESICHT group (instead of selecting the bone, click on an empty place to unbind), then select the child layers (bonus tip: select the first layer, hold shift and select the last one to select them all) and bind them directly to the bone.

The points won't jump anymore.

Victor probably thought you were talking about a different kind of jumping points: when points jump from frame 0 to frame 1 without any animation in the timeline to blame, then the problem is what he explained.
... DEUS EX MACHINA. Just went back 10 save versions and fixed the whole issue with 5 clicks :)
Thank you so much for taking the time and looking through my file thus ending my "learning" detour! What a relief.
Last edited by martin_mrt on Thu Jun 20, 2024 11:42 am, edited 1 time in total.
User avatar
martin_mrt
Posts: 51
Joined: Mon Mar 25, 2024 3:09 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by martin_mrt »

synthsin75 wrote: Thu Jun 20, 2024 1:08 am This is a known limitation. It happens because bone influence on a group layer will keep other bone influence from reaching sublayers. It's an either/or situation, because a bone controls the group that controls the sublayers. So asking another bone to contradict that control would be difficult. Probably cause way more potential conflicts than we can currently create.
Aha, so in this case the influence of the smartbone action is stopped by the Layer Bind? The vertice is called back by the bound bone and therefore jumping?
Daxel
Posts: 1081
Joined: Wed Mar 27, 2019 8:34 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by Daxel »

synthsin75 wrote: Thu Jun 20, 2024 1:08 am Probably cause way more potential conflicts than we can currently create.
I see. But still, it's very common and very hard to fix if you don't know about it. So it would be nice if it could work in a different way. Not knowing how things work internally this may be a stupid suggestion but, couldn't Moho just pass group layer bindings to their children?
User avatar
martin_mrt
Posts: 51
Joined: Mon Mar 25, 2024 3:09 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by martin_mrt »

Panha wrote: Thu Jun 20, 2024 5:30 am
2- I tested out two some ways and the result is as below:
I have a normal vector layer (let called it "Layer A") with shapes (points), plus a mesh layer (Let's called this mesh "Layer M") to control the normal layer, layer A. Then I group layer A and Layer M into one group and converted to a bone layer. I added a bone and make it a Smart bone to control the movement of the layers within the group.
(A)- Animated Layer M in Action Timeline, I did not touch any points in Layer A in the action timeline.
The result was that I can control the points in Layer A, and Layer M without the the points jumping back and forth. It seemed that "Mesh Layer in general" can't be control freedomly even if it is already has keyframes in the Action Timeline.
Note that: I went to "Layer Setting" of Layer M > Vector > check, "Frame-dependant Warping". If I checked this option, I could only control points within the influence of Layer M. With this option unchecked, even if the shapes (points) of Layer A is outside the mesh influence, it is still affected by Layer M.
On the other hand, if this option is checked, the points in Layer A will jump back and forth just like it had keys in Action Timeline. So it is better to leave this option unchecked.
(B)- This time, I don't touch any points in Layer M, I only touch the points in Layer A in the Action Timeline. This time I can use the mesh in maintimeline, to control the points of Layer A, which we can't animate its points since it is influenced by Smart Bone.
Note that: I tried going back and forth with "Frame-dependant Warping", the behavior is similar to what I described in (A, Note).
Hope this help. :D
Hey Panha, I yesterday started to fix the rig and used the "Mesh inside Action" Method on the Layers Brau L and Brau R. On Brau L I forgot to erase the position keys of the layer and followed with the mesh. On Brau R I erased before and then moved everything with the mesh. Both worked. on other Layers I started working with the Layer properties leaving the points untouched.
I put the respective file in the folder: https://www.dropbox.com/scl/fo/bt9sqrw3 ... ypoto&dl=0
It works but makes the whole rig quite heavy.
Im glad that within this Topic a solution was found that allows to just use the points. its way more flexible, easy and powerful. looking forward to rig my other characters now :)

Thanks for the help Panha! aybe you want to share the test files you did? I would be interested what you cooked up. The "Frame-dependant Warping" option sounds interesting. I can follw the text discription only to a certain extend though. :)
User avatar
martin_mrt
Posts: 51
Joined: Mon Mar 25, 2024 3:09 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by martin_mrt »

Thank to everybody here!
Im fairly new to Moho and just discover this awesome community!
I would have been just really stuck without your help. Thanks guys!
:D
Daxel
Posts: 1081
Joined: Wed Mar 27, 2019 8:34 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by Daxel »

martin_mrt wrote: Thu Jun 20, 2024 11:23 am ... DEUS EX MACHINA. Just went back 10 save versions and fixed the whole issue with 5 clicks :)
Thank you so much for taking the time and looking through my file thus ending my "learning" detour! What a relief.
I'm glad that helped!
User avatar
Panha
Posts: 202
Joined: Sat Oct 21, 2023 3:59 pm

Re: …stop Vectorpoints of a Turnaround Charachter from Jumping around when touched in Mainline?

Post by Panha »

martin_mrt wrote: Thu Jun 20, 2024 11:41 am
Panha wrote: Thu Jun 20, 2024 5:30 am
2- I tested out two some ways and the result is as below:
I have a normal vector layer (let called it "Layer A") with shapes (points), plus a mesh layer (Let's called this mesh "Layer M") to control the normal layer, layer A. Then I group layer A and Layer M into one group and converted to a bone layer. I added a bone and make it a Smart bone to control the movement of the layers within the group.
(A)- Animated Layer M in Action Timeline, I did not touch any points in Layer A in the action timeline.
The result was that I can control the points in Layer A, and Layer M without the the points jumping back and forth. It seemed that "Mesh Layer in general" can't be control freedomly even if it is already has keyframes in the Action Timeline.
Note that: I went to "Layer Setting" of Layer M > Vector > check, "Frame-dependant Warping". If I checked this option, I could only control points within the influence of Layer M. With this option unchecked, even if the shapes (points) of Layer A is outside the mesh influence, it is still affected by Layer M.
On the other hand, if this option is checked, the points in Layer A will jump back and forth just like it had keys in Action Timeline. So it is better to leave this option unchecked.
(B)- This time, I don't touch any points in Layer M, I only touch the points in Layer A in the Action Timeline. This time I can use the mesh in maintimeline, to control the points of Layer A, which we can't animate its points since it is influenced by Smart Bone.
Note that: I tried going back and forth with "Frame-dependant Warping", the behavior is similar to what I described in (A, Note).
Hope this help. :D
It works but makes the whole rig quite heavy.
Im glad that within this Topic a solution was found that allows to just use the points. its way more flexible, easy and powerful. looking forward to rig my other characters now :)

Thanks for the help Panha! aybe you want to share the test files you did? I would be interested what you cooked up. The "Frame-dependant Warping" option sounds interesting. I can follw the text discription only to a certain extend though. :)
Thank you,
A- Yes, it makes the whole rig quite heavy, and I'm sure this is just the beginning of 2D Rigged animation. In the future, these kinds of methods may be combined in some ways so that 2D rigging animation would be more improved with the help of modern software like Moho.
B- I did not saved the test file, however, it was just a one layer test with a simple shapes, adding some extra points to looks a bit messy, and one mesh layer to control those points, witching back and forth from putting mesh layer in action timeline, to putting normal layer in action timeline without touching any points of each other layers while ones of those layers' points were putting in action timeline. And then switching back and forth with "Frame-dependant Warping".
Sreng Pagna, animator and author
Post Reply