2015-10-30 80 views
1

一直試圖找出這個小時。我的相機在編輯器(遊戲模式)下工作正常,但在我創建的OSX版本中速度太快。我已經縮小到Input.GetAxis("Mouse X")Input.GetAxis("Mouse Y")產生不同的結果。我不認爲它是最大值(我試圖將它們夾緊),但是它們的上升和下降速度都是如此。爲什麼Input.GetAxis('Mouse X')在編譯時給出不同的值?

一些測試代碼,創建一個新的場景,並連接到一個默認的立方體:

private void LateUpdate() 
{ 
    transform.Rotate (new Vector3 (0, Input.GetAxis ("Mouse X"), 0)); 
} 

立方體,當你移動鼠標旋轉。它在構建中比在編輯器中移動速度快得多。有任何想法嗎?

+0

我基本上沒有統一的知識......但它只是在我看到問題的描述時感到震驚,也許在Mac上的鼠標是更高的dpi分辨率,因此,對於移動到相同距離的鍵盤,它移動通過更多的屏幕線。 – Blackhawk

回答

1

這適用於我,我將鼠標移動轉換爲每秒鼠標移動,並在固定更新中應用旋轉。

var mouseVel : Vector2; 

function Update() { 
    mouseVel = Vector2(Input.GetAxisRaw("Mouse X"),Input.GetAxisRaw("Mouse Y"))/Time.deltaTime; 
} 

function FixedUpdate() { 
    transform.Rotate(0f,(mouseVel.x * Time.deltaTime),0f); 
} 

只要確保你通過Time.deltaTime在更新劃分鼠標的移動,然後乘以Time.deltaTime在fixedUpdate新的鼠標速度,作爲Time.deltaTime在fixedupdate等於固定的時間樣本。 希望這可以幫助別人。