2016年8月9日 星期二

[Unity] 如果Transform.Translate歪掉了,座標系統錯了...



一般而言,遊戲專案中要製作一把槍,通常會在槍口處建立一個Empty子物件,取得該物件的Transform,

然後在該處Instantiate子彈預製物件,再利用transform.translate等方法予以子彈位移。

Unity的物件以Z軸為正前方,亦為向量transform.Forward之指向。

然而有天我利用transform.translate使子彈位移時,子彈卻沒有往Z軸方向前進。

寫法亦十分單純:

void Update () 
{
 transform.Translate (transform.forward * Time.deltaTime * speed);
}


我仍不清楚是何處設置錯誤,不過我嘗試Translate方法的第二個引數,也就是座標系統

void Update () 
{
 transform.Translate (transform.forward * Time.deltaTime * speed, Space.World);
}



子彈此時卻順利地往Z軸前進了。

沒有留言:

張貼留言