0
我正在玩Google Cardboard。我坐在駕駛艙內,可以毫無問題地環顧四周。從一邊到另一邊傾斜遊戲對象
現在我想傾斜我的駕駛艙從一邊到另一邊給予更真實的感覺,而不是隻是靜止。
到目前爲止,我有這樣的:
using UnityEngine;
using System.Collections;
public class Tilt : MonoBehaviour
{
float speed = 0.25f;
void Update()
{
Tilter();
}
void Tilter()
{
if (transform.rotation.z < 5f) {
transform.Rotate (new Vector3 (0f, 0f, speed));
}
if (transform.rotation.z > 5f)
transform.Rotate (new Vector3 (0f, 0f, -speed));
}
}
這將啓動傾斜座艙向左如預期,但一旦旋轉變得比5的值越大,駕駛艙不旋轉的其他方式,以相同的方式保持旋轉,而不是相反的方向。
你的代碼中存在的一個邏輯問題是,即使它完美地工作,你的旋轉將最終鎖定在z = 5。當它通過5時,它會回到5 ...,當它稍微低於它時,它將回到5以上。這將在5無窮大附近振盪,基本上是振動(幅度取決於「速度」 )。這是你的意圖嗎? – Serlite
@Tom,這是一個很好的問題。你爲什麼要刪除它?問題解決了嗎? – Programmer
@程序員在我意識到我在檢查員中分配了錯誤的東西之前,輸入了約15分鐘的時間 - 只是一個愚蠢的錯誤!你認爲我應該離開它,只是把我的尷尬的答案? :') – Tom