Interpolation issue - 'linear' keeps behaving as 'smooth'
Moderators: Víctor Paredes, Belgarath, slowtiger
-
- Posts: 4
- Joined: Mon Dec 16, 2024 7:50 pm
Interpolation issue - 'linear' keeps behaving as 'smooth'
There is probably something I don't understand but that issue makes me go crazy. Whenever I add some keyframes for rotation/eyes closing etc., I keep changing keyframes (both on frame 0 and the keyframe that is changing) to linear on every layer. The problem is, even though all layers (for eyes or face) are set to 'linear' it keeps behaving as it was set to 'smooth' randomly for some layers. I have to go AGAIN and change every layer to linear by selecting every keyframe and selecting linear from menu. Sometimes even that does not help. Not sure what to do about that.
>OhBean Animation Studio<
Re: Interpolation issue - 'linear' keeps behaving as 'smooth'
If you have to Copy Previous Key enabled (which you should,), Moho will default to whatever the interpolation is at frame 0 and always use the previous key afterward. (Similar to After Effects.)
It sounds like maybe you have the default interpolation set to Smooth, or you keep changing it. If so, I suggest setting it to Copy Previous Key and leave it alone. You should change this only when you're sure the new mode is what you'll be using for a while and you don't intend to switch.
To change an interpolation mode for an existing key, you need to right-click over the key and choose the new mode.
If you don't see the key on frame zero, you need to create a key after frame zero. Now, you can change frame zero, and then delete the later key.
Tip: If you're using Linear keys in a Smart Bone Action (which is typical), be sure to set a keyframe at frame 1 for it. Then you can set frame 0 to be whatever mode you need as the default for the Mainline (this is usually Smooth, but it depends on what you're animating.)
It sounds like maybe you have the default interpolation set to Smooth, or you keep changing it. If so, I suggest setting it to Copy Previous Key and leave it alone. You should change this only when you're sure the new mode is what you'll be using for a while and you don't intend to switch.
To change an interpolation mode for an existing key, you need to right-click over the key and choose the new mode.
If you don't see the key on frame zero, you need to create a key after frame zero. Now, you can change frame zero, and then delete the later key.
Tip: If you're using Linear keys in a Smart Bone Action (which is typical), be sure to set a keyframe at frame 1 for it. Then you can set frame 0 to be whatever mode you need as the default for the Mainline (this is usually Smooth, but it depends on what you're animating.)
NEW! Visit our Little Green Dog Channel on YouTube!
D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
-
- Posts: 4
- Joined: Mon Dec 16, 2024 7:50 pm
Re: Interpolation issue - 'linear' keeps behaving as 'smooth'
Thanks for reply. The problem is that keyframes look like 'linear' by the symbol of keyframe, 0 keyframe is set to 'linear', yet it behaves as 'smooth' for some reason. Once I select them and change from 'linear' to 'linear' (:O) it works again.
>OhBean Animation Studio<
Re: Interpolation issue - 'linear' keeps behaving as 'smooth'
Hmm...that's strange. Can you post a sample project? Because that really shouldn't happen. I just checked this in Moho 14.3 on my computer, and Linear is definitely Linear here. Once I set the first keyframe to be Linear, new keyframes that follow display the Linear icon and have the correct spacing between keyframes.

You're probably doing this already, but just to be sure, enable Show Path. This option will show the spacing of the frames.

You're probably doing this already, but just to be sure, enable Show Path. This option will show the spacing of the frames.
NEW! Visit our Little Green Dog Channel on YouTube!
D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
-
- Posts: 4
- Joined: Mon Dec 16, 2024 7:50 pm
Re: Interpolation issue - 'linear' keeps behaving as 'smooth'
Here is a link to example of my project:
https://drive.google.com/file/d/1LalJQD ... sp=sharing
I left only the part that is exibiting this behaviour. I can see all layers in 'glowa_rotate_R' action as 'linear' symbol at both keyframe 0 and keyframe 96, yet as you might see they are not moving in a linear fashion. 'mouth' and 'nose' layer is moving as 'smooth' for some reason (its lagging behind face, eyes and eyebrows layers). If I select these keyframes and change them to 'linear' it starts to work as intended.
While you are so cool to help me, would please tell me if there is a way to "amend" or rather connect two actions? I have a head rotation and an up and down movement created for one character, however up and down motion breakes while turning. Is there a way to solve that? I remember that Toon Boom Harmony had a grid that allowed to specify few poses (left-up, center-up, right-up etc.). Couldn't find anything like that for Moho.
https://drive.google.com/file/d/1LalJQD ... sp=sharing
I left only the part that is exibiting this behaviour. I can see all layers in 'glowa_rotate_R' action as 'linear' symbol at both keyframe 0 and keyframe 96, yet as you might see they are not moving in a linear fashion. 'mouth' and 'nose' layer is moving as 'smooth' for some reason (its lagging behind face, eyes and eyebrows layers). If I select these keyframes and change them to 'linear' it starts to work as intended.
While you are so cool to help me, would please tell me if there is a way to "amend" or rather connect two actions? I have a head rotation and an up and down movement created for one character, however up and down motion breakes while turning. Is there a way to solve that? I remember that Toon Boom Harmony had a grid that allowed to specify few poses (left-up, center-up, right-up etc.). Couldn't find anything like that for Moho.
>OhBean Animation Studio<
Re: Interpolation issue - 'linear' keeps behaving as 'smooth'
Hi @larsbeklager! I'll check the file later today, but hopefully, another experienced user can get to it sooner.

Re: conflicting Smart Bone Actions...
You should be able to create a Smart Bone Dial for up-down movements and a separate SBD for side-to-side. It's a fairly common setup I've used for characters in many shows. The tricky part is avoiding conflicts within the actions.
This typically occurs when points are animated directly in both actions and the motions conflict. There are a few ways to prevent this or make a correction for the conflict.
I prefer to avoid the conflict by placing the horizontal and vertical motions on different items. For example, I may insert horizontal movements on a group or layer in one action, and vertical movements on a bone that moves the group or layer in the other action.
When the vector art must be animated differently for each action at the points level, the potential for conflicting actions gets more complicated. My favorite way to solve this is to use MultRush's Mixed Smart Bones technique.
Once you learn this technique, also check out A.Evseeva's Mix Smart Bone script, which automates the process. I recommend learning it manually first because you'll probably want to modify the results if the script doesn't do exactly what you wanted.
NEW! Visit our Little Green Dog Channel on YouTube!
D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
- hayasidist
- Posts: 3839
- Joined: Wed Feb 16, 2011 8:12 pm
- Location: Kent, England
Re: Interpolation issue - 'linear' keeps behaving as 'smooth'
I can confirm the behaviour is as you report. There is something very odd in that moho file and it is resolved by resetting the animation to linear.larsbeklager wrote: ↑Mon Dec 30, 2024 10:40 am Here is a link to example of my project:
https://drive.google.com/file/d/1LalJQD ... sp=sharing
I left only the part that is exibiting this behaviour. I can see all layers in 'glowa_rotate_R' action as 'linear' symbol at both keyframe 0 and keyframe 96, yet as you might see they are not moving in a linear fashion. 'mouth' and 'nose' layer is moving as 'smooth' for some reason (its lagging behind face, eyes and eyebrows layers). If I select these keyframes and change them to 'linear' it starts to work as intended.
While you are so cool to help me, would please tell me if there is a way to "amend" or rather connect two actions? I have a head rotation and an up and down movement created for one character, however up and down motion breakes while turning. Is there a way to solve that? I remember that Toon Boom Harmony had a grid that allowed to specify few poses (left-up, center-up, right-up etc.). Couldn't find anything like that for Moho.
Just for my own sanity: what version of moho was used to create the original file (I'm wondering if - for example - this is an import and update of a character created in an earlier version even though you're working with it now on a later version). Perhaps a copy /paste of points from one layer to another - or maybe a layer duplicate and points then added?? (e.g. duplicate lips_down to make lips_up and then add points ??).
-
- Posts: 4
- Joined: Mon Dec 16, 2024 7:50 pm
Re: Interpolation issue - 'linear' keeps behaving as 'smooth'
This particular example has been created in Moho 14.3, however I've been experiencing this behavior in previous version too and for every character I worked on in my series (was making me crazy). I found a way to stop this from occuring. I just create a copy of 0 frame on frame 1 and then block keyframe on the frame I want the motion to stop and then change all of frames to linear. It has its downfalls as any change on frame zero has to be transfered to frame 1 for every action, but it's better than having animation ouf of sync.
>OhBean Animation Studio<
Re: Interpolation issue - 'linear' keeps behaving as 'smooth'
That's very strange...I've done quite a lot of animation with Moho 14 (.1 - .3) this past year just for the channel's shorts and tutorial series alone, and I haven't seen this behavior. Could this error be caused by a third-party script?
For me, when I use Copy Previous Key, then whichever Interpolation mode I set for frame 0 becomes the default for that channel. So, I just set it and forget it, and it always works fine. Typically, I only r-click change a keyframe's interpolation mode in special cases, like when it needs to change in mid-animation...but even then, I leave the default setting in the list to Copy Previous Key.
When I need a different default interpolation mode within a Smart Bone Action, then I'll set a keyframe at frame 1 inside the action, and set the keyframe's interpolation mode to what I need. But this is done only from 1 inside the Action, not frame 1 on the Mainline.
Typically, I set frame 1 inside the action to Linear, and frame 0 to Smooth, so Smooth becomes the default mode for the Mainline. Using Copy Previous Key ensures I get my preferred Interpolation mode for each channel.
Hope this helps.
For me, when I use Copy Previous Key, then whichever Interpolation mode I set for frame 0 becomes the default for that channel. So, I just set it and forget it, and it always works fine. Typically, I only r-click change a keyframe's interpolation mode in special cases, like when it needs to change in mid-animation...but even then, I leave the default setting in the list to Copy Previous Key.
When I need a different default interpolation mode within a Smart Bone Action, then I'll set a keyframe at frame 1 inside the action, and set the keyframe's interpolation mode to what I need. But this is done only from 1 inside the Action, not frame 1 on the Mainline.
Typically, I set frame 1 inside the action to Linear, and frame 0 to Smooth, so Smooth becomes the default mode for the Mainline. Using Copy Previous Key ensures I get my preferred Interpolation mode for each channel.
Hope this helps.
Last edited by Greenlaw on Sun Jan 05, 2025 6:37 pm, edited 1 time in total.
NEW! Visit our Little Green Dog Channel on YouTube!
D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
D.R. Greenlaw
Artist/Partner - Little Green Dog
Little Green Dog Channel | Greenlaw's Demo Reel Channel
- hayasidist
- Posts: 3839
- Joined: Wed Feb 16, 2011 8:12 pm
- Location: Kent, England
Re: Interpolation issue - 'linear' keeps behaving as 'smooth'
What I've found:
in layers lips_up and lips_down, contrary to the VISUAL display in the action timeline, the frame 0 interpolation mode in the action is set to smooth. Changing this to Linear resolves the issue. (The same situation seems to be present in the "nose" layers too -- I didn't dig into the moho internals for the nose vectors, but changing those to linear also solves the problem.)
You can see this in the action: with interp mode "copy previous" on any frame between 1 and 95 grab a point and move it - you get a smooth keyframe.
(The main timeline frame 0 interp mode is set to linear but, as there is no animation of the points outside the action, this doesn't show.)
How this happened is not obvious to me, but I'm guessing it will have something to do with sequence of events (e.g. having smooth defaulted in mainline, creating an action then setting linear???) and this keeps happening because of repeating the technique or import / re-use / copy/paste ... etc of layers / actions.
Nonetheless, IMO the keyframe display in the Action timeline is plain wrong.
in layers lips_up and lips_down, contrary to the VISUAL display in the action timeline, the frame 0 interpolation mode in the action is set to smooth. Changing this to Linear resolves the issue. (The same situation seems to be present in the "nose" layers too -- I didn't dig into the moho internals for the nose vectors, but changing those to linear also solves the problem.)
You can see this in the action: with interp mode "copy previous" on any frame between 1 and 95 grab a point and move it - you get a smooth keyframe.
(The main timeline frame 0 interp mode is set to linear but, as there is no animation of the points outside the action, this doesn't show.)
How this happened is not obvious to me, but I'm guessing it will have something to do with sequence of events (e.g. having smooth defaulted in mainline, creating an action then setting linear???) and this keeps happening because of repeating the technique or import / re-use / copy/paste ... etc of layers / actions.
Nonetheless, IMO the keyframe display in the Action timeline is plain wrong.