Can I have the bones of a skeleton constrain themselves to RigidBodies?

Godot Version

4.5.1

Question

I’m trying to have a rigged mesh deform using some unique physics. I’ve set up a bunch of RigidBodies with joints, and the physics simulation is acting the way I want. Now I need to have my animated mesh to follow them. There are 9 rigid bodies in my simulation and a rigged mesh that has 9 deformation bones. For each bone in my mesh, I want to have it constrained to the position and rotation of my rigid body.

This is something like how in Blender you can set up a transform constraint on a bone so that it copies the transform value of an object in the scene. I’d like to do that in Godot, but the only bone constraint I can find is SkeletonIK3D and it seems to be more used for pointing bone chains toward a goal. I just want the bone to be set to the RigidBody transform. Is there a way to do this?

Use a BoneAttachment3D with BoneAttachment3D.override_pose enabled. Add it as a child of your Skeleton3D.

Then you can use a RemoteTransform3D as a child of your RigidBody3D and point its RemoteTransform3D.remote_path to the BoneAttachment3D node.

3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.