技術(shù)文章
自動(dòng)駕駛仿真并不只是“看起來(lái)像車(chē)"。它要求車(chē)輛在虛擬環(huán)境中具備真實(shí)的物理屬性、動(dòng)力學(xué)行為,以及與傳感器系統(tǒng)的高度一致性。這就帶來(lái)了幾個(gè)關(guān)鍵挑戰(zhàn):
首先,模型來(lái)源復(fù)雜。企業(yè)既可能使用自建3D模型,也可能采購(gòu)第三方資源,格式、拓?fù)浣Y(jié)構(gòu)、材質(zhì)規(guī)范參差不齊,很難直接用于實(shí)時(shí)仿真。
其次,物理一致性要求高。車(chē)輛的軸距、輪距、質(zhì)量分布、輪胎半徑等參數(shù),必須與模型幾何嚴(yán)格匹配,否則就會(huì)出現(xiàn)“車(chē)輪亂飛"“車(chē)輛陷地"等典型問(wèn)題。
再者,仿真引擎可能有嚴(yán)格約束。例如必須拆分為底盤(pán)+四個(gè)獨(dú)立車(chē)輪、禁止使用骨骼網(wǎng)格、要求統(tǒng)一坐標(biāo)原點(diǎn)等,這些都對(duì)模型結(jié)構(gòu)提出了工程級(jí)要求。
因此,“車(chē)輛自定義3D模型 + 仿真器聯(lián)動(dòng)"或成為自動(dòng)駕駛開(kāi)發(fā)流程中的關(guān)鍵一環(huán)。
以康謀aiSim為例,要讓一個(gè)普通的 .fbx 車(chē)輛模型真正在仿真器中“跑起來(lái)",核心在于兩步:規(guī)范建模(Blender)+ 仿真集成(Unreal Editor + aiSim)。


上:FBX模型導(dǎo)入(無(wú)材質(zhì)示例)
下:自定義3D模型編輯(原生材質(zhì)示例)
在模型導(dǎo)入階段,Blender支持.fbx、.blend等常見(jiàn)格式,可以直接拖拽或通過(guò)Import導(dǎo)入。模型既可以自行建模,也可以來(lái)自free3d、TurboSquid、CGTrader等資源平臺(tái)。
在一些特殊情況下,用戶(hù)會(huì)對(duì)車(chē)輛模型有或多或少特殊的使用需求,例如去除A柱、去除擋風(fēng)玻璃、去除頂蓋、對(duì)模型進(jìn)行簡(jiǎn)化、對(duì)部分組件進(jìn)行拆分等,這些就需要在模型導(dǎo)入Blender后通過(guò)其自身的3D模型編輯能力進(jìn)行修改。
完成模型導(dǎo)入與修改后,通常就需要進(jìn)行關(guān)鍵的“工程化改造"——對(duì)車(chē)輛模型進(jìn)行UE導(dǎo)入前的預(yù)處理:
整車(chē)網(wǎng)格控制在最多140000個(gè)三角面,模型結(jié)構(gòu)重構(gòu)為“底盤(pán)(Chassis)+ 四個(gè)獨(dú)立車(chē)輪(Wheels)"的仿真最小化結(jié)構(gòu),且全部為獨(dú)立對(duì)象,以保障仿真效率。其中,底盤(pán)應(yīng)包含除輪胎、車(chē)牌外的所有部分。
統(tǒng)一坐標(biāo)系統(tǒng),令后軸中心位于(0,0,0),車(chē)輛朝向+X方向。這一步直接決定仿真中的動(dòng)力學(xué)計(jì)算是否正確。
令獨(dú)立建模的車(chē)輪保持徑向?qū)ΨQ(chēng),幾何中心位于自身原點(diǎn),避免后續(xù)定位復(fù)雜化。
至少拆分Body、Glass、Lights三類(lèi)材質(zhì),每個(gè)網(wǎng)格僅一個(gè)UV集,且避免翻轉(zhuǎn)。尤其是燈光UV,需要按照特定區(qū)域布局,以便aiSim正確控制燈光邏輯。


上:反射平面的構(gòu)建
下:車(chē)輪的定位(基于aiSim add-on)
此外,一個(gè)常被忽視但極其關(guān)鍵的點(diǎn)是——反射平面(Reflection Plane)。aiSim仿真器采用屏幕空間反射,能夠在地面上產(chǎn)生“車(chē)輛底部投影",這就需要在3D模型階段基于車(chē)輛輪廓構(gòu)建低模,以達(dá)最終仿真中可以取得更逼真的視覺(jué)效果。
完成這些后,通過(guò)aiSim Blender插件配置車(chē)輪定位器、燈光定位器、車(chē)牌定位器等,并分別導(dǎo)出底盤(pán)、車(chē)輪、反射面等資源,保存為FBX模型后導(dǎo)入U(xiǎn)nreal Editor。


上:UE車(chē)輛編輯藍(lán)圖
下:aiSim Plugin Content 原生高保真材質(zhì)
在Unreal Editor中,導(dǎo)入的FBX模型會(huì)自動(dòng)生成Static Mesh與材質(zhì),必要時(shí)也可以通過(guò) aiSim Plugin Content 為模型二次賦予 aiSim 原生高保真材質(zhì)實(shí)例。
隨后基于現(xiàn)有藍(lán)圖(如Bandit)或自建藍(lán)圖完成組裝。藍(lán)圖中可以自行配置:
車(chē)輛基礎(chǔ)信息(名稱(chēng)、類(lèi)別、語(yǔ)義標(biāo)簽等)
Light Controller(燈光控制)
Vehicle Dynamics Descriptor(動(dòng)力學(xué)參數(shù))
各類(lèi)組件(傳感器中心、反射面、Hull等)
其中動(dòng)力學(xué)配置是“讓車(chē)真正動(dòng)起來(lái)"的核心。通過(guò)JSON定義軸距、輪距、滾動(dòng)半徑等模板化參數(shù),可以有效避免“陷地"“漂移"等問(wèn)題。
最終,通過(guò)“Export to aiSim"導(dǎo)出,并完成驗(yàn)證:車(chē)輛是否正常加載、車(chē)輪是否穩(wěn)定旋轉(zhuǎn)、是否存在物理異常等。

自動(dòng)駕駛仿真的核心目標(biāo),是將各類(lèi)車(chē)輛模型轉(zhuǎn)化為可計(jì)算、可交互、可驗(yàn)證的數(shù)字資產(chǎn),而非單純積累模型資源。通過(guò)Blender + Unreal Editor + aiSim 的組合,可以建立一條標(biāo)準(zhǔn)化、可復(fù)用的車(chē)輛接入流程:
從多源模型導(dǎo)入(支持.fbx、.blend)
到結(jié)構(gòu)重構(gòu)與規(guī)范化建模
再到UE中的藍(lán)圖組裝與動(dòng)力學(xué)配置
最終進(jìn)入aiSim完成閉環(huán)驗(yàn)證
這個(gè)流程不僅解決了模型“能不能用"的問(wèn)題,更提升了“用得好不好"的效率與上限。
當(dāng)企業(yè)能夠快速構(gòu)建自定義車(chē)輛,并在仿真環(huán)境中穩(wěn)定運(yùn)行,自動(dòng)駕駛開(kāi)發(fā)就具備了規(guī)模化迭代的基礎(chǔ),這也是提升研發(fā)競(jìng)爭(zhēng)力的關(guān)鍵支撐。
關(guān)注微信