unity中transform的up\right\forward与Vector3的up\right\forward有什么区别?

Unity3d vector3.forward和transform.forward的区别!
这篇文章讲的很清楚了,基本上能看懂了,就差不多理解了,不能理解多多讨论。

总结下来,核心思想就是:、

  1. transform是世界坐标系下的概念,什么transform.up,transform.right,transform.forward全是物体自身的朝向在世界坐标系下的数值意思就是如果你的物体旋转了,那么你的z轴朝向在世界坐标系下的值就是transform.forward。
  2. vector是设定的概念,Vector3.forward就是(0,0,1),无论物体怎么旋转,他永远是这个值

那么当我们使用transform.translate( Vector3 param ,Space.self / Space.Word)时,如果使用的是transform的话,那么我们就要用Space.Word,因为那是在世界坐标系下的值,如果使用Space.self的话,就相当于把transform在世界坐标系中的各个指向转化为本物体的坐标系下的数值,再进行移动,结果可能就会非常奇怪。

猜你喜欢

转载自blog.csdn.net/qq_40666620/article/details/106097882