我要旋转“ transform.forward”而不旋转变换。
但出现“ rot * tf.forward”问题的结果
我必须做很多旋转变换。
我知道变换。旋转成本很高。
为什么这些不同?
Transform tf = transform;
Quaternion rot = Quaternion.Euler(90f, 0f, 0f);
Vector3 eulerRot1 = rot * tf.forward * Mathf.Rad2Deg;
tf.roration *= rot;
Vector3 eulerRot2 = tf.forward * Mathf.Rad2Deg;
if(eulerRot1 == eulerRot2)
{
Debug.Log("Same");
}
else
{
Debug.Log("Not same");
}
答案 0 :(得分:1)
tf.forward不会将游戏对象向前旋转。 tf.forward是相对于您的游戏对象向前的矢量点。
transform.Rotate成本不高,直接通过它的转换移动游戏对象从不昂贵。用它的物理组件来移动它是昂贵的