unity3d InverseTransformPoint方法

从歪果仁的脚本里看到了这个方法,查脚本,看脚本说明也没看懂,官方的说明是,变换位置从世界坐标到自身坐标,Transform.TransformPoint相反。

试验了一下得出这个结论,如果某一个物体A的坐标相对于世界坐标是(1,2,1), 物体target的坐标相对于世界坐标是(3,1,2)

Vector3 targetPos = target.transform.position;
Vector3 newPos = A.transfrom.InverseTransFormPoint(targetPos);

newPos 的值为(2,-1,1)

先说这个newPos是怎么计算的 , newPos的x方向的值我用, Xn表示, y, z,轴方向依次类推

Xn = - ( 1-3 ) = - (Xa - Xtarget) = 2

Yn = - ( 2-1 ) = - (Ya - Ytarget) = -1

Zn = - ( 1-2 ) = - (Za - Ztarget) = 1

这个值代表 物体target相对于物体A的位置, 换句话说, 就是把物体A当做了世界的中心,target相对于新的世界中心所返回的位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值