




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Unity3D教程:車輛性能算法Unity3D教程:車輛性能算法Unity3D教程:車輛性能算法xxx公司Unity3D教程:車輛性能算法文件編號:文件日期:修訂次數:第1.0次更改批準審核制定方案設計,管理制度Unity3D教程:車輛性能算法Postedon2013年06月05日byU3d/Unity3D基礎教程/被圍觀123次首先要了解真實車輛的原理:車輛分前輪驅動,后輪驅動和四驅動。動力由引擎提供,反應的力到輪胎上,因此產生轉數,即RPM。引擎的功率可以由RPM得到公式為:RPM=引擎功率×60/2×pi,這些都是模擬,只為了更好的為下面的動作服務。還有大眾關心的“漂移”,所謂漂移就是,在后驅車輛中,前輪方向旋轉大角度,地面給于一定向心力,同時后輪又給予更多動力,導致“漂移”動作。首先,車輛不可能整個套一個外殼,原因是在接觸地面時,對車輛所使的力不可能達到你預期的目標,引起,必須在車輛輪胎以上做外殼碰撞,輪胎以下就需要有力來支持它始終保持不掉下來。Unity3D中有個WheelCollider,它是專門模擬輪胎支持力和輪胎轉數,以及輪胎橫向力,前進力,以及懸架避震系統。這個東西非常方便,只要你把這個東西套在4個輪胎上,調試下他的forwardFriction和sidewaysFriction達到你想要的效果,然后對驅動輪的motorTorque進行賦值,你的車輛就能動了。記得你需要無數次調試前進摩擦力和橫向摩擦力。至于懸架系統在你需要時也可以改變其值。還有,這兩個摩擦力,是一個由低到高,再由高到穩定的一條曲線。這個WheelCollider非常好用,曾一度沉迷于此。但后來發現,他有很多不合理的地方。想要得到最好的效果,還是拋棄了他。為了支持車輛的碰撞外殼不接觸地面,必須寫一個懸架動態支持力,在4個輪胎位置,支持整輛車懸浮于地面之上。關于這個懸架動態支持力: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}那么在完成懸架支撐后,就該設計車輛動力了。這里也有2種方法:一個方向是真實車輛行駛軌跡,另一個是模擬型車輛軌跡。前者的方法是,將動力點放在車輛驅動輪上,例如后輪。用rigidbody的AddForceAtPosition可以做到,前輪只需要提供橫向力就可以實現轉彎的軌跡。但別看說說這么容易,這里面還涉及非常多的數值和曲線問題。在提供車輛動力時,你需要一條曲線,以致車輛不會勻加速,因為這樣很不真實,還有在前輪橫向力中,你必需是條由0到最高點,然后下降到平衡點的曲線。這樣你的賽車才顯得更真實。這些都需要用到幾個數學知識。Unity3D教程手冊后者,是用算法來模擬的一種車輛軌跡。這個算法所有作用力作用在車輛的中心點。轉彎軌跡,我是用轉彎半徑來表示,使得車輛在轉彎時有相當的真實性,必須改變車輛轉彎速度。當然,用到了些數學知識。代碼如下:01#region計算轉彎角度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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度河北省護師類之護士資格證模擬考核試卷含答案
- 2025江蘇揚州大數據集團子公司管理人員招聘1人筆試備考題庫及參考答案詳解一套
- 2025年青海省海東市中考第二次模擬 化學試卷(含解析)
- 河南省漯河市2024-2025學年高二上學期第二次月考物理試題(解析版)
- 小朋友的年宵市集
- 秋冬時尚妝容分享
- 德克士的品牌文化建設
- 春節夢想淡藍色的祝福
- 廣西大學《理論力學》2023-2024學年第一學期期末試卷
- 基于MXene-水凝膠復合材料的食品氣體-壓力傳感器的研究
- 旅行社之間旅游合作合同范本
- 湖南省岳陽市湘陰縣長侖四校2024-2025學年下學期 5月聯考八年級數學試題
- 2025年中考語文7-9年級上冊必背課文【現代文+古詩文】66篇(打印版)
- 鄉鎮養老院建設年度工作規劃
- 2025屆重慶市渝北八中學數學八下期末學業水平測試模擬試題含解析
- 2025屆上海市靜安區七下數學期末經典試題含解析
- 魯班獎評選標準試題及答案
- 2025年中國煤炭裝備制造行業分析與發展策略咨詢報告(定制版)
- 2025-2030年中國微電網行業市場深度調研及發展前景與投資研究報告
- 項目總工面試試題及答案
- 聯創合伙人協議合同協議
評論
0/150
提交評論