In my game, Puppet Flight, the main character is a puppet, so I want his limbs to dangle freely at his side while he floats through the sky. I set up my own Character Joints, colliders, and rigidbodies, like picture 1, and I added a script to make him float forward. When I press play, his spinal area and head start floating forward, leaving his limbs far behind before they finally start moving, like in picture 2. What’s going on?
Each bone needs a joint/rigid body, and each joint down the chain needs to refer to the parent joint in order for it to stay connected to it.
I’m guessing you forgot to fill in the parent rigidbody field?
forgot… you may also have the “isKinematic” box checked… that causes the rigidbody to interact with physics, but not be affected by anything other than procedurally setting transforms in code, or driving it with animation.
I figured out a workaround, if not a solution. Yes, the connected body for the upper arms and the upper legs was not set to spine because if I set it, the arms’ gravity would drag the body down into oblivion (this character is meant to float, not fall). I fixed it by making an invisible “String” GO, with a kinematic rigidbody and a fixed joint to the character. Now I put the script on the string, and away we go.