I have a hierarchical rigid armature (such as a robot arm or leg)
This is rendered using individual static meshes, not using a skinned mesh.
I have created static mesh components in my actor for each segment.
I have meshes for the segments.
I use the convention that 0,0,0 in the mesh is the attachment to the parent.
I then offset each child bone by length-of-parent-bone along the X axis, and attach/rotate the child appropriately there.
The bone pieces have collisions that are carefully constructed to not interfere while the armature is articulating, so it shouldn’t “explode” through self-penetration.
No, I want this to articulate as a physical assembly, as a single actor.
I tried checking “Simulate Physics” together with “fix position x/y/z” and “fix rotation x/z” so that I create a revolute joint that only rotates around the Y axis.
However, when I start simulating this, each particular sub-object is fixed in world space, and swings around the pivot point.
How can I make this assembly be articulated in component parent space, rather than world space?
I know about the PhysicsConstraintActor, but I don’t want to build my assembly out of a dozen actors.
Here is the physics setup for each link in the armature: