标签:
从歪果仁的脚本里看到了这个方法,查脚本,看脚本说明也没看懂,官方的说明是,变换位置从世界坐标到自身坐标,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