Transforms direction
from local space to world space.
从自身坐标到世界坐标变换方向。
个人理解:
将相对于指定对象自身坐标系的方向向量转换为世界坐标系方向向量。
例如:在Cube上挂个脚本
void OnGUI()
{
if (GUILayout.Button("aa"))
{
Vector3 vec1 = transform.TransformDirection(Vector3.forward);
Vector3 vec2 = transform.TransformDirection(new Vector3(2,0,0));
Debug.Log(vec1.ToString());
Debug.Log(vec2.ToString());
}
}
情况1:Cube的Rotation都为0的情况,自身坐标系跟世界坐标系是一样的
输出数据为:
(0.0, 0.0, 1.0)
(2.0, 0.0, 0.0)
情况2:当Cube的Rotation变动后会发现输出的是相对于Cube自身坐标系的方向向量,只是输出的数值是世界坐标系值。
输出数据:
(1.0, 0.0, 0.0)
(0.0, 0.0, -2.0)