ObjectMeshSkinned: number bones limitations


photo

Recommended Posts

Hello!

In the documents of the engine has written: «Bone-based animation is good for animation of mechanical objects or characters (as a whole) for a long period of time. It is efficient, as it is often computed by the GPU (GPU skinning). The GPU skinning has a limitation of 4 bones per vertex and 64 unique bones per surface, which is usually sufficient.».

 

There is a question: is it possible to overcome the restriction of quantity of the bones per some mesh by means of parting that mesh on several surfaces? For example: we have a mesh with 110 bones. Is performance be improved if it will be parted on two surfaces with 64 and 46 bones? If no, is it possible to use CPU skinning and will it be efficient? And another question: is those demands are actual for DirectX 11?

 

Thanks in advance!

Link to post

 

Is performance be improved if it will be parted on two surfaces with 64 and 46 bones?

 

No, but such approach would allow at least to use a total of 110 bones. Nevertheless I would guess that rendering performance is primarily bounded by the shear number of bones, not by the fact of rendering 1 or 2 surfaces.

 

is it possible to use CPU skinning and will it be efficient?
 
 
Modern hardware GPU skinning should always by far outperform CPU skinning especially for complex models with a lot of vertices (what I would expect for a model with 110 bones).
 
BTW can you elaborate a litte bit for what kind of models (characters, vehicles, ...?) you need so much bones ?

 

 

 

Link to post

Thank you for answering! Yes, we working with a characters and in order to approach the quality in animations we have to use more then 64 bones. Moreover, the models have some marker-bones used for attaching a cloth, armor, weapon etc.

Link to post