本地坐标和世界坐标

变换位置

Transform.TransformPoint(Vector3 position)

变换位置从自身坐标到世界坐标,返回位置不受缩放影响。

相反变换位置

Transform.InverseTransformPoint(Vector3 position)

变换位置从世界坐标到自身坐标,返回位置不受缩放影响。

解释:
  自身坐标到世界坐标,就是把position 对象相对于Transform的相对坐标转换为世界坐标。(可以理解成 一个物体与Transform的相对坐标为position ,返回这个物体的世界坐标)。
  从世界坐标到自身坐标,就是把世界坐标position 转换为相对于Transform的自身坐标。(可以理解成 一个物体的世界坐标为position ,返回这个物体对于Transform的自身坐标)。


变换方向

Transform.TransformDirection(Vector3 direction) 

从自身坐标到世界坐标变换方向,这个操作不会受到变换的缩放和位置的影响。返回的向量与direction有同样的长度。

变换反方向

Transform.InverseTransformDirection(Vector3 direction)

变换方向从世界坐标到自身坐标,此操作不受缩放影响。

解释:
  从自身坐标到世界坐标,就是把direction 相对于Transform的相对位置转换到世界位置。(可以理解成 获取指定对象的一个方向矢量,比如说一个物体自身的forward相对于自身为Vector3(0,0,1),如果自身有过旋转,forward在世界坐标中就不再是Vector3(0,0,1)了)。
  从世界坐标到自身坐标,就是把direction 转换为相对于Transform的自身位置。(可以理解成 世界的 forward是Vector3(0,0,1),如果一个物体Y轴旋转了30度,forward转换到这个物体本身坐标系中就相当于Y轴旋转了-30度)。

你可能感兴趣的:(Unity,API)