?

被動立體虛擬現實應用系統開發研究

2022-03-11 23:58張春明楊天鴻鄭東純
電腦知識與技術 2022年1期
關鍵詞:應用系統開發虛擬現實

張春明 楊天鴻 鄭東純

摘要:闡述了相較于主動立體技術,被動立體虛擬現實應用系統在立體展現方面的獨到優勢,并針對構建基于被動立體技術的多通道虛擬現實應用系統過程中的各種問題進行研究,最后給出了相應的解決方案,包括多通道被動立體虛擬現實應用軟件的開發要點與需要特別注意的事項。

關鍵詞:虛擬現實;被動立體;應用系統;開發

中圖分類號:G642? ? ? 文獻標識碼:A

1 虛擬現實應用系統開發方法綜述

虛擬現實(VR)是指將現實和虛擬相互結合,把現實中真實存在的物體和現實中不存在或肉眼看不到的物體(虛擬)用三維模型表現出來,再通過計算機仿真系統模擬出來一個虛擬的世界,人通過顯示設備或帶有頭部跟蹤器的立體顯示器(HMD頭盔)可在其中漫游,并與之互動,使人有一種身臨其境的感覺。虛擬現實應用系統是指將虛擬現實技術應用到各個行業領域所構成的應用系統。目前市面上有專為開發虛擬現實、科學仿真、計算可視化等高性能圖形應用程序而設計的虛擬現實軟件開發平臺,能夠方便快速地創建跨平臺的高性能交互式虛擬現實應用程序(系統),如OSG、Vizard和U3D等可視化虛擬現實開發平臺。利用此類可視化開發平臺可減少在編寫源代碼上花費的時間,以便集中精力解決專業問題。筆者最終采用傳統編程語言與中視典數字科技有限公司的VRP虛擬現實軟件開發平臺相結合的方法,發揮其各自優勢,是虛擬現實應用系統開發的一次有益嘗試。

2 虛擬現實應用系統采用被動立體技術的優勢

虛擬現實開發平臺支持主動立體技術和被動立體技術,兩種立體顯示技術比各有優缺點。偏光式被動立體是電影院放映3D電影普遍采用的技術,除了要求特制的金屬幕外,只需普通投影機加上偏振片即可。而之所以最終采用被動立體顯示模式,一個重要因素就是在二次開發等特殊場合,被動立體技術也有著主動立體技術無法匹敵的一些優勢,比如:現階段主動立體顯示模式仍存在一些固有的弊端,如Windows對話框和其他界面元素被信號刷新頻率達120Hz的立體視頻畫面所遮擋而無法正常顯示,也就無法實現人機交互等。盡管立體模式下可以正常使用VRP平臺本身的界面元素,但VRP平臺除立體功能以外,在數據庫和報表等功能上十分有限。因此,筆者采用C#等通用程序設計語言實現VRP平臺本身不具備的與行業應用有關的軟件功能,再通過VRP-SDK二次開發包提供的C#開發接口,在C#語言程序中調用VRP功能,以實現更為逼真的立體效果(目前只支持被動立體模式)。正是考慮上面談到的幾個因素,才促使筆者采用一種變通方法,即采用被動立體技術實現虛擬現實應用軟件的立體顯示,而且所有Windows對話框和界面元素均可正常顯示。

3 關于基于被動立體技術開發多通道虛擬現實應用系統的研究

不失一般性,本文以雙通道為例介紹了多通道被動立體虛擬現實應用系統的開發過程。

3.1 多通道被動立體虛擬現實系統硬件構成及配置方法

硬件組成:架設的被動立體系統硬件包括一塊金屬大屏幕、兩臺VRP工作站 (配置完全相同的主機)、一臺視頻矩陣、兩臺融合機和四臺被動立體投影機和兩臺監視器,并通過交換機連接成一個內部網絡。矩陣切換器的輸入與VRP工作站相連,輸出與融合機相連,最后將經融合機融合后的立體信號輸出到對應的投影機。

融合機設置:融合機采用上海交大的Media Master融合機產品,左右通道畫面在融合機內部融合后分別輸出到相應的投影機上,供左眼或右眼觀看。兩臺融合機的IP地址分別為192.168.0.160/161(分別用于控制上方/下方的2臺投影機),其上運行的Media Master播放端軟件顯示的內容即是兩臺VRP工作站輸出的畫面經過融合后的結果。廠家約定從IP地址為192.168.0.100/101的任一電腦上啟動Media Master融合機控制端軟件可以設置和控制IP地址為192.168.0.160/161的融合機上運行的Media Master融合機播放端軟件。

多通道設置:把運行VRP 多通道管理器netmanserver程序的一臺VRP工作站(IP地址設為192.168.20.1)作為多通道被動立體系統的服務器端,而把運行netmanclient程序的另一臺VRP工作站(IP地址設為192.168.20.2)作為多通道被動立體系統的客戶端。在VRP工作站上啟動VRP編輯器或播放器后,按F4鍵進入多通道設置,如圖2所示。注:工作站上必須插入VRP立體加密狗才會顯示出多通道設置對話框。服務器端多通道設置對話框中的客戶機列表將顯示所有正在運行服務端程序和客戶端程序的工作站IP地址列表,其中標注(S)的客戶機為多通道服務端,余下的為客戶端;M和S分別表示主屏和副屏。選擇相應的客戶機后,“融合系數”區將分別會顯示出其對應的融合系數設置,如192.168.20.1(S) M對應的融合寬度為224和128,192.168.20.1(S) S 對應的融合寬度為224和224,以此類推。將設置好的參數保存到指定的多通道配置文件中,供用戶在自己的虛擬現實應用程序中通過代碼調用。Netman客戶端的VRP多通道設置對話框僅用于建立與服務端的連接。

3.2多通道被動立體虛擬現實應用軟件開發要點與注意事項

在VRP-SDK 12.0虛擬現實二次開發平臺的基礎上,使用C#語言開發了井下定位和微震監測等多通道被動立體虛擬現實應用軟件。所開發的程序可以根據傳入參數自動適應各種不同的場合,如立體和非立體(常規)環境,以及分別作為服務端和客戶端運行等。被動立體軟件的制作不同于普通程序,特別要注意生成左右眼圖像都必須使用全屏模式,而且要重點考慮左右眼同一幀畫面的同步問題。經過手工同步后,進入偏光眼鏡的左右眼圖像才能在大腦中形成正確的立體視覺。這也是制作被動立體虛擬現實應用軟件的難點所在。

開發多通道被動立體虛擬現實系統時,要求所有通道的交互操作必須使用同步鼠標完成,以便各VRP工作站可以同步工作。這就要求所有通道的屏幕設置完全相同,如1號顯示器和2號顯示器分辨率分別為2048 * 768和 1920 * 1080。Windows底部任務欄設置也必須完全相同,如自動隱藏等。否則,當用同步鼠標選擇同一控件時由于屏幕設置存在差異而導致完全不同的操作結果,如不同的工作站選擇了不同的記錄等。

為避免出現上述問題,可以對虛擬現實應用軟件進行特殊處理,即通過在程序中禁止在客戶端程序里顯示交互界面(包括鼠標鍵盤操作)來解決這一問題。

此外,在多通道方案中服務端和客戶端軟件之間不可避免存在同步差異,導致服務端角色的動作與客戶端角色的步調相差很大。這些都需要在軟件中采取一定的措施和技巧加以避免,如先讓客戶端執行一個動作,然后服務器端再執行同一個動作,這是因為向客戶端發出指令以及客戶端執行指令都需要一定的時間可能會造成一些延遲,通過這樣處理以后便可以最大限度地保持同步。所有單步動作都要參照上述步驟進行處理。

3.3多通道被動立體虛擬現實應用軟件的安裝和調用方法

由于開發的虛擬現實應用軟件是作為多通道管理器NetMan程序的子進程使用,因此,程序的啟動調用及參數設置均需要通過NetMan讀寫位于服務器端config子目錄中的腳本文件Command.txt實現。該文件中包括用[]分隔的很多節,例如:[0-0]表示其后為位于第一行第一列(行和列均從0開始計算)按鈕所對應的VRP應用程序的參數。

假設已完成虛擬現實應用系統“基于被動立體技術的井下人員定位軟件”的開發,下面分別在兩臺VRP工作站上安裝該軟件,即拷貝到兩臺主機的相同文件夾當中,如D:\demo文件夾。然后在服務器端VRP工作站上設置各項參數,并將結果也保存在上述腳本文件中。要將NetMan程序第二行第一列的按鈕設為井下人員定位軟件的快捷按鈕,需要在command.txt文件中增加[1-0]一節。先將caption設置為“井下人員定位”,即顯示在該按鈕上的文本,再設置分別在兩臺工作站上運行的動作act1和act2。由于用VRP開發出的虛擬現實應用軟件為可執行文件,因此需要對兩行命令做大幅度的修改。修改前,需分別將事先拷貝到兩臺VRP工作站“D:\demo文件夾\人員定位”文件夾下的VRP二次開發程序可執行文件gp.exe重命名為VRP-Player.EXE,這樣做的好處是netman服務端程序在最大化、關閉本軟件的窗口時會與其管理其他VRP程序的方法一視同仁,省去了額外編寫程序的麻煩。下一步是設置動作act1和act2的命令行及參數,用該軟件自己的命令行參數/S和/C(分別代表作為多通道被動立體系統服務端程序運行和作為客戶端程序運行)替換掉原來的VRP播放器命令行參數/server和/client。另外,命令行參數后面的帶路徑文件名(如:D:\VRP\aaa.多通道配置)為上述調試好的多通道配置文件。

設置完后,點擊多通道管理器NetMan服務端程序的“井下人員定位”快捷程序圖標,將分別在兩臺VRP工作站上自動啟動井下人員定位程序的服務端和客戶端程序。

參考文獻:

[1] 張春明,楊天鴻,王青,等.主被動立體混合式虛擬現實實驗教學系統的設計與實現[J].微型電腦應用,2015,31(9):60-62,65.

[2] 張春明,楊天鴻,顧曉薇,等.多通道大屏幕主動立體VR中控系統的設計與實現[J].實驗室科學,2015,18(5):97-100,104.

[3] 劉小江.探究立體顯示系統在虛擬現實中的運用[J].計算機仿真,2011,28(9):313-317.

[4] 崔新友.多通道虛擬現實系統研究與應用[D].武漢:中國地質大學,2009.

[5] 盧信文.虛擬現實平臺的開發及其應用領域的研究[D].成都:電子科技大學,2008.

【通聯編輯:唐一東】

猜你喜歡
應用系統開發虛擬現實
REALITY BITES
虛擬現實技術向科幻小說借靈感
河南方言文化資源的保護及其開發利用的研究
遵義紅色旅游開發對策研究
基于J2EE和Ionic的ITer學習APP設計與開發
高職學院信息化建設中面臨的問題和思考
基于微信公眾平臺的應用系統開發模式研究
單片機在電子技術中的應用和開發
企業云平臺建設研究
淺談虛擬現實
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合