2014-12-07 185 views
1

我試圖移動一個遊戲對象時,我提高/降低(搖)我的手機,但我不知道如何得到設備的運動。我已經知道Input.acceleration,但這只是給我設備旋轉,我希望它是實際的運動。Unity設備移動

這是可能的,我將如何去做呢?

+0

你只能用加速度計測量手機加速度的變化,或者用陀螺儀測量手機的旋轉變化,但這幾乎就是這樣。您可以使用數學運算來計算其他值,例如通過將加速度計和陀螺儀的數據組合到一個稱爲傳感器融合的過程中,從而計算出其他值,但仍然無法爲您帶來手機移動的任何意義。 – 2014-12-07 20:01:59

+0

我不明白的是爲什麼Input.acceleration給了我旋轉不應該給我的運動? – gumba 2014-12-07 20:04:59

+0

它給你*加速*而不是旋轉。它告訴你3個軸中每一個都有多大的重力。 – stromdotcom 2014-12-07 20:13:30

回答

0

加速度計讀取總和:變化運動(加速度)+恆定的重力。可以以兩種方式使用它的定向運動:

  1. 檢測重力角度的變化 - 當所述設備不移動(或以恆定速度移動時),並平行於地面時,加速計將讀取地球的重力,即:new Vector3(0,-9.81,0)。當設備傾斜時(不平行於地面),矢量的長度仍然是9.81,但它會旋轉一點。 new Vector3(3.03, -9.32, 0)(這個例子是一個軸旋轉56度(π/ 10))。使用這將產生這種控制:https://www.youtube.com/watch?v=3EU3ip4k0uE

  2. 檢測加速度的峯值。當設備靜止或以恆定速度移動時,加速度矢量的長度將等於9.81,當它改變/開始移動時,該數字將改變。您可以檢測到這些變化,並將其解釋爲一次瞬間移動(如按箭頭)。


有沒有使用accelometer,替代方案,例如,你可以檢測到一些印刷標記與Vuforia:https://www.youtube.com/watch?v=8RnlBEU5tkI - 解讀一simmilar時尚的標誌物和行動的相對位置,你會發現#1加速度變化。