Unity賽車遊戲之移動

2022-09-05 19:12:16 字數 1075 閱讀 5115

這個賽車遊戲真是讓我費勁腦汁啊。尤其是寫這種系統化的東西。

目前漂移還沒找到更好的演算法,不過基本的移動還是可以做到的。

別看就光是個移動,其實也是很費事的。

unity給了個對於賽車系統很好的碰撞元件wheelcollider.

把這個給四個輪子一套就好了,

這個元件能調節一些汽車的相關引數,神馬懸掛系統,前後摩擦左右摩擦等。或許你看到這會發現,也沒有這麼難麼。。那你就大錯特錯了

我在移動的方式中試了很多方法,純剛體控制,純wheelcollider控制,和混合控制。在我看來混合控制是比較好的選擇。

乙個乙個說吧。

首先是純剛體控制:

說到剛體就想到力,我力學學的是不太好啊,但是剛體的控制能達到非常真實的效果,而且在後期的漂移上也是比較容易實現的,但是不好弄得是抓地力,用剛體驅動的車很容易就翻車,所以我感覺可以調整重心或者是加乙個下壓力,來避免翻車的可能,當然並不是只有這乙個問題才讓我弄別的方式,我用的轉向方式是moverotation,這就需要很多的條件控制,車向後移動時就應該是反向轉向,還有車在靜止的狀態時應該是不能旋轉的。等等問題,讓我放棄了純剛體驅動。

然後是純wheelcollider控制:

我感覺這個是最坑的,這個元件本身就有很多的問題,首先就是元件的重力問題,會導致在加其他碰撞其的時候出現互相碰撞的問題,調整一下layer就好了,或者直接把重力改沒。其次的他的那些橫向摩擦力和縱向摩擦力,看起來是能達到漂移的效果的,其實不然,對於數值的修改得經過很多次的嘗試才能調整出來很好的效果,我是沒有嘗試。而且直接用扭力控制汽車,你的扭力越大對賽車的影響越小,所以啟動速度會很慢。因為我的賽車是加入剛體的,因為這個系統也會導致賽車的側翻,所以就需要把賽車的重心調低一些。從而就衍生出了最後一種混合式。

混合式控制:

我感覺這是目前最合理的控制方式,首先wheelcolllider元件,能方便的達到我們想要的賽車真實移動效果,然後我們用剛體控制賽車的重心然後給他加一定的力來控制車的速度,在貼吧上問了個大神,感覺比較好的達成方式就是,用wheelcollider控制前輪的轉向,用剛體來給後輪加力使其運動,這樣看起來也比較真實,同時方便寫出漂移效果。

目前漂移還在測試之中,並沒有完全寫好。。。等寫出來在寫一篇文章吧。

Unity 之遊戲物體的移動篇

需要說明的是 unity場景中任何乙個遊戲物件都會有乙個transform元件,是用來記錄遊戲物件的空間節點的狀態,它包括位置 postion 旋轉 rotate 縮放 scale 這裡我們所說的物體的移動,其實就是改變position的值。1.1直接給position賦值,也就是說給positio...

賽車遊戲中賽車的物理建模

一般情況下,賽車的物理建模可能需要需要以下的這些資料 1 最高時速 2 最大功率,用於計算牽引力或速度,功率 w 速度 m s 力 n 0 100km h的加速時間,可以用於計算啟動階段大概的加速情況 3 最大轉速,一般的汽車上的儀表都有這項,所以很重要,單位為rpm 即轉每分,一分鐘轉動的圈數 4...

unity之小遊戲

歡迎來到我們的狗刨網,我們今天主要做了三個小遊戲,分別是打磚塊,滾動的盒子和 一 首先來看第乙個小遊戲 打磚塊 public gameobject wall void start for int i 0 i 10 i for int j 0 j 10 j instantiate wall,new v...