#SkinnedMesh scaling oddity

3 messages · Page 1 of 1 (latest)

crisp crane
#

I can't figure out what I'm doing wrong here. I've defined a mesh to represent the inside of a tube, including joint indices and weights. The joints being indexed and the model are all in world space, so my inverse bind pose matrices are all the identity. For some reason, this renders the tube at something like 2x scale. If I remove the joint attributes from the mesh and elide the SkinnedMesh component (leaving one in place without the other causes a panic), everything is rendered correctly. I've added some debug meshes at all of the control points used as joints and they line up with the wireframe exactly as I expect when skinning is disabled.

if I enable and animate the joints, everything works as expected, except that it's far too large in the render. it's perplexing me badly, I can't find any reason there is a scale being applied. I can't even find anything that seems likely to cause a bug somehow. I can compensate for this due to my design but the mystery is gnawing at me.

I've attached some screenshots showing the different states and I can probably make this into an example app if needed.

#

I've only tried this on an apple silicon macbook pro, i'm figuring out how to produce a build for the steam deck so i can determine if this happens off my machine

#

the images have descriptions, i didn't realize they'd be hidden, from top left

  • side view of the tube model, unskinned mode
  • unskinned model with wireframes and control points rendered
  • skinned model with control points and AABB of the tube model entity rendered
  • unskinned model with control points and AABB rendered