?

基于Delta3D 的虛實融合系統技術分析*

2024-01-04 12:14余云燦
廣東輕工職業技術學院學報 2023年6期
關鍵詞:引擎使用者物體

余云燦

(廣州工商學院,廣東 廣州 510800)

虛擬現實系統技術主要是指一種基于各類高新信息技術,能夠通過配套設施,如計算機等,構建出一個能夠為人們帶來逼真的三維視覺、觸覺等感官體驗的虛擬世界的系統技術。而Delta3D 是一款開放源碼的全功能游戲與仿真引擎,此款引擎目前被廣泛應用在了各領域的建模和仿真軟件中,讓軟件為使用者帶來更佳的體驗,因此,將Delta3D 應用到該系統技術中,可以促進該技術的順利實現,優化該技術所帶來的感官體驗。

1 Delta3D 的概述

Delta3D 是一款游戲仿真引擎,其應用主要是通過提供一套可行、簡單的API 函數庫,讓操作者可完成所有虛實結合系統軟件可視化基本要素的構建。在此過程中,該引擎使用了模塊化設計,并通過將Library、Character Animation 等底層模塊予以封裝、隱藏處理,使這些模塊可以整合在一起,由此構建出了一個應用更為便捷的高級API 函數庫。在此背景下,可以通過運用底層函數,對引擎進行二次開發,使其功能滿足具體的使用需求,這讓Delat3D 的使用更加靈活。在該引擎的使用上,該引擎不僅具有dtCore、dtChar、dtABC 等內部功能模塊,還可以為使用者提供仿真、BSP 編譯器、訓練等實用工具,這讓其實用性更強。同時,該引擎還具備一套功能強大、集成度高的仿真模塊體系,如DAL、ABC等,讓使用者在虛實結合系統的開發中,可以運用該引擎,實現系統初始化、設置動態角色與道具、控制管理器等功能,而且該引擎在地景模塊上,運用了動態裝載算法,這種算法能夠支持以星球為單位的數據規模的裝載,由此能夠讓虛實融合系統的環境仿真構建獲得更好的效果。此外,在具體的操作上,該引擎支持Linux、Windows 操作系統,而且其所有底層內核,均能夠支持多平臺,使用者僅需對引擎的源代碼,加以小范圍的修改,即可構建出適用各類平臺的應用程序?;诖?,就目前來看,Delta3D 已經被廣泛地應用到了各個領域的建模和仿真軟件中,尤其是在虛擬融合軟件的開發上,通過在圖像處理環節運用此引擎,可以讓軟件的視覺呈現效果更佳,由此優化軟件使用者的體驗。

2 Delta3D 的頂層構成

在虛實融合系統技術下,Delta3D 的頂層構成相對較為簡單,架構如圖1 所示,主要是由三個主要子系統組成,即Manager、Actor、Components。其中,Manager 系統的功能包括信息傳遞、角色管理,負責在其他兩個系統之間起到通信導管的作用。Actor 系統是虛實融合系統中的主體,這部分主體主要包括兩個部分,即代理主體、角色主體。其中,代理主體負責為管理供給泛型的數據訪問接口,角色主體是物體對象,具有相對應的Logic。Components,即組件,負責接收消息,并對所接收的消息進行反應。

圖1 Delta3D 頂層架構圖

3 虛實融合系統技術概述

虛實融合系統技術,即虛擬與現實相互結合的技術。這種技術可以被具體地闡釋為一種能夠構建和感受虛擬世界的計算機仿真系統技術。在該技術的應用中,可以借助計算機構筑出一個模擬環境,讓使用者對該環境產生沉浸式的體驗。在此過程中,該技術通過使用現實世界中的數據,借助計算機技術,將這些數據轉化為電子信號,再將這些電子信號與各類傳輸設施結合使用,讓電子信號轉化成可為使用者帶來感官體驗的現象,而這些現象可以是使用者在現實世界中可見的物體,也可以是不可見的物質。一般來說,這些現象都是以三維模型呈現,但由于這些現象存在于計算機技術模擬出的現實世界中,是由虛擬與現實融合產生的現象,所以,稱為虛實融合[1]。

現階段,虛實融合系統技術逐漸被更多的人所認可。在該技術下,使用者可以在該技術構建的虛擬世界中,體驗真實世界的感受,同時,配套技術的不斷進步,讓虛實融合系統技術所模擬出的環境,在真實性上越來越接近現實世界,能夠為使用者帶來身臨其境的感受,尤其是在視覺方面,Delta3D 引擎、5G 等技術的應用讓虛實融合系統技術下的圖像處理水平得到了顯著的提升,讓人機交互過程中的視覺體驗更加真實,這使虛實融合系統技術逐漸被應用到娛樂、教育、醫學、軍事、設計等各行業的領域內,助力各領域的生產和發展。截止到目前,在科學技術、社會生產力的持續發展下,各領域對虛實融合系統技術的需求越來越旺盛,這在一定程度上也推動了該技術的進步,并讓虛實融合系統技術成為了一個新的技術領域[2]。

4 基于Delta3D 的虛實融合系統技術分析

4.1 物理仿真技術

物理仿真技術是虛擬世界構建中常用的虛實融合系統技術。此項技術可以被闡釋為,用于構建虛擬世界中物理現象的虛實融合系統技術。在該技術的應用中,為了模擬出較為真實的物理現象,如力與沖量、摩擦力、重力等,需要運用Delta3D 引擎,將物理要素集成為物理仿真體系,由此構建出一個能夠根據現實世界基礎物理規律運行的虛擬世界,以有效實現虛實融合系統技術。其中的物理要素,即一系列物理算法包的集合。但在實際操作中,若全部采用自行開發的方式構建這些算法包集合,所耗費的成本過高,因此,大多數情況下,都需基于現有的開源資源進行開發?,F階段,物理仿真技術操作中,常用的開源資源以ODE 為主,其需要模擬的物理現象,包括線速度、外作用力、摩擦力、重力、物體質心位置、質量、碰撞反彈、動量守恒等[3]。

在物理仿真技術的應用中,基于Delta3D 引擎,運用ODE 構建的物理仿真過程通常包括以下幾個步驟。

第一,創建與設置,需要先創建仿真世界、碰撞世界、物體、碰撞幾何體、聯結、聯結組,然后設置物體狀態、聯結與物體綁定、聯結參數,由此構建出物理現象的發生環境。

第二,創建一個Loop,首先,按需向物體施加力,再調整相應的聯結參數。其次,運用碰撞檢測,為每個碰撞點,創造對應的接觸聯結,再把這些聯結放在之前創建的聯結組中,之后執行一個模擬步。最后,將之前用于存放接觸聯結的聯結組中的所有聯結去掉,由此即可構建出一個物理現象發生路徑,使得一個力出現時,虛擬世界中就會出現相應的物理現象。

第三,銷毀動態世界、碰撞世界,然后對物體之間,以及物體與靜態環境中的碰撞進行處理,由此讓物體與物體、物體與靜態環境之間的碰撞能夠遵循上述構建出的物理現象發生路徑,實現對物理現象的仿真[4]。

在上述物理現象仿真構建完成后,還要進行碰撞檢測??紤]到在現實世界中,如果物體沒有被破壞,那么2 個或以上的物體,無法同時占用同一空間區域,所以,此項物理仿真技術環節,主要是用于檢測2 個或以上數量的物體在接觸時,相互之間是否會出現穿透的現象,由此保證物理仿真技術的落實效果。在此過程中,常用的碰撞檢測算法如表1 所示。

表1 物理現象仿真中常用碰撞檢測算法表

4.2 3D 場景管理技術

在虛實融合系統技術中,3D 場景管理技術是一項關鍵的應用技術,此技術的主要應用作用是,管理場景模型中大量的動作、渲染,以保證虛實融合系統技術的視覺呈現效果[5]。就目前來看,部分仿真軟件中的物體模型,可以包含超過2 000 個視覺元素,而且這些元素的拓撲關系也較為復雜。這種情況下,一般需要運用3D 場景管理技術實現不同格式的模型載入管理、動畫管理、節點管理、渲染狀態管理等,而Delta3D引擎支持大規模的數據容量,可以有效滿足3D場景管理需求。為此,在場景管理方面,運用Delta3D 引擎運行3D 場景管理技術,可以有效地實現讀取、渲染過程中的信息處理,以提高虛實融合系統技術的應用效果。在3D 場景管理技術的應用中,Delta3D 引擎的應用需要基于一個場景庫,該場景庫作為場景管理運作的平臺,支持各項管理項目的運行,而OSG 開放式場景庫,可支持大規模場景的管理,且開放源代碼,同時其數據結構為SG,能夠將場景及其屬性組織成為一個場景樹,以呈現出一個場景制作的全部流程,由此讓使用者可以更好地應用Delta3D 引擎中的相關功能,完成3D 場景管理,提高虛實結合系統技術的呈現效果[6]。

在基于Delta3D 的3D 場景管理技術下,借助OSG 場景庫運行的場景管理,能夠支持讀取數據格式類型如表2 所示,因此,在場景管理中,可以對表2 格式的數據進行讀取,由此完成各類模型的加載管理。待加載完成后,還要按照屬性將各類物體設置為相應的節點,然后通過對節點的管理,實現場景中的交互管理。以節點的隱藏管理為例,可以采用深度優先遞歸法,搜索出相應的節點,然后將該節點的屬性設置為隱藏,同時,在控件目錄樹中,去除掉此節點下屬全部子節點名稱前的標識,由此即可管理各個節點在交互過程中的視覺呈現效果。其中,深度優先遞歸法的節點搜索流程如圖2 所示。

表2 OSG 場景庫支持的數據格式類型表

圖2 深度優先遞歸法的節點搜索流程圖

4.3 3D 仿真環境實現技術

3D 仿真環境實現技術作為一種常用的虛實融合系統技術,其主要作用是構建出一個模擬現實世界的背景環境,讓使用者能夠得到身臨其境的體驗。在該技術的應用中,Delta3D 引擎加載大規模的數據,讓地形環境、天空環境等背景環境更加逼真,優化使用者的視覺體驗。由此可見,在3D 仿真環境現實技術操作中,Delta3D引擎也具有極高的應用價值。

在3D 仿真環境實現技術中,通常會基于Delta3D 引擎,運用天空盒、離子系統、特效渲染的方式,來構建背景環境。在此過程中,目前常用的天空盒方法是使用多張、連續的空間照片,作為虛擬環境合成所需的素材,所用的連續空間照片,需要按照前后、上下、左右六個方位,排列成為一個六面體盒子的狀態,同時將該盒子的矢量方向,均設置為指向盒子內部。在具體的操作中,首先,運用Delta3D 引擎中的stage 編輯器,設立一個skybo×,及其節點actor。其次,設置好6 個面的圖片,再將這6 張圖片保存輸出為×ml 文件。最后,運用Delta3D 引擎,對輸出文件中的actor 加以解析,渲染出天空盒。但此時得到的天空盒,為靜態的,與現實生活中的自然環境存在顯著的差別,因此,為了讓背景環境更加逼真,需要建立一個三維云模型,對現有的天空盒加以改造,使其呈現出動態的視覺效果。為此,需要運用Delta3D 引擎創建一個平面,然后在上面設置云紋圖片,并對云紋理的坐標進行動態更新,由此即可形成動態效果。在此過程中,云的模擬,均可以由Delta3D 引擎的dtABC實現。

在3D 仿真環境實現技術中,所構建出的粒子系統主要用于模擬汽車尾氣、雨雪天氣等環境元素。其中,粒子系統是由簡單的粒子單元素組成,這些簡單的元素有其對應的屬性,如顏色、速度、位置等,可通過運用這種元素,構建出環境中煙、霧、火、水等復雜的物質,而Delta3D引擎通過將這些粒子進行封裝,即可完成風、雨等自然現象的模擬,實現3D 環境仿真,效果如圖3 所示。

圖3 自然景象仿真效果圖

而特效渲染,則需要運用Delta3D 引擎操作的同時,使用高級著色語言HLSL。HLSL 是Delta3D 引擎中像素著色器的編程語言,可以將其看做一個自定義小程序,其主要作用包括投影變換、視圖變換等。在3D 仿真環境的實現上,通常要遵循使用者的實際需求,構建出可靈活變換的特效,在此基礎上,還要盡量減少對仿真平臺源碼的編譯和修改,因此,還可以結合GLSL著色語言的使用,利用此著色語言使用便利的特點,在無需大規模編譯和修改源碼的條件下,完成特效的靈活變換,提高虛實融合系統技術的落實效果。

4.4 仿真人群實現技術

在虛實融合系統技術中,仿真人群實現技術是構建虛擬世界的重要應用技術,這種虛實融合系統技術通過構建三維模型,結合基于Delta3D引擎的軟件設計,可以模擬出與現實世界極為相似的人群環境,由此為使用者帶來更加逼真的體驗。

在仿真人群實現技術中,需要先構建出Delta3D 引擎所需的人群三維模型,作為引擎的操作對象。而在該三維模型的構建上,需要解決三個主要問題,即人群移動路徑尋找、碰撞問題處理、穿透矯正。其中,在人群移動路徑方面,可以根據幾何計算的思路,構建虛擬的全局導航圖,并為每個個體設置相應的起點和終點,同時結合Astar 尋路算法的應用,即可讓人群中的個體按照相應的路徑移動,形成人群移動的背景。在碰撞問題上,可以將人群中的每個虛擬人作為一個agent,并構建感知區域,如圖4 所示。

圖4 每個agent 的感知區域

其中,D 為感知區域半徑,當其他虛擬人進入感知區域內,agent 主體會觸發碰撞規避反應。這意味著當有其他虛擬人靠近到一定距離時,agent 會根據事先設定的碰撞規則來做出相應的行動以避免碰撞發生。d 為碰撞區域半徑,其他虛擬人若進入該區域,則會做出碰撞決策,并實現穿透矯正。r 為agent 主體的圓柱體半徑。在現實世界中,按照中國成年人的平均體型數據,我們可以估算其所占的立面空間,大約為體厚(0.25 m)乘以肩寬(0.4 m),即0.1 m2??紤]到安全區域和投影面積,我們可以取一個中間值,即0.5 m 乘以0.5 m,來表示成年人所占的有效空間。在穿透問題上,現實世界內的人與人之間,一般需要維持一定的距離,若兩者的距離太近,那么心理作用會讓人避讓,由此始終保持一定的距離,但目前的仿真人群實現技術中,受計算誤差、碰撞算法缺陷的影響,個體之間很容易出現碰撞,并呈現出穿透的效果,所以,應當建立針對性的碰撞規則,來規避穿透問題,優化模型的構建效果,由此得到更加真實的人群仿真場景。

待上述模型構建完畢后,即可運用Delta3D引擎,控制上述三維模型中的人群動畫演示、人群數量,同時構建該三維模型的輸入組件,如鍵盤響應、游戲事件發送等。在此過程中,需要運用Delta3D 引擎進行程序參數的初始化設置,并對人群的骨骼動畫類進行自定義,同時也要運用Delta3D 引擎中的類,按照上述對路徑尋找、碰撞問題處理、穿透問題處理的設計,設置分別對應路徑尋找、行走、碰撞規避的運行方法,由此實現人群模擬仿真,具體仿真流程如圖5 所示。

圖5 人群模擬仿真流程圖

4.5 仿真界面設計

仿真界面設計環節是虛實融合系統技術中的關鍵技術環節,此環節的實現通常需要運用Delta3D 引擎的dtQt 模塊。此模塊的主要作用是處理界面開發工具Qt 與Delta3D 引擎之間的集成,并借此將開發工具嵌入到引擎中,以推進后續開發工作的順利完成。在仿真界面設計中,需要先下載并解壓Qt 源碼包,再遵循平臺發送的提示指令,進入Qt 文件目錄中,再運行configure,然后運用nmake 完成編譯和安裝操作。此后,設置環境變量。在變量設置中,需要先新建一個OT_ROOT,然后將其的值設置為Qt的安裝路徑,由此實現引擎與開發工具之間的整合,構建出通用的開發模板,實現仿真界面的設計。但在整體的仿真界面設計中,應當注意,首先,應遵循一致性原則,制定出明確的標準,確保信息提示用語、控件顯示等方面都顯示出一致的風格,以保證使用的舒適度。其次,每個窗口對應唯一話題,這樣使用者才能在打開窗戶后,對內容一目了然,這樣不僅能夠提高使用的便捷性,而且還可以讓維護、升級操作更加簡便。再次,交互界面的轉換應當具有較高的連貫性,確保界面前后呈現出的信息內容相互連貫,以免影響人際交互效果。最后,合理地組合信息元素,考慮到人的事物處理、記憶能力是有限的,所以,應當遵循人腦對事物的認知、處理規律進行信息元素的組合,讓使用者去瀏覽信息,而非要求其記憶信息。為此,在仿真界面的設計上盡量減少使用者操作期間需要記憶的信息,由此提高仿真界面的設計效果,

綜上所述,在虛實融合系統技術的應用中使用Delta3D 引擎,可以優化該系統的運行效果,使其能夠被更好地應用到創建三維游戲、模擬、交互應用程序和體驗的場景中。在虛實融合系統技術上,Delta3D 引擎在物理仿真、場景管理、環境實現等方面具有良好的應用效果,能夠讓使用者與現實相分離,同時又能夠給予使用者身臨其境的平臺,由此強化使用者與系統交互的真實性,優化使用者的體驗,因此,Delta3D 引擎在虛實融合系統技術的操作上具有極高的應用價值。

猜你喜歡
引擎使用者物體
深刻理解物體的平衡
我們是怎樣看到物體的
新型拼插休閑椅,讓人與人的距離更近
藍谷: “涉藍”新引擎
抓拍神器
無形的引擎
為什么同一物體在世界各地重量不一樣?
基于Cocos2d引擎的PuzzleGame開發
懸浮的雞蛋
他汀或增肌肉骨骼不良反應
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合