日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

制作简单汽车游戏

發(fā)布時(shí)間:2024/4/13 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 制作简单汽车游戏 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

unity3d論壇教程

1.現(xiàn)實(shí)中的車不是那么好漂移的,漂移需要輪胎與地面的低摩擦和良好的懸掛系統(tǒng)配合。

2.游戲里完全模擬力學(xué)引擎也是不現(xiàn)實(shí)的,因?yàn)槠圃诂F(xiàn)實(shí)中需要高超的技能,你不能指望玩家能有專業(yè)的技能水平去操控或者改裝你的車吧,萬(wàn)一拐彎忘拉手剎,或者拉太久。而且完全的物理模擬,不僅費(fèi)人腦去創(chuàng)意工業(yè)設(shè)計(jì),也費(fèi)電腦資源去運(yùn)算。再說(shuō)了,開(kāi)發(fā)的不是微軟模擬飛行這樣的專業(yè)級(jí)模擬游戲。

3.在無(wú)數(shù)次失敗的代碼后發(fā)現(xiàn),高速移動(dòng)的賽車3d模型忽然間的轉(zhuǎn)彎是會(huì)側(cè)翻的,這個(gè)不是游戲引擎問(wèn)題,我查了很多的汽車側(cè)翻事故,這個(gè)東西是客觀存在的,也就是說(shuō)能漂移的汽車,需要有穩(wěn)定精確的汽車架構(gòu),很低的底盤(pán)(我試過(guò)這個(gè),但是在u3d里不管用,重心和底盤(pán)都快貼到地上了,依然高速運(yùn)動(dòng)下轉(zhuǎn)彎會(huì)側(cè)翻),專業(yè)級(jí)的懸掛系統(tǒng)(這很重要,這也是游戲里模擬不出來(lái)的),每個(gè)部件精確的調(diào)試,還有一大堆的汽車輔助系統(tǒng)(這個(gè)后面說(shuō))。

4.側(cè)翻不可避免,但游戲里不允許玩家稍微操控失誤就側(cè)翻,這會(huì)大大影響游戲性。我試過(guò)用加大重力的方法來(lái)防止側(cè)翻,但是加大重力也就加大了摩擦力,使用物理引擎去模擬漂移就更加的困難。

5.自動(dòng)穩(wěn)定桿系統(tǒng)(ASBS)能有效防止側(cè)翻,但是為了一款游戲有必要這么麻煩么?

經(jīng)過(guò)幾天的研究,我研究出幾套漂移的解決方案(我開(kāi)發(fā)采用的是最后一種,重點(diǎn)介紹最后一種)

方案一:整個(gè)賽車干脆都用translate做坐標(biāo)移動(dòng),這個(gè)就是無(wú)視wheelcollider物理引擎的做法,新手適用,簡(jiǎn)單方便,但之后的開(kāi)發(fā)上會(huì)有很多問(wèn)題需要解決(如果你想解決這些問(wèn)題的話)。

方案二:用wheelcollider的懸掛設(shè)置和摩擦力設(shè)置做。這個(gè)應(yīng)該是最標(biāo)準(zhǔn)的,但是我一直沒(méi)研究出來(lái)他的Forward Friction和Sideways Friction怎么設(shè)置,并且這些設(shè)置有什么效果(官方的賽車?yán)痈静粫?huì)漂移)。當(dāng)然這個(gè)做法的移動(dòng)是使用wheelcollider的motorTorque做移動(dòng)的。

方案三:輪子一樣還用wheelCollider,但汽車移動(dòng)的動(dòng)力不使用輪子的motorTorque,而是在汽車的rigidbody上施加Force來(lái)傳動(dòng)(官方的例子是這樣的,這也是令我匪夷所思的,只能說(shuō)明官方也知道他的wheelcollider引擎還有問(wèn)題)。用Force有個(gè)好處,你可以在拐彎的時(shí)候做受力分析,計(jì)算出最后側(cè)滑的合力方向和大小,實(shí)時(shí)計(jì)算賽車動(dòng)力方向和側(cè)滑判定。這個(gè)唯一的問(wèn)題就是汽車穩(wěn)定性問(wèn)題,在高速運(yùn)動(dòng)的汽車中很難保證他的穩(wěn)定,自己開(kāi)發(fā)ASBS系統(tǒng)也不太可能吧。

方案四:這個(gè)是我的方法,用wheelcollider和translate混合處理。首先一點(diǎn)重要的,所有汽車移動(dòng),轉(zhuǎn)彎都必須使用wheelcollider提供的函數(shù)(至于為什么參看我關(guān)于wheelcollider的日志),用wheelcollider方法可以保證車子正常運(yùn)動(dòng),但不會(huì)漂移(要么過(guò)快車速側(cè)翻,要么就直接轉(zhuǎn)彎過(guò)去了),判斷漂移只需要判斷玩家點(diǎn)擊手剎的時(shí)候,計(jì)算車子拉手剎一瞬間的轉(zhuǎn)彎角和慣性方向,使用transform.translate來(lái)實(shí)現(xiàn)甩尾,有效規(guī)避掉不必要的摩擦判斷和物理判斷。

由于手剎后前后輪抱死產(chǎn)生的摩擦和離心力的作用改變了整輛車合力的方向,所以導(dǎo)致汽車運(yùn)動(dòng)方向的改變,產(chǎn)生漂移。那我們假設(shè)他拉得不是手剎,而只是普通的制動(dòng)閘,只有制動(dòng)減速效果,所以先用wheelcollider做正常的拐彎減速運(yùn)動(dòng),然后單獨(dú)寫(xiě)一個(gè)traslate按預(yù)計(jì)漂移方向做物體移動(dòng),并判斷當(dāng)手剎按鈕按下后再進(jìn)行強(qiáng)行物體移動(dòng)加以模擬減速移動(dòng)來(lái)產(chǎn)生漂移的摩擦衰減效果(transform的坐標(biāo)移動(dòng)是不受物理引擎影響的,所以寫(xiě)起來(lái)就很簡(jiǎn)單。)

這樣最后綜合起來(lái)的效果就能產(chǎn)生漂移效果的最初框架了。玩家操作簡(jiǎn)單,開(kāi)發(fā)者開(kāi)發(fā)也簡(jiǎn)單,何樂(lè)而不為。最后剩下的工作就是要去慢慢調(diào)試一些數(shù)據(jù)來(lái)改變用戶體驗(yàn)了。

轉(zhuǎn)載于:https://www.cnblogs.com/alps/p/5562348.html

總結(jié)

以上是生活随笔為你收集整理的制作简单汽车游戏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。