2015-12-20 28 views
5

我試圖在Unity遊戲引擎中模擬使用HingeJoint(或可配置關節)的汽車車削。在Unity中通過腳本更改鉸接關節的軸

我有4個輪子連接到主體與關節什麼效果很好。現在我需要用控制器腳本來改變關節軸(相對於主體),以使輪子轉動。如果我在檢查器中更改軸的Z軸值(將軸相對於主體旋轉),但是當我嘗試在腳本中更改Z軸時,它會執行我所需要的操作,但情況會變得很瘋狂。在我看來,在你運行遊戲之前,軸是相對於父體的,但是當你運行它時,該軸可能會變得絕對或者其他東西。

我試圖找到相當一段時間的答案,但我無法找到任何與軸相關的內容。

只有我發現的是約TargetRotation(可配置的關節),究竟是不是我所期待的,因爲我相信你需要設置在另一個軸一些限制,使其工作,從而使原本彈性接頭更搖擺。顯然,我需要儘可能嚴格的結果。 如果你有一些想法如何做到這一點與TargetRotation請讓我知道,因爲我還沒有能夠認識到它是如何工作的。

我相信這個問題很簡單,但如果你覺得問題不夠清楚,讓我知道,那麼我會添加一些圖片以獲得更好的解釋。

編輯: 好,加入一些更多的信息建議所以在這裏,我們去:

這裏是我有什麼 enter image description here

正如你看到它的簡單的框,重視與configurablejoints箱4個缸。所有元素都在同一根級別上,並附有剛體。

在紅色圓圈中,您可以看到通過在檢查器中更改軸Z值(從-1到1)所做的不同軸旋轉,我需要通過腳本來操控車輛。

可惜的是,當我在腳本中加入Z軸控制器這樣的:

 float steering = Input.GetAxis("Horizontal"); 
     configurableJoint.axis = new Vector3(configurableJoint.axis.x, configurableJoint.axis.y, steering); 

它打破這樣的: enter image description here

所以我想是一些想法這樣的功能如何實現,如以及能夠向我解釋關節軸線如何工作的人會很好。

預先感謝任何努力

+0

是否添加更多關於您所看到的行爲的信息,屏幕截圖和代碼片段將幫助其他人協助您。 –

+0

我真的不覺得鉸鏈接頭可以用那種方式使用你認識的人嗎?這完全不是他們想要的。很簡單,你只是「使用變換」。即輪組件是底盤的小孩。這裏的所有都是它的。 (只是'旋轉'的孩子改造 - 沒什麼大不了的 – Fattie

+0

值得注意的是,建造一個汽車鑽機是一項非常複雜的工程 - 它需要1-2個工作年的工作,幾乎每一個Unity的汽車項目都使用(Edy的新競爭對手之一!!)的着名「Edy車輛物理學」!這真的很難實現,除此之外,還沒有維基,社區等方面的努力。改變了「輪子對撞機」(這曾經是令人難以置信的奇怪,現在只是奇怪)。 – Fattie

回答

0

我猜,你將需要家長輪子的車身上,然後旋轉相對於腳本車身車輪。

如果你可以提供一個簡單的Unity項目,可以下載,試驗和調整以複製問題並修復它,這將有所幫助。如果您想發送簡單的問題演示,我很樂意提供幫助,以便我可以嘗試修復此問題。