我正在Unity 3D中使用單個操縱桿創建遊戲。我想弄清楚如何正確使用操縱桿來旋轉3D對象。基本上,當操縱桿向上(或向前)推動時,物體將向前旋轉,反之亦然,因爲它被推下。我的問題是讓對象正確旋轉,如果我要將對角向左或向右推。我的操縱桿使用向上賦值(0,1),向下賦值(0,-1),向右賦值(1,0),向左賦值爲(-1,0)。使用單個操縱桿旋轉3D對象
如何讓物體在操縱桿上向前或向後轉動並朝向對角線方向? (如果這是令人困惑的,我很抱歉,我想盡可能簡單地問這個問題)。
現在這是我使用旋轉什麼:
if ((x > 0 && x < .2f) || (x < 0 && x > .2f)) x = 0;
if ((y > 0 && y < .2f) || (y < 0 && y > .2f)) y = 0;
if (x < 0) car.transform.Rotate(car.transform.forward.x * 10f, car.transform.forward.y * 10f, -car.transform.forward.y * 10f);
else if (x > 0) car.transform.Rotate(car.transform.forward.x * 10f, car.transform.forward.y * 10f, car.transform.forward.y * 10f);
else car.transform.Rotate(car.transform.forward.x * 10f, car.transform.forward.y * 10f, 0f);
「我的問題是讓對象正確旋轉,如果我將對角向左或向右推。」這表明你有一些不起作用的代碼。你能證明嗎? – 31eee384
@ 31eee384現在我測試了它,它不適用。這取決於我在世界空間的位置。有些地方可以旋轉,其他地方可以不用,所以我可能會說我沒有旋轉功能。對於那個很抱歉。 – saboehnke
@ 31eee384檢查編輯。謝謝 – saboehnke