best way to combine fine control of some parts, with animation of other parts?

We’re working on a little dragon flight simulator (see demo). We’re using Mecanim; since it’s not a humanoid, of course, we use the Generic type.

The model (bought from the Asset Store) includes a few basic wing-flapping animations, but we’d like more control over this: for example, we want to be able to glide for a while between flaps, based on the angle and speed you’re going. But of course we can’t just stop the animation — we would need the head and body to continue to do the subtle movements that make it look alive.

I’ve verified that we can take control of specific joints by simply assigning to their rotation in LateUpdate. So, one option is to do exactly that, for all the joints in the wings.

But we do have the ability to add more animations using Cheetah3D… so before we go too far down a possibly weedy path, I thought I would ask the gurus: how would you approach a situation like this? Would you just make a bunch of different flapping/gliding animations, and transition between them based on flight parameters? Or would you take control of the wing joints in code, and calculate what they should be doing on the fly, so to speak?

Thanks,

  • Joe

Hi Joe. The simplest way would be to have different animation states using different animations and to use parameters to switch from one state to another depending on those parameters.

Another more involved method would be to use animation layers which would override wings animation. However the risk when using layered animations is to end up with a character that looks a little “disjointed”. But technically that would work.

Good luck!
Seith