Animated Mesh LOD

Hey all,

I've seen the mesh LOD system which has been proposed and it makes a lot of sense (see here for instance). My question is: is it possible to make something similar for an animated mesh?

I guess I need to keep one Animation component on my main object so that the crossfades/blends that are currently being applied keep running throughout the LOD level changes. But that means I have only one set of animations, and these must be compatible with all the skeletons for the various LOD levels. Correct?

If so, is there a way in Unity to have one animation play on two different skeletons? Are the bones mapped by name, for instance?

Thanks, Ben

Yes and no, you can play same animation on two different skeletons, but it will only will play animation on the joints which have matching paths. Which means if you have this sturecture in animation:

Root/Hips/Spine/Arm/Hand
Root/Hips/Spine/Arm/Hand/Thumb
Root/Hips/Spine/Arm/Hand/Thumb/Thumb1
Root/Hips/Spine/Arm/Hand/Finger1
Root/Hips/Spine/Arm/Hand/Finger2

You can throw away some child bones, for exmaple:

Root/Hips/Spine/Arm/Hand
Root/Hips/Spine/Arm/Hand/Finger2

Buf if you decide to throw away Thumb, like this

Root/Hips/Spine/Arm/Hand
Root/Hips/Spine/Arm/Hand/Thumb1
Root/Hips/Spine/Arm/Hand/Finger1
Root/Hips/Spine/Arm/Hand/Finger2

The animation Thumb1 won't be played. I hope this helps.

Actually you should first understand what you're trying to achieve. The usual goal of mesh LOD is to reduce vertex count, by thinking in that direction you could make lower-vertex-count mesh and skin it to the same skeleton, that would allow you to play same animations on it. That should be doable without a lot of trouble. Once people start doing LOD on animated meshes they usually think about animation LODing, because animations are expensive CPU wise, but that's actually hard to do without getting into internals of Unity.