当使用AddTorque()时,物体会绕着自己的中心点旋转。如果您希望物体绕着不同的旋转点旋转,可以使用AddRelativeTorque()或AddForceAtPosition()。
代码示例:
// 在以相对位置旋转的物体上使用AddRelativeTorque()
Rigidbody rb = GetComponent();
rb.AddRelativeTorque(Vector3.up * torque, ForceMode.VelocityChange);
// 在指定位置对物体使用AddForceAtPosition()
Rigidbody rb = GetComponent();
Vector3 forceDir = transform.forward * force;
Vector3 forcePos = transform.position + (Vector3.up * height);
rb.AddForceAtPosition(forceDir, forcePos, ForceMode.Impulse);