Bezier points animation bug in rotating and shortening bone

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

Moderators: Víctor Paredes, Belgarath, slowtiger

Daxel
Posts: 967
Joined: Wed Mar 27, 2019 8:34 pm

Bezier points animation bug in rotating and shortening bone

Post by Daxel »

Hello!
This original post is edited because now I have more information to provide. I will update it to resume the information obtained so the developers don't need to read all the comments. there are two different things being talked about in this post:
1) Like all of you made me understand, Moho beziers are still a bit difficult to animate, more than normal points. You have to learn a few more things to achieve good results.
2) There is currently a bug that breaks the bezier animation when it is in a rotating and shortening bone. That was the problem, it should not happen and is already reported as a bug by Wes.
Edit: I found something new. This bug also can happen even if you don't manually change the beziers, because using the "fixed bezier handles" option will create curvature changes too.

I'm making an arm bending, but the character is in front view so I thought it would be better if I shorten the forearm (just a little bit to better fit the perspective) while it's rotating. But when I do that I see that two beziers are not working as expected: they are changing direction suddenly on frame 21 to 22. At first I thought it was a point transformation problem, but I deleted all the point keyframes and the problem persists. When I remove the keyframe that shortens the bone is when the problem dissapears. Like Greenlaw suggested, the problem also dissapears if I set the two points to "smooth" with the curvature tool on frame 0, so using points without beziers seems to avoid this unpredictable animation bug. I dont want to be forced to use points without beziers so I want to see if this is a bug and if it can be solved.

The two problematic points are the ones at the end of the forearm (at the wrist) and their beziers change suddenly from frame 21 to 22. This problem can be replicated in any other point of the forearm if you do this: go to frame 24 on the vector layer "R Arm Base" select any point and with the Point Transformation tool change the bezier direction of that point. Now, this new curvature animation will fail on the same frame 21 to 22. I think it has something to do with the bone rotation affecting the bezier animation in some way. Also, If you try to move the handles you will manipulate them normally if you do it on any frame from 0 to 21 but from frame 22 when you try to manipulate the handles, your mouse movements move the beziers to the opposite intended direction wich may be related to the issue.

This is the proyect file (updated 11-4-21):
https://1drv.ms/u/s!AiyKCw6Xey5TgZUCaCQ ... Q?e=scBFH5


Thank you all for your help!
Last edited by Daxel on Tue Jun 14, 2022 10:06 am, edited 12 times in total.
User avatar
Greenlaw
Posts: 9192
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Bone shortening not working as expected

Post by Greenlaw »

Still can't see the video: screen says it's not available. Maybe a privacy setting?
Daxel wrote:...But when I do that I see that some beziers are not working as expected: they are changing direction suddenly and then getting back to normal 3 or 4 frames later...
The moment you mentioned bezier, I thought: There's your problem. Don't use bezier points. Well, not in this case anyway.

Bezier points are useful for precision drawing but they're terrible for smooth interpolation between shapes. Switch the points back to normal 'Moho' points and your bones deformations should behave predictably. You'll probably need to add a few more points and tweak the curvature to get the shape you want but, more importantly, it will do what you want during animation.

In short, bezier points are great for static objects like props and backgrounds but not so much for shapes deformed using bones and Smart Bone actions.

Normally, I avoid bezier for deforming character art and stick to traditional points and curvature. I may switch to bezier mode for static and non-deforming items when I feel it will be faster and more precise to draw those items, and only if I don't anticipate deforming those items in the future.

Hope this helps.
Last edited by Greenlaw on Sat May 11, 2019 5:23 pm, edited 1 time in total.
User avatar
synthsin75
Posts: 9935
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Bone shortening not working as expected

Post by synthsin75 »

Without seeing the actual problem, it might work better if the points are rigidly bound to the bone. IOW, no flexi-binding...either point or layer binding (or maybe Bones>Use Selected Bones for Flexi-binding, but only one bone). It could also be that your bezier handles are too extreme, so as the bone shortens, neighboring points move too much.
Daxel
Posts: 967
Joined: Wed Mar 27, 2019 8:34 pm

Re: Bone shortening not working as expected

Post by Daxel »

Greenlaw wrote:Still can't see the video: screen says it's not available. Maybe a privacy setting?
Daxel wrote:...But when I do that I see that some beziers are not working as expected: they are changing direction suddenly and then getting back to normal 3 or 4 frames later...
The moment you mentioned bezier...
Thank you for your answer! Yes it was a privacy setting. The link should be working now! And I made a second video that shows better.
I deleted all the point animation so, if I understand it right, the bezier settings doesn't matter now, it should not affect the way bones move their binded points, is that right? I tried with the beziers desactivated anyway but nothing changed.
To simplify the experiment, I deleted the smartbone action so its a normal bone now with only simple bone shortening (point binding method) but the problem persists.
Daxel
Posts: 967
Joined: Wed Mar 27, 2019 8:34 pm

Re: Bone shortening not working as expected

Post by Daxel »

synthsin75 wrote:Without seeing the actual problem, it might work better if the points are rigidly bound to the bone. IOW, no flexi-binding...either point or layer binding (or maybe Bones>Use Selected Bones for Flexi-binding, but only one bone). It could also be that your bezier handles are too extreme, so as the bone shortens, neighboring points move too much.
Thank you for answering! The youtube video is working now and I made another one to show more information. It is only point binding, and I even deleted the smartbone action so now its a simple bone with point binding with bone shortening animation but the problem persists. Like the second video shows, the shortening works well when the bone is not rotated, but once rotated is when the problem appears. I checked the points binded to the forearm and all is like it should be.
User avatar
Greenlaw
Posts: 9192
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Bone shortening not working as expected

Post by Greenlaw »

Daxel wrote:so, if I understand it right, the bezier settings doesn't matter now, it should not affect the way bones move their binded points, is that right? I tried with the beziers desactivated anyway but nothing changed.
I should have mentioned this but just hiding the bezier handles does not change bezier points back to standard points. Now they're just bezier points with hidden handles.

Once a point has been edited using the bezier handles, it remains a bezier point until you convert it back to a standard point. To do this, you need to select the point and then click Smooth or Peak.

Basically, a standard point is weighted equally on both sides of the point, and when you edit a bezier handle even slightly, it becomes a bezier point. To prevent this from happening accidentally, I keep the Show Bezier handles option disabled until I need it.

One 'flaw' in Moho is that this switch is not available in the Curvature tool, where it would also be useful. Wes (Synthsin75) created a mod that adds the option to Curvature, which I highly recommend getting. You can find the mod elsewhere in the forums.
Daxel
Posts: 967
Joined: Wed Mar 27, 2019 8:34 pm

Re: Bone shortening not working as expected

Post by Daxel »

Greenlaw wrote:
Daxel wrote:so, if I understand it right, the bezier settings doesn't matter now, it should not affect the way bones move their binded points, is that right? I tried with the beziers desactivated anyway but nothing changed.
I should have mentioned this but just hiding the bezier handles does not change bezier points back to standard points. Now they're just bezier points with hidden handles...
That's interesting... I'm experimenting with the beziers now and I saw that if I do what you said (clicking smooth) on the two points that are being problematic, the shape changes and now they work properly. But I can see the bezier handles are still one twice larger than the other like they were before, so I'm confused about what did the smooth option do. To be sure about the problem being solved by the smooth option and not by just changing the shape, I tried moving the handles but that didn't work so I guess there is something different about the smooth option like you said.

I have a strong preference for bezier handles and it's how I'm used to work in any vector software so I am very concerned about this behaviour that is not predictable or desirable, it looks like a bug and actually this is not the first time I notice the beziers doing not predictable changes mid animation. Do the developers know this? Is this going to be solved in the future?
User avatar
synthsin75
Posts: 9935
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Bone shortening not working as expected

Post by synthsin75 »

Daxel wrote:I have a strong preference for bezier handles and it's how I'm used to work in any vector software so I am very concerned about this behaviour that is not predictable or desirable, it looks like a bug and actually this is not the first time I notice the beziers doing not predictable changes mid animation. Do the developers know this? Is this going to be solved in the future?
We can't tell if it's a bug without seeing the file, as it could be some interaction with a bad smart bone or user error. I haven't been able to replicate the behavior here.
User avatar
Greenlaw
Posts: 9192
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Bone shortening not working as expected

Post by Greenlaw »

It's not a bug but just the nature of working with bezier points for this type of animation. Bezier can get you very precise shapes making them preferable for drawing but they're just not going to interpolate smoothly unless you create extra keyframes to make the transitions more predictable. This makes using bezier less desireable for complex animations and, personally, not worth the headache.

My suggestion is to get comfortable with the standard points and editing for animation, and use the bezier points for other things where it's more suitable.

FWIW, I've been drawing with bezier handles since the release Adobe Illustrator 1.0 so I'm normally a big fan of drawing this way...just not when I'm drawing for character rigs in Moho. :)
Daxel
Posts: 967
Joined: Wed Mar 27, 2019 8:34 pm

Re: Bone shortening not working as expected

Post by Daxel »

synthsin75 wrote:
Daxel wrote:I have a strong preference for bezier handles and it's how I'm used to work in any vector software so I am very concerned about this behaviour that is not predictable or desirable, it looks like a bug and actually this is not the first time I notice the beziers doing not predictable changes mid animation. Do the developers know this? Is this going to be solved in the future?
We can't tell if it's a bug without seeing the file, as it could be some interaction with a bad smart bone or user error. I haven't been able to replicate the behavior here.
This is the file (problembezier.moho) thank you for your help. I deleted every thing except the problematic layers and made the bone animation of rotating and shortening so you only have to play it to see the problem. The vector layer is not animated and the bone uses point binding. The two problematic points are the ones at the end of the forearm (at the wrist) and their beziers change suddenly from frame 21 to 22. This problem can be replicated in any other point of the forearm if you do this: go to frame 24 on the vector layer "R Arm Base" select any point and with the Point Transformation tool change the bezier direction of that point. Now, this new curvature animation will fail on the same frame 21 to 22. I think it has something to do with the bone rotation affecting the bezier animation in some way. Also, If you try to move the handles you will manipulate them normally if you do it on any frame from 0 to 21 but from frame 22 when you try to manipulate the handles, your mouse movements move the beziers to the opposite direction wich may be related to the issue.
https://1drv.ms/u/s!AiyKCw6Xey5T00vOnK_CY-bqjiP0

I updated the original post with all this information.
Thank you.
Last edited by Daxel on Sat May 11, 2019 11:56 pm, edited 3 times in total.
Daxel
Posts: 967
Joined: Wed Mar 27, 2019 8:34 pm

Re: Bone shortening not working as expected

Post by Daxel »

Greenlaw wrote:It's not a bug but just the nature of working with bezier points for this type of animation. Bezier can get you very precise shapes making them preferable for drawing but they're just not going to interpolate smoothly unless you create extra keyframes to make the transitions more predictable. This makes using bezier less desireable for complex animations and, personally, not worth the headache.

My suggestion is to get comfortable with the standard points and editing for animation, and use the bezier points for other things where it's more suitable.

FWIW, I've been drawing with bezier handles since the release Adobe Illustrator 1.0 so I'm normally a big fan of drawing this way...just not when I'm drawing for character rigs in Moho. :)
Yes I think that it's better to not use bezier points for animation until they work properly, but I can only see this as a bug because this is not the intended result, is not desirable and also not predictable. I uploaded the file and I really hope this is all because of some mistake I made but so far I think it is a bug and I hope this will be fixed because I really like the software but I wanted to use bezier points for animation.

This is the file (problembezier.moho). I deleted every thing except the problematic layers and made the bone animation of rotating and shortening so you only have to play it to see the problem. The vector layer is not animated and the bone uses point binding. The two problematic points are the ones at the end of the forearm (at the wrist) and their beziers change suddenly from frame 21 to 22. This problem can be replicated in any other point of the forearm if you do this: go to frame 24 on the vector layer "R Arm Base" select any point and with the Point Transformation tool change the bezier direction of that point. Now, this new curvature animation will fail on the same frame 21 to 22. I think it has something to do with the bone rotation affecting the bezier animation in some way. Also, If you try to move the handles you will manipulate them normally if you do it on any frame from 0 to 21 but from frame 22 when you try to manipulate the handles, your mouse movements move the beziers to the opposite direction wich may be related to the issue.
https://1drv.ms/u/s!AiyKCw6Xey5T00vOnK_CY-bqjiP0

I also updated the original post to resume all the information.
Thanks for the help!
User avatar
synthsin75
Posts: 9935
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Bone shortening not working as expected

Post by synthsin75 »

Okay, this is a repeatable bug, and I'll report it to the devs. I've narrowed down what causes it and there's not really a workaround other than not using beziers. But in your case, you are already using enough points to create the exact same shapes without beziers. Here's an example: http://www.filedropper.com/nobeziernoproblem
Daxel
Posts: 967
Joined: Wed Mar 27, 2019 8:34 pm

Re: Bone shortening not working as expected

Post by Daxel »

synthsin75 wrote:Okay, this is a repeatable bug, and I'll report it to the devs. I've narrowed down what causes it and there's not really a workaround other than not using beziers. But in your case, you are already using enough points to create the exact same shapes without beziers. Here's an example: http://www.filedropper.com/nobeziernoproblem
Yes, that was only experimenting for learning so this arm in particular doesn't matter but thank you. My intention is not only to use less points, but to be able to use bezier points for animation and have the intended result.
The point by point drawing without beziers is a drawing method that I have only seen being used in Moho but there should be a lot of people like me that is more used to work with beziers in Toon Boom, Ilustrator and other very used softwares, so I think that adding beziers for Moho was a very good idea to atract more artists (like me) and be more friendly and open to them, because Moho has very awesome features to offer. But we need the beziers working as expected. Please let me know if the issue is fixed or where can I keep track of the state of the bug if there is a place for that.
I feel like all the problems that I've found using beziers could be related to this bug because the effect was similar (beziers changing direction suddenly) so who knows, maybe this is all that needs to be fixed for them to work perfectly.
Thank you again (:
User avatar
synthsin75
Posts: 9935
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Bezier points not working as expected

Post by synthsin75 »

It's logged on the beta site for Moho 13, so there's no way to provide you any tracking. You would have to report it to SM support yourself to track it, and I'm not sure how much support and beta overlap. Suffice it to say, there's no bug fixing going on for v12.


That said, Moho drawing without beziers is more than capable of accomplishing the same results, with minimal points and only curvature (as that's what it has always been designed to do). So learning that aspect of Moho may really help you out in the long run. But I agree, the whole point of beziers is to entice vector artists used to other software.
User avatar
Greenlaw
Posts: 9192
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Bezier points not working as expected

Post by Greenlaw »

I agree with Wes' statement.

Back when I started using Moho a few years ago, it did bother me that I couldn't draw with bezier points in the program. But since that time, I've used Moho in multiple TV productions and have gotten comfortable with using 'Moho' points, and have only occasionally use the bezier tools since they were added. As mentioned, I think it's nice to have bezier tools available but I don't prefer them for animation elements in Moho. In general, Moho points are just a lot easier to control in a rig.

For drawing, I wish Freehand tool worked better though. I personally would take that improvement over better bezier handles. (But that's just me.) :)
Post Reply