向量操作与坐标转换相关方法

本文详细介绍了Unity中Transform组件的InverseTransformPoint和TransformPoint方法用于坐标转换的过程,包括从世界坐标到本地坐标的转换以及相反方向的转换。同时,也解释了如何使用TransformDirection和InverseTransformDirection来处理方向向量。

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

Transform.InverseTransformPoint
获得 position 的本地坐标, position 是一个世界坐标点
最后获得 position 在本地坐标中的相对坐标
举例:如 transform.positon = (1,0,0) 
则下面是获取世界坐标 (2,0,0) 相对于本地位置 (1,0,0) 的坐标即 (1,0,0)
Debug.Log(transform.InverseTransformPoint(2, 0, 0));


Transform.TransformPoint
获得 position 的世界坐标
position 是基于当前物体本地坐标上的相对坐标(位移)
举例:如 transform.positon = (1,0,0) 则下面的结果应该为 (3,0,0)
Debug.Log(transform.TransformPoint(2, 0, 0));


Transform.InverseTransformDirection
获取 direction 在本地坐标中的方向向量,direction 本来是世界坐标系中的方向向量
只会受物体的 rotation 所影响
如果物体在 x 轴旋转 90 度后,则世界坐标的 up (0,1,0) 为本地的 -forward (0,0,-1)
Debug.Log(transform.InverseTransformDirection(Vector3.up));


Transform.TransformDirection
获取 direction 的世界坐标
如果物体在 x 轴旋转 90 度后,则它的 up 为世界坐标中的 forward
Debug.Log(transform.TransformDirection(Vector3.up));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值