-
public void rotateRigidBodyAroundPointBy(Rigidbody rb, Vector3 origin, Vector3 axis, float angle) { Quaternion q = Quaternion.AngleAxis(angle, axis); rb.MovePosition(q * (rb.transform.position - origin) + origin); rb.MoveRotation(rb.transform.rotation * q); }
把 Rigidbody rb改为Rigidbody2D rb 即可实现
亲测 非常好用!
除此之外还有几种方法:
1.用动画铰链
2.创建父物体旋转父物体再删除父物体