




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Unity3D教程:車輛性能算法Unity3D教程:車輛性能算法Unity3D教程:車輛性能算法xxx公司Unity3D教程:車輛性能算法文件編號(hào):文件日期:修訂次數(shù):第1.0次更改批準(zhǔn)審核制定方案設(shè)計(jì),管理制度Unity3D教程:車輛性能算法Postedon2013年06月05日byU3d/Unity3D基礎(chǔ)教程/被圍觀123次首先要了解真實(shí)車輛的原理:車輛分前輪驅(qū)動(dòng),后輪驅(qū)動(dòng)和四驅(qū)動(dòng)。動(dòng)力由引擎提供,反應(yīng)的力到輪胎上,因此產(chǎn)生轉(zhuǎn)數(shù),即RPM。引擎的功率可以由RPM得到公式為:RPM=引擎功率×60/2×pi,這些都是模擬,只為了更好的為下面的動(dòng)作服務(wù)。還有大眾關(guān)心的“漂移”,所謂漂移就是,在后驅(qū)車輛中,前輪方向旋轉(zhuǎn)大角度,地面給于一定向心力,同時(shí)后輪又給予更多動(dòng)力,導(dǎo)致“漂移”動(dòng)作。首先,車輛不可能整個(gè)套一個(gè)外殼,原因是在接觸地面時(shí),對車輛所使的力不可能達(dá)到你預(yù)期的目標(biāo),引起,必須在車輛輪胎以上做外殼碰撞,輪胎以下就需要有力來支持它始終保持不掉下來。Unity3D中有個(gè)WheelCollider,它是專門模擬輪胎支持力和輪胎轉(zhuǎn)數(shù),以及輪胎橫向力,前進(jìn)力,以及懸架避震系統(tǒng)。這個(gè)東西非常方便,只要你把這個(gè)東西套在4個(gè)輪胎上,調(diào)試下他的forwardFriction和sidewaysFriction達(dá)到你想要的效果,然后對驅(qū)動(dòng)輪的motorTorque進(jìn)行賦值,你的車輛就能動(dòng)了。記得你需要無數(shù)次調(diào)試前進(jìn)摩擦力和橫向摩擦力。至于懸架系統(tǒng)在你需要時(shí)也可以改變其值。還有,這兩個(gè)摩擦力,是一個(gè)由低到高,再由高到穩(wěn)定的一條曲線。這個(gè)WheelCollider非常好用,曾一度沉迷于此。但后來發(fā)現(xiàn),他有很多不合理的地方。想要得到最好的效果,還是拋棄了他。為了支持車輛的碰撞外殼不接觸地面,必須寫一個(gè)懸架動(dòng)態(tài)支持力,在4個(gè)輪胎位置,支持整輛車懸浮于地面之上。關(guān)于這個(gè)懸架動(dòng)態(tài)支持力:voidSuspensionHoldForce(){floatfullCompressionSpringForce=***=true;0506foreach(GameObjectiteminFwheelModels)07{08RaycastHithit;09boolonGround=(,outhit,+;1011if(onGround&&{13onGround=false;14floatdist=+;15RaycastHit[]hits=(,,+);16foreach(RaycastHittestinhits)17{18if(!&&<=dist)19{20hit=test;21onGround=true;22dist=;23}24}25}2627if(onGround)28{29Vector3wheelVelo=Vector3localVelo=(wheelVelo);31Vector3groundNormal=;32floatdamperForce=(localVelo,groundNormal)*5000f;33floatcompression=-(-radius)/suspensionTravel);34Vector3springForce=(fullCompressionSpringForce*compression-damperForce)*36==0f;3738springForce,);3940}41else42{43=false;44}45}4647foreach(GameObjectiteminBwheelModels)48{49RaycastHithit;50boolonGround=(outhit,+;5152if(onGround&&{54onGround=false;55floatdist=+;56RaycastHit[]hits=(,+);57foreach(RaycastHittestinhits)58{59if(!&&<=dist)60{61hit=test;62onGround=true;63dist=;64}65}66}6768if(onGround)69{70Vector3wheelVelo=Vector3localVelo=(wheelVelo);72Vector3groundNormal=;73floatdamperForce=(localVelo,groundNormal)*5000f;74floatcompression=-((-radius)/suspensionTravel);75Vector3springForce=(fullCompressionSpringForce*compression-damperForce)*==0f;77springForce,);78}79else80{81=false;82}83}84}那么在完成懸架支撐后,就該設(shè)計(jì)車輛動(dòng)力了。這里也有2種方法:一個(gè)方向是真實(shí)車輛行駛軌跡,另一個(gè)是模擬型車輛軌跡。前者的方法是,將動(dòng)力點(diǎn)放在車輛驅(qū)動(dòng)輪上,例如后輪。用rigidbody的AddForceAtPosition可以做到,前輪只需要提供橫向力就可以實(shí)現(xiàn)轉(zhuǎn)彎的軌跡。但別看說說這么容易,這里面還涉及非常多的數(shù)值和曲線問題。在提供車輛動(dòng)力時(shí),你需要一條曲線,以致車輛不會(huì)勻加速,因?yàn)檫@樣很不真實(shí),還有在前輪橫向力中,你必需是條由0到最高點(diǎn),然后下降到平衡點(diǎn)的曲線。這樣你的賽車才顯得更真實(shí)。這些都需要用到幾個(gè)數(shù)學(xué)知識(shí)。Unity3D教程手冊后者,是用算法來模擬的一種車輛軌跡。這個(gè)算法所有作用力作用在車輛的中心點(diǎn)。轉(zhuǎn)彎軌跡,我是用轉(zhuǎn)彎半徑來表示,使得車輛在轉(zhuǎn)彎時(shí)有相當(dāng)?shù)恼鎸?shí)性,必須改變車輛轉(zhuǎn)彎速度。當(dāng)然,用到了些數(shù)學(xué)知識(shí)。代碼如下:01#region計(jì)算轉(zhuǎn)彎角度02voidSteering(boolcanSteer,Vector3relativeVelocity)03{04if(canSteer&&)05{06if(==1)07{08([0].+[1].*),,*2f***2f);09*3f*[0].;10*3f*[1].;11return;12}1314if(*<0)15return;1617floatturnRadius=/((90f-*);18floatminMaxTurn=EvaluateSpeedToTurnfloatturnSpeed=/turnRadius,-minMaxTurn/10,minMaxTurn/10);20+*turnRadius*,,turnSpeed***);2122=FwheelModels[0].*(R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 以微粒為核心的科學(xué)探究課程教案
- 母愛的味道記母親的一件小事作文(15篇)
- 一件勇敢的事記敘文5篇
- 農(nóng)業(yè)生產(chǎn)技術(shù)推廣應(yīng)用情況表
- 我們的節(jié)日歡樂元旦記事作文(9篇)
- 個(gè)性化印刷品銷售合同
- 農(nóng)業(yè)科技研究與成果轉(zhuǎn)化協(xié)議
- 詩歌與散文欣賞:高一語文教學(xué)專題
- 技術(shù)支持資源表-支持服務(wù)體系詳細(xì)介紹
- 2025年藝術(shù)設(shè)計(jì)專業(yè)入學(xué)考試試卷解答
- 初三班級(jí)學(xué)生中考加油家長會(huì)課件
- 消費(fèi)者態(tài)度的形成與改變
- 六安市舒城縣2023年六年級(jí)數(shù)學(xué)第二學(xué)期期末聯(lián)考試題含解析
- 2023學(xué)年完整公開課版噴藥機(jī)操作
- GB/T 6185.1-20162型全金屬六角鎖緊螺母
- GB 19288-2003打火機(jī)生產(chǎn)安全規(guī)程
- FZ/T 63012-2009滌綸長絲高強(qiáng)縫紉線
- 第十三章-航空發(fā)動(dòng)機(jī)燃燒室課件
- 處方與處方書寫規(guī)范
- 配電網(wǎng)工程施工工藝規(guī)范課件
- 工廠過程檢驗(yàn)記錄表(自檢)模板
評論
0/150
提交評論