本地坐标和世界坐标

本文详细介绍了Unity中Transform组件的TransformPoint与InverseTransformPoint方法用于坐标变换的应用,以及TransformDirection与InverseTransformDirection方法用于方向变换的过程。这些方法能够帮助开发者在游戏开发中更好地处理物体的位置和方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变换位置

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度)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值