創作內容

1 GP

【教學】Unity 街機物理車 - 第四部份

作者:樂小呈│2019-10-17 16:42:48│巴幣:2│人氣:526
Unity 街機物理車 - 第四部份
轉彎、轉彎修正


這一部分是在影片中 4: 10  -  4:40 的時候講解,我自己就不講解了
對…他只有講30秒,然後我花了好幾天做


開始我覺得最難的部分!
//


首先
變數!
旋轉速度,最大旋轉數度
(B - 1)


然後再到Start()
設定最大角速度,會用這種方式限制
是因為我不知道怎麼限制單一軸的角速度@@ (會的大佬麻煩教一下)
這種方法可能會讓車子的一些行為不如預期,但不會嚴重到出現錯誤,應該
我錯了,大部分的問題都是這個引發的,抓地力不足也是它引發的
因為車輛轉向的角速度會稀釋掉翻轉的角速度
之後找出修好再看是要更新還是再發一篇修正的,一定會發,但可能沒那麼快
(B- 2)


接下來
建立一個函式,輸入一個Bool,這是之前PushForce回傳的
加入一條判斷,有沒有任何一顆輪子接觸到地面
所有計算都是只有符合條件才會進行
(B - 3)
//


開始計算!
首先是車子的數度比率,因為車子需要在有速度的情況下才能旋轉
(除非你要做坦克或一些黑科技載具,一樣看使用需求)

然後是計算旋轉速度

角速度跟inputTorque不解釋

至於為什麼要算上InptPush的原因,是因為rigidbody.velocity裡會包括角速度,所以車輛還是可以原地自轉(一樣看使用需求)

最再把速度乘上旋轉軸,然後對物體施以扭矩

設置ForceMode.Impulse是為了讓旋轉更靈敏,你也可試試用原本ForceMoe.force的會有什麼效果(看使用需求)
(B - 4)


然後回到FixedUpdate()調用
(B - 5)


回到編輯器
執行!
(C - 1)(Imgur不讓我轉檔...)
好,他現在會轉彎了

但顯然少了什麼

度的,他不會自動回正
//


所以

回到腳本,添加一個變數
角度修正率
(B -6)


再到RotateTorque()
開始方向修正的計算,這部分我一行一行解釋
首先是angularVelocity2Fixed,因為我們只需要抵銷左右的角速度,
也就是Local的Y軸,所以先angularVelocity轉成Local

再來是angularDir2Fixed,就是取得旋轉方向,不知道誰是左誰是右沒關西

然後 fixedScale,是取得角速度的大小

angleFixed就是的(旋轉軸乘上旋轉方向修正率速度大小)

最後再施扭矩給物體,抵銷角速度
(B - 7)


回到編輯器,執行
現在你的車子已經可以順暢移動了
(C - 2)
最複雜的部份…呃
幹為什麼感覺很簡單啊,這部分我修超久诶
算了
下一部分會把剩下的物理修正完成


引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4562990
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:Unity|遊戲開發|Unity3D

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

1喜歡★angus945 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:【教學】Unity 街機... 後一篇:【教學】Unity 街機...

追蹤私訊切換新版閱覽

作品資料夾

d88931122所有巴友
歡迎諸君來參觀老僧的小屋,內含Steam與Google Play遊戲、3D角色模組、Line貼圖看更多我要大聲說昨天16:18


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】