一種實時貼圖渲染的動態電子儀表仿真方法與流程
2023-07-19 21:31:06
本發明涉及計算機仿真領域,應用於航空電子儀表的動態仿真,尤其涉及一種實時貼圖渲染的動態電子儀表仿真方法。
背景技術:
目前,飛行器仿真系統廣泛應用於飛機性能評估、操作培訓、虛擬戰場模擬等方面,同時,在一些危險的飛行任務的訓練中,國內外常通過虛擬實境仿真技術對受訓人員進行模擬訓練。飛行器仿真具有經濟性、可重複性、安全性以及不受場地限制等特點,進而高效達到目的。
隨著計算機仿真技術的發展,對性能評估、操作訓練等要求的不斷提高,對虛擬仿真訓練環境的模擬逼真程度要求也越來越高。飛機儀表在飛行器仿真系統中有非常重要的作用,需要在確保虛擬駕駛艙內部數據輸出的直觀顯示的基礎上,保證受訓人員能夠實時精準獲取多項飛行參數,並據此做出相應操作,藉以提高訓練質量和效率。現有飛行器儀表仿真可分為實物仿真、半實物仿真和虛擬式仿真,其中實物與半實物仿真外觀模型均採用物理模擬方式,交互設備需採用實裝部件,因此採用虛擬式仿真可不受諸多客觀條件限制。但是,目前常用的虛擬式仿真儀表模型的建立仍以真實模型為基礎,對不同的儀表首先需要進行不同的模型建立,其次才是數據信息的顯示,而這種方法又受到駕駛艙儀表建模的通用性和設計周期等因素的影響。
技術實現要素:
本發明的目的在於提供一種實時貼圖渲染的動態電子儀表仿真方法,從而解決現有技術中存在的前述問題。
為了實現上述目的,本發明採用的技術方案如下:
一種實時貼圖渲染的動態電子儀表仿真方法,包括如下步驟:
S1,獲取仿真電子儀表所需顯示的實時飛行參數;
S2,確定動態元件初始狀態,根據所述飛行參數的範圍,確定所述飛行參數與所述動態元件廣義坐標之間的對應關係,根據所述對應關係確定所述仿真電子儀表的刻度值分布,所述對應關係包括線性或非線性數值關係;
S3,根據所述飛行參數與所述動態元件廣義坐標之間的對應關係,確定所述飛行參數與所述動態元件廣義坐標之間的對應算法;
S4,根據所述飛行參數,利用所述對應算法,在vs編譯環境中進行計算,得到所述動態元件的廣義坐標,即控制所述仿真電子儀表進行動態顯示的數值,所述動態顯示的數值包括直接顯示數據、直指針偏轉角度和刻度平移距離;
S5,對所需顯示的不同參數進行對應的儀表元素繪製和圖片拼接;利用圖層分層將靜態元件與動態元件進行分離,確定動態元件所受約束,限制其多餘自由度;利用所述動態元件的廣義坐標,對所述動態元件進行控制,實現其指示功能;
S6,調用unreal引擎內圖像渲染攝像機,實時記錄S5中呈現的圖像信息,並生成貼圖緩存文件;
S7,在虛擬駕駛艙內的儀表區的平面區域鋪設動態材質,實時調用所述貼圖緩存文件,完成電子儀表可視化。
優選地,S1中,所述實時飛行參數包括:空速、俯仰角、滾轉角、航向、升降速率、發動機轉速和/或高度。
優選地,所述實時飛行參數通過飛行控制裝置的輸入數據進行飛行仿真計算得到。
優選地,S4中,所述直指針偏轉角度的計算方法為:規定指針偏轉角度為零時對應數值,規定對應數值隨角度的變化關係,可以為線性或非線性,根據數值與角度的對應關係,由飛行參數計算出指針應偏轉的角度。
優選地,S4中,所述刻度平移距離的計算方法為:規定刻度平移距離為零時對應的飛行參數,規定單位刻度所對應的飛行參數數值,直接得到的飛行參數與單位刻度對應參數值相除得到平移距離。
優選地,S5中,所述靜態元件包括儀錶盤和儀錶盤刻度,所述動態元件包括偏轉指針、平移刻度背景和形態指示飛機。
優選地,S5中,所述儀表元素繪製在photoshop中完成,包括儀錶盤的繪製、指針的繪製以及根據計算得到的刻度值的分布,進行儀錶盤上刻度的繪製。
優選地,S5中,所述圖片拼接包括各儀錶盤的相對位置關係的確定。
本發明的有益效果是:本發明實施例提供的實時貼圖渲染的動態電子儀表仿真方法,採用面向對象的設計思想,使用動態貼圖渲染的方法,極大簡化了電子儀表逐個建模的過程,也使得用戶可以根據使用需求自主設計面板布局,選擇所需顯示的數據,具有通用性、設計周期短等優點。採用本發明提供的電子儀表仿真方法可以實現仿真儀表的快速建模,不僅可以將飛行器飛行參數實時顯示,在飛行任務的訓練中提高虛擬環境逼真度,提高訓練受訓人員的訓練效率,也可應用於飛行器評估,方便不同型號飛行器電子儀表的建模。同時,在飛行器設計初期,也可先採用實時貼圖渲染的方法進行動態電子儀表仿真,方便在之後的評測中進行改進。
附圖說明
圖1是本發明實施例提供的實時貼圖渲染的動態電子儀表仿真方法流程示意圖;
圖2是航向表示例圖;
圖3是貼圖緩存文件示例圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施方式僅僅用以解釋本發明,並不用於限定本發明。
本發明為飛行器仿真提供一種實時貼圖渲染的動態電子儀表仿真方法,在保證飛行參數實時準確顯示的前提下實現飛行儀表的快速高度仿真,具有通用性、設計周期短等優點。
如圖1所示,本發明實施例提供了一種實時貼圖渲染的動態電子儀表仿真方法,包括如下步驟:
S1,獲取仿真電子儀表所需顯示的實時飛行參數;
S2,確定動態元件初始狀態,根據所述飛行參數的範圍,確定所述飛行參數與所述動態元件廣義坐標之間的對應關係,根據所述對應關係確定所述仿真電子儀表的刻度值分布,所述對應關係包括線性或非線性數值關係;
S3,根據所述飛行參數與所述動態元件廣義坐標之間的對應關係,確定所述飛行參數與所述動態元件廣義坐標之間的對應算法;
S4,根據所述飛行參數,利用所述對應算法,在vs編譯環境中進行計算,得到所述動態元件的廣義坐標,即控制所述仿真電子儀表進行動態顯示的數值,所述動態顯示的數值包括直接顯示數據、直指針偏轉角度和刻度平移距離;
S5,對所需顯示的不同參數進行對應的儀表元素繪製和圖片拼接;利用圖層分層將靜態元件與動態元件進行分離,確定動態元件所受約束,限制其多餘自由度;利用所述動態元件的廣義坐標,對所述動態元件進行控制,實現其指示功能;
S6,調用unreal引擎內圖像渲染攝像機,實時記錄S5中呈現的圖像信息,並生成貼圖緩存文件;
S7,在虛擬駕駛艙內的儀表區的平面區域鋪設動態材質,實時調用所述貼圖緩存文件,完成電子儀表可視化。
上述方法在實際使用過程中,可以通過模塊化的方式執行:
輸入模塊。採集需要顯示的實時對應飛行參數,包括空速、俯仰角、滾轉角、航向、升降速率、發動機轉速、高度等。可選擇通過飛行控制裝置的輸入數據進行飛行仿真計算得到。
控制模塊。根據飛行參數進行計算,得到控制儀表動態顯示所需數值,包括直接顯示數據、指針偏轉角度、刻度平移距離等等。計算方法:①直接顯示數據:直接由飛行參數得到。②指針偏轉角度:規定指針偏轉角度為零時對應數值,規定對應數值隨角度的變化關係,可以為線性或非線性。根據數值與角度的對應關係,由飛行參數計算出指針應偏轉的角度。③刻度平移距離:規定平移距離為零時對應飛行參數,規定單位刻度所對應的飛行參數數值。直接得到的飛行參數與單位刻度對應參數值相除即為平移距離。
顯示模塊。對所需顯示的不同參數進行對應的儀表布局及元素繪製和圖片拼接。採用圖層分層的方法將靜態與動態元件分離,確定動態元件所受約束。其中,靜態元件包括儀錶盤、儀錶盤刻度等,動態元件包括指針、平移刻度背景等,由控制模塊所得參數作為其廣義坐標,實現動態元件的指示功能。
緩存模塊。調用圖像渲染攝像機實時記錄渲染結果,即顯示模塊所呈現出的圖像,並生成貼圖緩存文件。
終端顯示模塊。在駕駛艙儀表區鋪設動態材質,實時調用緩存模塊所得圖像文件,實現電子儀表動態可視化。
控制模塊與輸入模塊和顯示模塊相連,並調用輸入模塊數據進行計算。顯示模塊可自定義儀表樣式及布局,由控制模塊計算結果進行動態控制,並由緩存模塊實時記錄渲染信息。終端顯示模塊即駕駛艙內電子儀表,調用貼圖緩存文件進行實時顯示。這一過程循環進行,將飛行參數的變化通過連續的幀的調用的方法實現實時動態顯示。
上述方法採用面向對象的設計思想。使用動態貼圖渲染的方法,極大簡化了電子儀表逐個建模的過程,也使得用戶可以根據使用需求自主設計面板布局,選擇所需顯示的數據,具有通用性。本發明的電子儀表仿真方法可以快速建模,將飛行器飛行參數實時顯示,在飛行任務的訓練中提高虛擬環境逼真度,提高訓練受訓人員的訓練效率,也可應用於飛行器評估,方便不同型號飛行器電子儀表的建模。同時,在飛行器設計初期,也可先採用實時貼圖渲染的方法進行動態電子儀表仿真,方便在之後的評測中進行改進。
在本發明實施例中,S1中,所述實時飛行參數包括:空速、俯仰角、滾轉角、航向、升降速率、發動機轉速和/或高度。
其中,所述實時飛行參數可以通過飛行控制裝置的輸入數據進行飛行仿真計算得到。
本發明實施例中,S4中,所述直指針偏轉角度的計算方法可以為:規定指針偏轉角度為零時對應數值,規定對應數值隨角度的變化關係,可以為線性或非線性,根據數值與角度的對應關係,由飛行參數計算出指針應偏轉的角度。
S4中,所述刻度平移距離的計算方法可以為:規定刻度平移距離為零時對應的飛行參數,規定單位刻度所對應的飛行參數數值,直接得到的飛行參數與單位刻度對應參數值相除得到平移距離。
S5中,所述靜態元件包括儀錶盤和儀錶盤刻度,所述動態元件包括偏轉指針、平移刻度背景和形態指示飛機。
S5中,所述儀表元素繪製在photoshop中完成,包括儀錶盤的繪製、指針的繪製以及根據計算得到的刻度值的分布,進行儀錶盤上刻度的繪製。
在本發明的實施例中,S5中,所述圖片拼接包括各儀錶盤的相對位置關係的確定。
具體實施例:
本實施例所使用的物理引擎為physX,編譯環境為Visual Studio,是基於虛幻引擎UNREAL ENGINE的一種實時貼圖渲染的動態電子儀表仿真。
步驟一:輸入模塊數據採集。本實施例中,電子儀表所需顯示的實時飛行參數包括有空速、俯仰角、滾轉角、航向、升降速率、發動機轉速、高度等。通過飛行控制裝置的輸入數據,基於物理引擎進行飛行仿真計算得到。
步驟二:基於輸入模塊所得數據,控制模塊計算。首先確定動態元件初始狀態,根據飛行參數的範圍,確定刻度值的分布。刻度值分布可以為線性或非線性,即飛行參數與廣義坐標之間的線性或非線性數值關係,得到真實飛行參數與元件廣義坐標之間對應關係。以本實施例中航向表為例,如圖2所示,飛行參數(航向)與廣義坐標(角度)之間是一比一的線性關係。其次根據輸入模塊所得飛行參數,利用對應飛行參數與廣義坐標之間的對應算法,在vs編譯環境中進行計算,得到控制儀表動態顯示所需數值,包括直指針偏轉角度、刻度平移距離等等。
步驟三:自定義顯示模塊利用控制模塊計算結果進行數據顯示。首先對儀錶盤進行樣式和布局設計,對所需顯示的不同參數進行對應的儀表元素繪製和圖片拼接。元素的繪製在photoshop中完成,包括儀錶盤的繪製和指針的繪製。儀錶盤常用圓形和矩形,並根據步驟二所確定的刻度分布密度來進行刻度繪製。圖片拼接包括確定各儀錶盤的相對位置關係。再利用圖層分層將靜態與動態元件分離,確定動態元件所受約束,限制其多餘自由度。本實施例中,靜態元件有儀錶盤、儀錶盤刻度等,動態元件包括偏轉指針、平移刻度背景、形態指示飛機等。最後,由控制模塊所得參數作為動態元件的廣義坐標,對動態元件進行控制,實現其指示功能。以本實施例中航向表為例,如圖2所示,元素繪製部分:選用圓形錶盤,將圓周360°平均劃分為四塊區域,確定四個分界點依次代表北、西、南、東四個方向。每個區域均為90°,細劃分為每小格5°,提高顯示準確度。該儀錶盤為動態元件。由控制模塊所得參數(航向)作為動態元件的廣義坐標(角度),對動態元件(儀錶盤)進行控制,實現其指示功能。
步驟四:緩存模塊記錄顯示模塊信息。調用unreal引擎內圖像渲染攝像機,實時記錄渲染信息,即顯示模塊所呈現出的圖像信息,並生成貼圖緩存文件,如圖3所示。
步驟五:終端顯示模塊。在虛擬駕駛艙內進行儀錶盤的簡單建模,在劃定為儀表區的平面區域鋪設動態材質,實時調用緩存模塊所得圖像文件,即通過自定義面板顯示飛行參數,完成電子儀表可視化。
在本實施例中,由步驟一至步驟五的實現是一幀貼圖的顯示,代表某一時刻的飛行參數。這一過程循環進行,便將飛行參數的變化通過連續的幀的調用的方法實現實時動態可視化。
通過採用本發明公開的上述技術方案,得到了如下有益的效果:本發明實施例提供的實時貼圖渲染的動態電子儀表仿真方法,採用面向對象的設計思想,使用動態貼圖渲染的方法,極大簡化了電子儀表逐個建模的過程,也使得用戶可以根據使用需求自主設計面板布局,選擇所需顯示的數據,具有通用性、設計周期短等優點。採用本發明提供的電子儀表仿真方法可以實現仿真儀表的快速建模,不僅可以將飛行器飛行參數實時顯示,在飛行任務的訓練中提高虛擬環境逼真度,提高訓練受訓人員的訓練效率,也可應用於飛行器評估,方便不同型號飛行器電子儀表的建模。同時,在飛行器設計初期,也可先採用實時貼圖渲染的方法進行動態電子儀表仿真,方便在之後的評測中進行改進。
本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本領域人員應該理解的是,上述實施例提供的方法步驟的時序可根據實際情況進行適應性調整,也可根據實際情況並發進行。
上述實施例涉及的方法中的全部或部分步驟可以通過程序來指令相關的硬體來完成,所述的程序可以存儲於計算機設備可讀取的存儲介質中,用於執行上述各實施例方法所述的全部或部分步驟。所述計算機設備,例如:個人計算機、伺服器、網絡設備、智能移動終端、智能家居設備、穿戴式智能設備、車載智能設備等;所述的存儲介質,例如:RAM、ROM、磁碟、磁帶、光碟、快閃記憶體、U盤、移動硬碟、存儲卡、記憶棒、網絡伺服器存儲、網絡雲存儲等。
最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視本發明的保護範圍。