Jumpy smart bones !

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

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
Tsongo
Posts: 41
Joined: Wed Jan 31, 2018 12:12 pm

Jumpy smart bones !

Post by Tsongo »

Hello,

My smart bone movements are misbehaving and I can't think why.

I made some characters and did their arm bends and lifts as smart bones. They work absolutely fine when I move the relevant smart bone dial via the actions animation channel, but when they're actually in the animation itself they go a bit jumpy and don't bend smoothly.

I haven't got a clue where to start to fix this and can't even tell where they go wrong in the actions animation channel as they look fine. All animations are set to smooth too.

It took me ages to do this and I hope I haven't got to start again so any ideas or suggestions will be much appreciated.

Thank you.
User avatar
Greenlaw
Posts: 9250
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Jumpy smart bones !

Post by Greenlaw »

Based on your description, I don't think I've seen that behavior before. You'll need to post an example file.
Tsongo
Posts: 41
Joined: Wed Jan 31, 2018 12:12 pm

Re: Jumpy smart bones !

Post by Tsongo »

No problem here it is .. https://www.dropbox.com/s/mrh41pbdsnql0 ... .anme?dl=0

Hopefully I added it correctly.
User avatar
Greenlaw
Posts: 9250
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Jumpy smart bones !

Post by Greenlaw »

Not feeling well atm, so I'll look more closely later. At a glance, my initial thoughts are:

1. You probably don't have enough frames in your action. Moho's actions play back whole frames, not subframes, so if you don't give the action enough frames, they may stutter when played back too slowly on the Mainline. For example, I see the Smart Bone Action for the arms is about 60 frames long but you're playing the motion back at 102 frames on the mainline. This is almost twice the duration of the SBA.

2. I'm not sure about this but there may be conflicts in the way you're combining actions.

Just curious but why are you using Smart Bone Actions to move the arms and legs. Wouldn't it be simpler and easier to animate the limbs with IK? Animating this character with IK as normal would definitely prevent the stuttering problem.

Hope this helps. I'll try to take a closer look tomorrow.
Tsongo
Posts: 41
Joined: Wed Jan 31, 2018 12:12 pm

Re: Jumpy smart bones !

Post by Tsongo »

Oh dear I had no idea that the timeline was important for smart bones, I just thought it was a way to fit everything in.

I used smart bones because I thought that having them would mean that I only needed to adjust the vector layers once when bending bones and that I'd create sort of puppets on strings that I could move about as I pleased. But it seems I could've made a big mess instead.

I just looked up IK as I didn't know what it was and it could be hard to put in now.

Thanks for the quick reply and I hope you're feeling better soon.
User avatar
synthsin75
Posts: 9968
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Jumpy smart bones !

Post by synthsin75 »

Yeah, smart bone actions usually need to be around 200 frames, so they have enough room to smoothly interpolate.

You can make the limb bones themselves the smart bones, but having them controlled like a puppet doesn't cause any problems. It just means that you have to animate each bone individually, instead of just grabbing, say, the hand bone to animate the whole arm (IK, just using the manipulate bones tool).
User avatar
Greenlaw
Posts: 9250
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Jumpy smart bones !

Post by Greenlaw »

Sorry, I wasn't feeling well last night so I really should take another look at your setup to be sure I was looking at it right.

I just took another look and, yeah, this setup is a bit odd for what the animation is. Animating a character like this should be fairly straightforward, especially considering the design.

IK, or Inverse Kinematics, is on by default in a bone chain, and it's what allows you to animate limbs like arms and legs but moving the ends of the IK chain. To do this, you need to be using the Manipulate Bone tool. This tool can animate rotation throughout the chain using IK. Using it on the root of the chain (the parent at the very end of the rig, usually the hip bone,) moves the bone instead of rotating it. For example, if you're using IK on the arms, you would move the hand or forearm and the rest of the arm will follow. If you use Manipulate Bone on the root bone, the whole rig will be repositioned with it, and not rotate in place.

Sometimes you don't want IK to kick in and you only want to animate a single bone in the chain. In this case, hold down Alt and Manipulate Bone will rotate only that bone.

In animating an arm, I typically use Manipulate Bone in IK mode for the upper arm and forearm bone, and I use the tool with Alt for the hand and forearm as needed. It becomes second nature once you get used to it.

Legs can be animated the same way but I prefer to use Target Bones at the ankles. Target Bones make the limb's IK follow a bone, which is useful for planting feet on the ground. When using Target Bones, you probably want to enable Independent Rotation for the feet bones--this keeps the feet locked from rotation until you want to animate the rotation. Target Bones can be used for arms too but I normally don't do this unless I have a specific reason to. (Like, for example, sticking the hands to the hips, in which case you might parent the targets to the hip bone. Target Bones are keyframeable, btw, so you can have hands stick and unstick to the hips as much as you like. If you look at this Puss In Boots reel, you'll see this happening often.)

The body shouldn't be affected by the IK from the arms and legs, and you'll be able to animate it independently. This is because an IK chain stops when two or more bones are parented to another bone--in this case, the four limbs and head bones. This IK termination makes animating the character with IK more manageable...otherwise, it will be like trying to animate in a rag doll.

So where should Smart Bones fit in here? Generally, you would use it on the forearms or lower leg bones to drive corrections in the elbows and knees respectively. This would be applied directly to the rig and not to bones outside the rig as you have it in your project file. In other words, bending the limbs directly should make the action automatically correct the joints.

But to be honest, with this 'shadow puppet' design, you shouldn't even have to do that. I think you can break out each limb section to its own layer and Layer Bind it to its own bone. Since the art is all black, with no outlines, and if you round the limbs and set the pivots correctly, the joints should bend perfectly without the need for joint correction. In other words, you should set this up like you might a real shadow puppet.

Hope this helps. Good luck!

(Ugh...still not feeling well. Gotta crawl back into bed now.) :(
Last edited by Greenlaw on Mon Feb 25, 2019 10:04 pm, edited 1 time in total.
Tsongo
Posts: 41
Joined: Wed Jan 31, 2018 12:12 pm

Re: Jumpy smart bones !

Post by Tsongo »

Thank you very much for the excellent explanation, I'm going to start pulling my people apart and experimenting.

I've been fiddling about with simple target bone set ups and really like the way they stretch so easily and how easy it is to make someone kneel or bend down.

So I think I might go for the bone cocktail as suggested perhaps with a hint of smart bone joints ( but I'm not too happy with them at the moment ).

Your puss in boots is really good and I think I'll be back here to cry for help about turning characters at some point.

Now, stay in bed and recover your good deed for the day is definitely done.
User avatar
Greenlaw
Posts: 9250
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Jumpy smart bones !

Post by Greenlaw »

Re: number of frames in an Action, for me, it depends on the animation. An eyeblink, for example, I might give as little as 12 frames. It would be very rare to require more than half a second to close an eye...maybe 24 frames if you anticipate the character making a flirty wink, but even that's pretty slow.

The point is, you should set the action's range to the longest time you anticipate the character taking to do the animation, which can vary by the animation itself and the character performing it.

For me, a full body turn is usually around 288 - 360 frames. Less if there's not actually much animation in it because of the design, or more if the design is complex and has a lot of visibly moving parts. If I need turns for arms and legs, I might make them shorter because there's usually a lot less detail in the animation. Hands vary by the character and the complexity of the rig. For 'super cheap' cartoon hands that just snap to poses, I may have as little as 1 or two frames, and for more realistic hands I may give 48 frames to reach the target pose.

Tip: It helps to think of the range in units of time rather than frames. Good luck!
Tsongo
Posts: 41
Joined: Wed Jan 31, 2018 12:12 pm

Re: Jumpy smart bones !

Post by Tsongo »

I tried extending the times of the smart bone actions and it didn't make much difference. However all is not lost and I've followed your advice and started the remake of my characters.

The limbs are getting split up and working well so far, I really like the way the target bones work and the characters should be a lot easier to animate now. I only used a couple of smart bones in my last creation and spent a lot of time doing things manually bone by bone and moving points so I thought they'd make my life easier and cut all that out. But what I've got set up now is a big improvement so I'm very happy.

I'll still have to adjust some points when necessary but the ease of movement is 100% better than what I'm used to. I used to bend my characters legs then move the layer into position using onion skins as a guide to get them to bend down etc... Now my feet stay where they were standing !

With regards to the turn, seeing as I'm dealing with all shadow people that are not quite fully turned to profile, I was going to make three layers. One turned, one half way and one face on then switch them and reverse the unseen layers. I'll use onion skins set in advance in time and adjust the points so they are nearly the same when a switch happens. Then after hitting the mid point switch back to the reverse images and do the same again. Hopefully it'll work and it's only really for when people change direction.

But I will heed your wise advice and think about timing more. I can see me moving around my lounge and counting quite a lot in the future, rather than my tried and tested hit and miss approach !

Thank you very much for all your help it's really made a massive difference.

ps. Hope your feeling better now.
User avatar
Greenlaw
Posts: 9250
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Jumpy smart bones !

Post by Greenlaw »

Thanks! Yes, I do feel better now.

Back on the subject of Actions and duration, I should add that it generally doesn't hurt to make the actions longer than you think you need. The reason I keep mine close to the expected time needed for the animation on the timeline is because it's more manageable. Making an eyeblink action last 12 frames long or 600 frames long will produce the same result when animated normally in the Mainline (typically 3 to 5 frames,) but it's a lot easier to edit the shorter one.

So, there are no firm rules about how long an action should be. It's a judgement call: just use what's easiest to do and produces the best result in your particular situation.
Tsongo
Posts: 41
Joined: Wed Jan 31, 2018 12:12 pm

Re: Jumpy smart bones !

Post by Tsongo »

I think from now on it's definitely going to be a case of making the actions longer so it goes smoothly and you can adjust them better.

I'm going to be happy for now moving my people around with ease, but if I do a good movement that can be used more often can you copy and paste it into an action or is that asking for trouble ?
User avatar
Greenlaw
Posts: 9250
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Jumpy smart bones !

Post by Greenlaw »

That should be added as a Regular Action. Think of Regular Actions as pose and animation presets. If you build a library of poses or animations in Regular Actions, you can re-apply them elsewhere. You might use this for re-using run/walk cycles or maybe a library of facial expressions. You can also just copy and paste keyframes between two open projects.

A Smart Bone Action is a sequence of keyframes linked to the rotation of a bone. I like to think of Smart Bones Actions more as a 'rigging tool' rather than a 'animation preset' system. A Smart Bone Action is similar to the Set Driven Key technique found in many 3D animation programs. (As a 2D animation program, Moho is kinda of unique to have this capability.)

I guess you could use it to bake-in multiple walk and run cycles into a character but IMO that's probably not a practical way to use it. I think doing so would simply over-complicate the rig and probably limit what you can do with the character to just those animations.
Last edited by Greenlaw on Tue Feb 26, 2019 11:56 pm, edited 2 times in total.
Tsongo
Posts: 41
Joined: Wed Jan 31, 2018 12:12 pm

Re: Jumpy smart bones !

Post by Tsongo »

Copying and pasting key frames between open projects, I could've saved hours !

Tomorrow I'm going to have a go at putting one of my new improved characters in a scene and I'll test out the action saving. I did some walk cycles as a regular action on them ( been wiped out now ) and understand how they go in. But I'll be sticking with what you suggest and keeping smart bones in the rig.

Thing is though that when you start up Anime Studio you're greeted with characters surrounded in bone dials so it points you towards that direction.

I've certainly learnt a lot since I posted about my badly behaved smart bones and now I'm happy they did what they did.. Many thanks.
Post Reply