Morph Targets don't update Bounds?

Is there nothing at runtime like us old-school game developers are used to where a box is dynamically updated (even asynchronously is fine) from the actual rendered geometry or something like this?

We don’t have any run-time solution to make this work. You can try USkinnedMeshComponent.ComputeSkinnedPositions and calculate the new skinned bound but it doesn’t include morphtarget. We do calculate bound using the mesh resource data when import but again that doesn’t include morphtargets. You can modify ComputeSkinnedPositions to include morphtarget. You can reference SkinVertices function in SkeletalRenderCPUSkin.cpp, but not sure if all data is available.

Any thoughts or suggestions would be greatly appreciated here.

You can add extra joint that doesn’t have any vert and you can use that joint to scale physics asset. You’ll have to create body for the bone because by default, I don’t think we create body if no vert is found.

What I’d think is that you have meta data that contains morphtarget and bounds of it, and maybe in run-time you can calculate the new bound based on the weight of morphtarget blending. Note that non-uniform scale doesn’t work well with certain shapes - i.e. sphere. I’d use Box if you have a lot of 3d scale. It’s not perfect either but it’s the closest you can get to.

Thanks,

–Lina,