コード例 #1
0
    void FixedUpdate()
    {
        Vector3 jointPos = transform.TransformPoint(joint.anchor);
        Vector2 jointXZ  = new Vector2(jointPos.x, jointPos.z);

        Vector3 massPos = GetComponent <Rigidbody>().worldCenterOfMass;
        Vector2 massXZ  = new Vector2(massPos.x, massPos.z);

        float displacement = Vector2.Distance(jointXZ, massXZ);

        joint.AddTorque(-Physics.gravity.y * displacement * GetComponent <Rigidbody>().mass * 1.001f);
    }