魏先勇
(商丘職業(yè)技術學院,河南商丘476000)
室內交互式場景漫游系統(tǒng)工程的設計與實現(xiàn)
魏先勇
(商丘職業(yè)技術學院,河南商丘476000)
室內交互式場景漫游系統(tǒng)可以十分方便地完成人機交互過程,給人帶來一種身臨其境的感受。該系統(tǒng)由虛擬世界、VR軟件、輸入設備和輸出設備4部分構成,分析了基礎環(huán)境及模型的建模過程和場景模型導入到場景數(shù)據(jù)庫的方法,探討了模型及場景的材質、燈光、碰撞檢測、漫游、消影、投影的實現(xiàn)。
虛擬現(xiàn)實;場景漫游;Open Inventor;3ds Max
虛擬現(xiàn)實(Virtual Reality,簡稱VR)是通過計算機及周邊設備,結合人工智能技術、多傳感器技術、仿真技術等創(chuàng)建一個實時三維立體環(huán)境。在此環(huán)境中,虛擬設備可以模擬關于聽覺、視覺、觸覺等感官功能,客戶可以借助一些設備與虛擬設備等對象進行交互,達到相互影響,形成和諧的人機環(huán)境,給人一種“身臨其境”的感受?;谔摂M現(xiàn)實技術的展示方式比單純的圖像加文字信息展示方式更加形象生動,且具有更明顯的交互感。因此,虛擬現(xiàn)實技術越來越受到大眾的關注。在大數(shù)據(jù)、云平臺、新媒體盛行的當今,虛擬現(xiàn)實技術已廣泛應用于城市規(guī)劃、建筑物設計、航空航天等眾多領域。在產品展示、室內設計等方面,虛擬現(xiàn)實技術大有將效果圖、三維動畫取而代之的趨勢[1]。筆者應用三維建模技術和Open Inventor技術設計了一個室內交互式場景的漫游。
一般來說,一個完整的虛擬現(xiàn)實系統(tǒng)由虛擬世界、VR軟件、輸入設備和輸出設備4部分構成[2]。
1.1 虛擬世界
可以相互交互的虛擬環(huán)境構成虛擬世界。在虛擬世界中,能夠實現(xiàn)無死角連續(xù)考察和觀看的效果。通常情況下,虛擬世界包含三維模型和虛擬環(huán)境數(shù)據(jù)庫。
1.2 VR軟件
在虛擬環(huán)境中,景和物通過VR軟件實現(xiàn)。VR軟件是被廣泛應用于虛擬現(xiàn)實制作和虛擬現(xiàn)實系統(tǒng)開發(fā)的一種圖形圖像三維處理軟件。常見的VR軟件分為建模軟件(3ds Max、VRML、Maya、AutoCAD等)和虛擬現(xiàn)實軟件(Open Inventor、Open GL、Coin 3D、Vtree、Vega等)。
1.3 輸入和輸出設備
收集的用戶信息由虛擬現(xiàn)實系統(tǒng)的輸入部分(數(shù)據(jù)手套、自由度鼠標、三維球、生物傳感器、頭部跟蹤器、語音輸入設備)進行接收,經過處理后,經由輸出設備使用戶體會到虛擬環(huán)境。該虛擬環(huán)境主要是由三維聲音效果、三維圖像視覺效果和觸覺效果共同實現(xiàn)的。
三維場景的創(chuàng)建是全過程的基礎和核心。本系統(tǒng)使用AutoCAD 2015和3ds Max 2015軟件來創(chuàng)建平面圖和三維場景,使用Vray 3.0軟件來完成模型材質和燈光的設計。
2.1 平面圖的創(chuàng)建
在AutoCAD 2015中,首先建立場景圖紙區(qū)域,然后繪制場景平面圖,最后進行尺寸或文字的標注。建好的平面圖如圖1所示,將其保存為.dwg格式。
2.2 平面圖的導入
打開3ds Max 2015軟件,使用文件—導入命令將.dwg格式的平面圖導入3ds Max頂視圖中(如圖2所示)。
圖1 創(chuàng)建的場景平面圖Fig.1 Established scene p lan
圖2 平面圖導入3ds Max頂視圖的效果圖Fig.2 3ds M ax top view after leading p lan
2.3 三維場景的生成
(1)基本場景的生成。選中導入后的平面圖,使用“擠出”等命令生成三維室內結構場景,如圖3所示。
圖3 生成基本場景Fig.3 Created basic scene
(2)附屬物建模。附屬物主要包括窗框、玻璃、窗臺、落地窗、窗簾、門套、踢腳線等。其中,窗臺、窗簾、踢腳線、門套的制作較為復雜,涉及的修改器也較多,如:倒角、倒角剖面、放樣等。附屬物建模如圖4所示。
圖4 附屬物建模Fig.4 Appendant modeling
(3)室內物體建模及場景布置。室內物體主要包括電視、電視柜、背景墻、音響、吊燈、書柜、書本、花瓶、綠化植物、茶幾、沙發(fā)、地毯、筆筒等物體。這些模型的建立使用了較多的修改器,如:多邊形建模、布爾運算、車削、錐化、噪波等。場景模型創(chuàng)建完成后,按照預先設計進行場景地布置,具體效果如圖5所示。
圖5 室內物體建模及場景布置Fig.5 Indoor object modeling
(4)材質及燈光設計。場景模型創(chuàng)建完成后,進行模型材質地編輯。根據(jù)模型的不同物理特性,賦予材質。最后,通過VR渲染器設置燈光效果,放置攝像機調整視角,渲染出最終效果圖,如圖6所示。
2.4 場景模型的導入
圖6 最終效果圖Fig.6 Final effect picture
場景模型創(chuàng)建完成后,需要將整個三維場景導入Open Inventor的場景數(shù)據(jù)庫。Open Inventor的VRML文件接口功能可以把讀入的VRML文件轉化成Open Inventor場景,并形成節(jié)點。場景模型的導入步驟為:(1)利用3dsMax進行基礎場景建模及材質地設置,并輸出VRML格式的文件。(2)把輸出的VRML格式的文件轉化成擴展名為.iv的文件。(3)利用Open Inventor中的VRML接口讀取轉化過來的.iv文件,同時將它轉化為場景,并組成節(jié)點,從而建立了三維虛擬場景。
因為本漫游系統(tǒng)的開發(fā)是針對Windows平臺的用戶,所以使用Microsoft Visual C++作為漫游系統(tǒng)的開發(fā)環(huán)境。在Windows操作系統(tǒng)中,Open Inventor提供了對SoWin API封裝的Fortran語言的可視化編程環(huán)境(Intel Visual Fortan,簡稱IVF)類庫。因此,IVF應用程序框架、IVF類庫和微軟基礎類庫(Microsotf Foundation Classes,簡稱MFC)的應用程序框架、MFC類庫能夠很好地集成在一起,良好地支持三維立體圖形的顯示,也能很方便地在VC平臺上進行程序開發(fā)[3]。
3.1 照相機和燈光的實現(xiàn)
在Open Inventor中,首先是燈光和照相機兩個類的調用。這是因為,燈光與照相機影響到3D圖像場景的外觀。虛擬現(xiàn)實環(huán)境和全真環(huán)境相似,也需要燈光照明,才能便于觀察到物體。如果一個虛擬場景中沒有任何燈光,同時把當前的光照模型Phong lighting缺省,那么這個虛擬場景中的物體也都是處在黑暗的環(huán)境中,不能被看到。Inventor為虛擬場景提供多種光照類型的燈光。使用這些燈光,會使我們有在現(xiàn)實世界一樣的感覺。
人通過眼睛觀察現(xiàn)實世界不同的場景,Inventor也有一個具有人眼功能的照相機,這個照相機不但具有透視方式,而且有產生2D“快照”的功能。照相機節(jié)點可以對場景中所有位于它之后的節(jié)點“拍攝”一張照片。因為照相機必須位于想要觀察的物體之前。所以,通常要將照相機放在靠近場景最頂端的位置上。一個場景在同一時刻只能有一個激活的照相機。當幾何坐標變換時,將會影響照相機的空間位置。當使用多個照相機時,可以使用切換(switch)節(jié)點來激活其中的某個照相機。
3.2 碰撞檢測以及漫游的實現(xiàn)[4]
Open Inventor的事件模型提供了一種簡單的機制。通過這些機制,我們可以通過“按一下鍵盤”和“移動鼠標”等將事件傳遞給場景數(shù)據(jù)庫中的物體。
該場景漫游中的碰撞檢測就是在Open Inventor的事件模型基礎上實現(xiàn)的。它在程序中具體調用的類如下:
3.3 消影、投影的實現(xiàn)
物體屬性節(jié)點都是從SoNode派生的,包含So-Material、SoDrawStyle、SoLightModel、SoEnvironment、SoShapeHints、SoComplexity SoUnits屬性。
在程序中,是以頭文件的形式出現(xiàn)的,實現(xiàn)方法如下:
#include<Inventor/nodes/SoCone.h>
#include<Inventor/nodes/SoMaterial.h>。
3.4 最終整體場景
通過對整個過程的運營調試,實現(xiàn)了室內交互式場景漫游的設計。該設計能夠讓參觀者得到身臨其境的神秘效果,如圖7所示。
圖7 場景漫游的整體效果Fig.7 W hole effect of virtual scene
場景漫游可以營造一個逼真的視覺虛擬環(huán)境。在虛擬環(huán)境中,物體和場景都形成了真實的或者假想的能夠讓人感到身臨其境的仿真虛擬空間。通過現(xiàn)有的虛擬設備,可以讓用戶實現(xiàn)在虛擬環(huán)境中進行漫游,從而實現(xiàn)從不同的視點觀察場景中的對象,同時也能對物體進行操作和規(guī)劃。因此,一個好的場景漫游的功能是非常強大的。本文設計的場景漫游系統(tǒng)基本實現(xiàn)了漫游的功能,通過鍵盤進行控制,達到了視覺的變化。
[1]吳輝煌.基于UN ITY技術實現(xiàn)的三維虛擬校園平臺設計[J].科技創(chuàng)新,2015(28):57-59.
[2]曹丹丹,朱彩英,劉曉春.基于碰撞檢測的交互式三維場景漫游系統(tǒng)研究與實現(xiàn)[J].測繪通報,2014(2):97-100.
[3]劉科文.基于Vega-VP三維場景模擬的虛擬現(xiàn)實技術研究[D].西安:西安石油大學,2013.
[4]張凱.沉浸式三維虛擬漫游技術研究[J].長春理工大學學報(自然科學版),2016(2):104-106.
[責任編輯 楊明慶]
TP391.9
B
10.13681/j.cnki.cn41-1282/tv.2016.03.015
2016-04-18
河南省教育廳科學技術研究重點項目:沉浸式虛擬漫游技術研究(14B520044)。
魏先勇(1979-),男,河南寧陵人,講師,碩士,從事計算機網(wǎng)絡安全、虛擬現(xiàn)實技術、智能計算等方面的教學與研究工作。