2011-09-04 33 views
1

我剛開始學習Unity3D遊戲開發框架。我試圖在按下某個按鍵時使圓柱體「指向」另一個對象。製作一個圓柱體的對象在unity3d

public GameObject target; 
void Update() { 
    if (Input.GetKeyDown(KeyCode.A)) { 
     ??? 
    } 
} 

我知道,我必須使用目標的和氣缸的位置來改變氣缸的旋轉,但我想不通怎麼我,不認爲我瞭解什麼是四元數呢。

我真的很感謝任何幫助! 謝謝,
曼努埃爾

+0

順便說一句,這些網站可以提供更快的答案: http://gamedev.stackexchange.com/ http://answers.unity3d.com/index.html – DuckMaestro

回答

2

首先,你需要缸的「前進」或它的「指點方向」(我的話)在氣缸的局部空間的一些概念。爲此,您可以假設(或直觀看到)+ X,+ Y,+ Z,-X,-Y或-Z;或者你可以指定你自己的任意矢量指向其他方向。其次,你需要一個向量,從你的圓柱體中心指向另一個物體的中心(你已經提到過)。

現在,您可以使用Unity的Quaternion.FromToRotation(...)來生成一個四元數,如果將其應用於圓柱體的世界旋轉,它將旋轉指向方向使其處於其他對象的方向。完成。

請注意,如果您的氣瓶不止一對變換得較深,那麼您可能需要稍微改變此方法的機制,以便可能考慮父母的變換。

+0

謝謝,很清楚交代並在2分鐘內完成工作! :d –

0

是否有一個原因,爲什麼你使用四元數我會使用Quaternions.Eular角度代表四元數作爲矢量3這是我們通常如何理解角度。

Ducky說的是正確的,但是如果你有四元數的問題,我會建議不使用它們,直到你對這些角度集有更好的理解。

希望它有助於

相關問題