变换位置
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度)。