码迷,mamicode.com
首页 > 编程语言 > 详细

unity3d InverseTransformPoint方法

时间:2016-01-16 20:51:10      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

从歪果仁的脚本里看到了这个方法,查脚本,看脚本说明也没看懂,官方的说明是,变换位置从世界坐标到自身坐标,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相对于新的世界中心所返回的位置

unity3d InverseTransformPoint方法

标签:

原文地址:http://www.cnblogs.com/sxhFighting/p/5136231.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!