纳金网

标题: 求 InverseTransformPoint 倒底是怎么回事??? [打印本页]

作者: huhumark    时间: 2014-4-2 16:48
标题: 求 InverseTransformPoint 倒底是怎么回事???
一直不明白 transform.InverseTransformPoint 和 transform.TransformPoint 是怎么回事,看网上的翻译的文章也是越看越不明白?

如果说
Vector3 thePosition = this.transform.TransformPoint(Vector3.right * 4); 是根据 this 这个gameobject的位置x轴方向加4个单位的坐标,这样理解TransformPoint 不知道对不对?它与this的方向有关系吗?是全局坐标还是局部坐标???


最让人迷惑的是transform.InverseTransformPoint ,如下

Vector3 thePosition = this.transform.InverseTransformPoint(Vector3.right * 4);
如果说上面代码是根据this的坐标与(Vector3.right * 4)这个点的坐标的差距的话,但如果this 这个gameobject一旋转方向(比如Y轴转90度),那么得到的结果又不是两个点坐标差的关系了???真是一团乱??


请知道这两个方法的真实意思的朋友给解答一下,谢谢

作者: 烟雨    时间: 2014-4-2 17:55
把原文贴出看看啊
作者: huhumark    时间: 2014-4-2 18:33
烟雨 发表于 2014-4-2 17:55
把原文贴出看看啊

http://game.ceeger.com/Script/Transform/Transform.TransformPoint.html

http://game.ceeger.com/Script/Transform/Transform.InverseTransformPoint.html
作者: xx232    时间: 2014-4-2 19:10
一个是变换自身坐标到世界坐标  一个是变换世界坐标到自身坐标

比如说物体a的坐标内有一个3,3,3的点  你想知道这个点在世界坐标的位置 就应该用TransformPoint

反之在世界坐标下有一个点 你想知道这个点如果是在物体a的坐标下是一个什么位置 就应该用InverseTransformPoint

其实吧 就是在编辑器里把物体拽到根目录下的位置和物体在某物体内的位置之间的一个转换
作者: huhumark    时间: 2014-4-2 19:39
xx232 发表于 2014-4-2 19:10
一个是变换自身坐标到世界坐标  一个是变换世界坐标到自身坐标

比如说物体a的坐标内有一个3,3,3的点  你想 ...

谢谢,刚才按你的意思试了一下确实谢谢




欢迎光临 纳金网 (http://rs.narkii.com/club/) Powered by Discuz! X2.5