Bone animation broken

Hi Everybody!
So I got an issue and I’m not sure where it’s coming from. Here’s the scene:
https://playcanvas.com/editor/scene/593241
(not sure if I did that right. Let me know if there’s another link/method I should use. I’m new to these boards.)

I have a very long joint chain (314 bones) and when I bring the animation into Playcanvas it breaks. Really badly. Here’s a shot of how it looks in Maya:

Here is what it looks like in Playcanvas:

As you can imagine, when it animates it gets all sorts of crazy.

It looks like the issue starts at bone # 257. Is there a limit to the number of joints Playcanvas supports? Like more than 256 bones is not supported or something? If so, is that a limit on joints per joint chain/skeleton, per object, or per scene?

If not, any idea of the issue here?

Any suggested solutions/workarounds would be appreciated.
Thanks!

2 Likes

Anyone experiencing this issue or even trying to use these kinds of bone animations?

over 256 bones would kill most engines, not sure what the limit of Play Canvas is but Unity and Unreal top out around 60 to 128 typically in a model, and a vertex can only be influenced by 4 bones tops in most engines, some 8

You might need to break the model and bones into smaller and more numerous chunks.

1 Like

Thanks for the reply, Mike!

So the limit is based on the object/model not the entire scene or imported FBX? (This is really my main question)

So in other words, if I split up the joint chain in Maya and use constraints to connect the chains that should work?

(NOTE: This scene actually worked within Unity, but I think Unity split up the joint chains under the hood?)

Thanks!
PJ

Unity splits it up for sure under the hood. Look in the hierarchy window in Unity and you’ll see it split into 64,000 polygon chunks for the mesh itself.

I don’t rig in Maya unfortunately so I couldn’t tell you if the constraints will export into Play Canas,

Yeah.
Constraints don’t transfer so I would bake the animation in to the joints.

I’m just trying to figure out if I need to split the actual mesh up somehow or if I can get away with just splitting up the joint chain.

I’m working on another issue right now, but I will test this out a bit later…

I typically bake for Web GL

Yep, there’s a 256 bone limit in PlayCanvas. The indices that are used to select bones are 8-bit.