首页 > 解决方案 > Unity 旋转与 .rotation

问题描述

我正在移动一个变换,但我不知道要修改哪个旋转。我应该更改 .rotation 还是在变换上使用 Rotate。Rotate() 指定一个绝对方向, .rotation 为当前方向添加一个旋转。

transformToMove.Rotate(new Vector3(yDif, xDif, zDif));

对比

transformToMove.rotation = Quaternion.RotateTowards(
        currentRotation, 
        desiredRotation, 
        maxDeltaAngle
    );

哪一个是正确的使用?

标签: c#unity3d

解决方案


如果您知道您希望它们的确切旋转,请将其直接分配给 transform.rotation。如果您希望它们从当前的任何旋转中转动一定量,请使用 transform.Rotate()。

所有 transform.Rotate() 要做的就是获取它们当前的旋转,添加您指定的数量,然后将其分配给 tranform.rotation。


推荐阅读