使用 AddTorque 沿一个方向旋转刚体
Rotate rigid body in one direction with AddTorque
我有一个围绕物体旋转的主相机(我已经使用 AddForce 移动了它)。使用 AddTorque,我希望对象在相机的 Y 轴旋转指向的方向上旋转其 Y 轴旋转,以模拟人转身的旋转。要做到这一点,我想使用一个力,当两个物体的 Y 轴相同时给我 0,但我试过了,刚体只覆盖了相机旋转的一部分,而另一部分好像没有被检测到。
var currentR = rb.rotation.y;
var targetR = Camera.main.transform.rotation.y;
rb.AddTorque(transform.up * 1000f * (targetR - currentR));
Vector3 camForward = Camera.main.transform.forward;
Vector3 rbForward = rb.transform.forward;
Vector3 torque = Vector3.Cross(camForward, rbForward);
rb.AddTorque(torque);
我有一个围绕物体旋转的主相机(我已经使用 AddForce 移动了它)。使用 AddTorque,我希望对象在相机的 Y 轴旋转指向的方向上旋转其 Y 轴旋转,以模拟人转身的旋转。要做到这一点,我想使用一个力,当两个物体的 Y 轴相同时给我 0,但我试过了,刚体只覆盖了相机旋转的一部分,而另一部分好像没有被检测到。
var currentR = rb.rotation.y;
var targetR = Camera.main.transform.rotation.y;
rb.AddTorque(transform.up * 1000f * (targetR - currentR));
Vector3 camForward = Camera.main.transform.forward;
Vector3 rbForward = rb.transform.forward;
Vector3 torque = Vector3.Cross(camForward, rbForward);
rb.AddTorque(torque);