0
我想讓對象沿X和Z軸移動(Z用左右箭頭,X用up向下箭頭)而不沿Y軸移動。我對腳本非常陌生。每次我改變代碼時,我仍然沿着Y軸而不是Z軸運動。我需要爲這種運動寫什麼樣的代碼?沿着X軸和Z軸的等距運動在Unity中沒有沿Y軸移動
謝謝!
我想讓對象沿X和Z軸移動(Z用左右箭頭,X用up向下箭頭)而不沿Y軸移動。我對腳本非常陌生。每次我改變代碼時,我仍然沿着Y軸而不是Z軸運動。我需要爲這種運動寫什麼樣的代碼?沿着X軸和Z軸的等距運動在Unity中沒有沿Y軸移動
謝謝!
每個平行於XZ平面的矢量(Y分量必須爲0)不會沿着Y軸修改對象的位置。 假如你想翻譯在世界空間(?你)的對象, 的代碼可能是這樣的:
void Update()
{
float deltaX = Input.GetAxis ("Horizontal") * xSpeed;
float deltaZ = Input.GetAxis ("Vertical") * zSpeed;
Vector3 trans = new Vector3(deltaX,0f,deltaZ);
transform.Translate(trans * Time.deltaTime, Space.World);
}
當心,你必須記住的是,你又要將參考系統帳戶。例如,如果您正在翻譯和反對其本地參照系,並且該參照系相對於世界座標軸旋轉,則您將在本地座標系中獲得正向翻譯,但不會在世界座標系中翻譯。
你能舉一個你試過的代碼的例子嗎? – DuckMaestro