Unity3d vector3.forward和transform.forward的區別!
這篇文章講的很清楚了,基本上能看懂了,就差不多理解了,不能理解多多討論。
總結下來,核心思想就是:、
- transform是世界座標系下的概念,什麼
transform.up,transform.right,transform.forward
,全是物體自身的朝向在世界座標系下的數值
,意思就是如果你的物體旋轉了,那麼你的z軸朝向在世界座標系下的值就是transform.forward。
- vector是設定的概念,Vector3.forward就是(0,0,1),無論物體怎麼旋轉,他永遠是這個值
那麼當我們使用transform.translate( Vector3 param ,Space.self / Space.Word)
時,如果使用的是transform
的話,那麼我們就要用Space.Word
,因爲那是在世界座標系下的值,如果使用Space.self的話,就相當於把transform在世界座標系中的各個指向轉化爲本物體的座標系下的數值,再進行移動,結果可能就會非常奇怪。