- 汽車自動駕駛仿真測試藍皮書
- 北京五一視界數字孿生科技股份有限公司(51WORLD)匯編
- 2030字
- 2021-01-05 18:43:27
3.4 大場景真實感三維環境渲染
有了三維模型或場景,怎么把這些三維幾何模型畫出來,產生高逼真度的仿真場景?這就是傳統的計算機圖形學的核心任務,而如今借助物理級游戲引擎,逐步形成了基于高運行效率的超大規模模型渲染和地形渲染技術。該技術主要想解決的問題是海量地形模型,超大規模交通流和渲染服務器硬件算力之間的矛盾,這就要求盡可能降低地形模型的幾何復雜度,減少實時繪制的數據量,提高整個場景的繪制效率,該領域所實現的技術工作主要集中在地形網格底層數據載體(OpenDRIVE)的快速加載、三維場景的關卡化管理和異步加載與卸載、動態模型和其他三維模型的LOD(Levels Of Detail,多細節層次)優化與呈現。大場景真實感渲染還原參見圖3-3。

圖3-3 大場景真實感渲染還原
大場景真實感三維環境渲染作為大規模場景構建的基礎,首先要確定適合仿真、編輯和可視化的標準路網格式。標準路網格式應包括道路線型、寬度、高程,以及交通標線、信號燈、標志標牌等設施信息。目前,行業內一般采用OpenDRIVE標準格式。地形網格底層數據載體所采用的OpenDRIVE標準格式是對路網結構的描述性文件,文件格式為XML。XML文件種類包含了Road、Junction、Station等諸多道路路網信息,其路網結構化描述如圖3-4所示,并支持自定義擴展。

圖3-4 路網結構化描述
|- OpenDRIVE
|- header [1]
|- road [1+]
|- controller [0+]
|- junction [0+]
|- junctionGroup [0+]
|- station [0+]
|- road [name, length, id, junction]
|- link
|- type
|- planView
|- elevationProfile
|- lateralProfile
|- lanes
|- objects
|- signals
|- surface
|- railroad
結構的輕量化帶來的好處是文件體積較小,解析快速,通過坐標轉化的方式,將WGS-84坐標系統轉換為渲染引擎內坐標系統,同時基于預設模型庫自動/半自動地生成三維場景(生成流程參見圖3-5),包括道路、路面標線、標識牌、交通燈、信號桿、龍門架、直立信號桿、停止線、路燈桿、斑馬線區域等,仿真場景—三維道路構建如圖3-6所示。

圖3-5 三維場景生成流程

圖3-6 仿真場景—三維道路構建
三維場景提供24小時晝夜變換、大氣渲染和自動光照變化的效果。基于時間變化,在不同時段里自動加載不同時間段的渲染參數,包括太陽光角度、太陽光強度、霧的指數、月光強度、天空光的顏色和強度等,如圖3-7、圖3-8所示。

圖3-7 仿真場景—清晨

圖3-8 仿真場景—下午
時間參數也會關聯場景環境的材質特效參數,當判斷夜晚降臨后,會自動開啟夜景燈光效果,如圖3-9所示。

圖3-9 仿真場景—夜景燈光效果
除了天空云層效果,場景中還會同步一個天氣粒子發射器,用于根據天氣參數設置表格生成不同的粒子效果,如區分小雨、中雨、大雨、暴雨、雨夾雪、小雪、中雪、暴雪等的效果。另外,還有對應的材質變化效果,配合白平衡、全局色彩飽和度及對比度、Gamma、色差校正等后處理特效,可以更真實地還原不同的天氣情況,以達到仿真模擬的效果。如圖3-10、圖3-11所示,為雨天和雪天兩種不同的天氣效果。

圖3-10 仿真場景—雨天效果

圖3-11 仿真場景—雪天效果
在三維場景規模較大、單機渲染算力無法滿足需求的情況下,可以引入物理引擎的關卡流送技術。關卡流送技術可將地圖文件加載到內存中,也可從內存中卸載地圖文件,并在場景展示過程中切換地圖的顯示方式。這樣一來,場景便能拆分為較小的文件塊,只有相關的部分才會占用資源并被渲染。關卡分布在平面網格中,并在視角靠近時流入。實現關卡無縫混合的第一步是創建固定關卡。可將固定關卡視為一個主關卡,主要用于管理哪些關卡將流進和流出。通過渲染引擎的Levels窗口對流送關卡進行管理。流送關卡可與固定關卡重疊,或偏移,創建更大的世界場景。使用流送關卡的流送類型可設為Always Loaded或Blueprint。當流送關卡被設為Always Loaded時,將與固定關卡一同加載,也將與固定關卡一同變為可見狀態。它將無視指定的流送體積域,以及來自藍圖或C++代碼的所有加載/卸載請求。這類關卡分段常用于將固定關卡中的常見內容拆分為多個“層”,以便將重點區域總是加載在內存中,避免視角平移過程中的不斷加載/卸載。Blueprint(藍圖)流送類型的流送關卡實際上會受到關卡流送體積域、藍圖或C++代碼的控制。這些關卡可被動態加載或卸載。除了固定關卡,其他所有的關卡都會在小地圖中有一個圖片和一個在世界中的位置。當關卡里面的內容發生改變時,關卡的這張圖片也會被更新。小地圖允許你在頂視圖預覽你的世界,并且通過拖曳各個關卡來設定它們的位置。當拖動關卡時,它們將會捕捉其他關卡的邊緣。
大規模場景的渲染性能提升除關卡流送技術之外,多細節層次(Level of Details,LOD)技術更為基礎。多細節層次技術根據距離加載不同層級的場景,以控制整體的渲染預算,讓整個體驗過程非常流暢、順滑。在微觀視角下,采用比較真實的車輛及其周邊元素模型。而在中觀視角下,則使用更低級別的車輛和道路模型貼圖等級,以確保大場景、多車輛交通仿真的流暢3D展示。業界對流暢度的理解基本定義為實現最低幀率不低于30幀/秒。為達到這一目標,數字資產需要支持L1~L5五個層級的LOD,根據可視距離自動切換,以符合從近到遠的渲染需求。每個細節程度的層級,需要分別設置不同的加載距離,當渲染攝像機距離超過設置距離時,則隱藏高細節程度的模型。
如表3-1所示為場景分級組織子系統對于層級劃分的需求。
表3-1 場景分級組織子系統對于層級劃分的需求


圖3-12 仿真場景—雪天效果