基于虛擬現(xiàn)實的三維戶型展示系統(tǒng)
摘要:通過3D Studio MAX結(jié)合Cosmo World、VrmlPad和Java語言制作虛擬場景,嵌入網(wǎng)頁來展示小區(qū)戶型及其周邊環(huán)境,在二維導(dǎo)航圖中實現(xiàn)視點跳轉(zhuǎn)、實時導(dǎo)航,在虛擬環(huán)境中進(jìn)行交互操作,使人們對三維小區(qū)戶型和其周邊環(huán)境具有強烈的身臨其境感,增強了宣傳效果。
關(guān)鍵詞:虛擬現(xiàn)實;導(dǎo)航;人機交互;三維戶型
1 引言
隨著計算機技術(shù)的發(fā)展,虛擬現(xiàn)實在社會生活中的應(yīng)用越來越廣泛。虛擬現(xiàn)實技術(shù)具有強烈的“身臨其境”沉浸感,友好親切的人機交互性,激發(fā)人想象的刺激性。人機交互系統(tǒng)不斷創(chuàng)新,為虛擬現(xiàn)實系統(tǒng)的發(fā)展打下了良好的基礎(chǔ);與Web技術(shù)的結(jié)合更使虛擬現(xiàn)實技術(shù)引起人們更為廣泛的關(guān)注,利用虛擬現(xiàn)實技術(shù)人們可在三維虛擬環(huán)境下更深入地交流。
建筑微縮模型、效果圖、三維動畫是傳統(tǒng)的建筑表現(xiàn)方法。其中,建筑微縮模型只能獲得建筑鳥瞰模型,無法以人的視角來感受建筑空間;效果圖只能提供靜態(tài)局部的視覺體驗;三維動畫雖有較強的動態(tài)三維表現(xiàn)力,但不具備實時的交互性。而利用虛擬現(xiàn)實演示三維戶型,人們能夠在虛擬的三維環(huán)境中,以動態(tài)交互的方式對未來的房屋或小區(qū)作身臨其境的全方位審視:可從任意角度、距離和細(xì)致程度觀察場景;可選擇并自南切換多種運動模式,如:行走、跑步等,并可自由控制瀏覽路線;漫游過程中,還可實時切換比較多種設(shè)計方案、多種環(huán)境效果。將虛擬現(xiàn)實技術(shù)引入戶型遠(yuǎn)程展示,為房產(chǎn)公司、裝修公司等相關(guān)企業(yè)開辟了一種新的產(chǎn)品展示方法。
2 三維戶型的遠(yuǎn)程展示及系統(tǒng)簡介
2.1 系統(tǒng)模塊
三維戶型遠(yuǎn)程展示系統(tǒng)可分為虛擬場景和導(dǎo)航圖兩大模塊,其中,虛擬場景又可分為住宅小區(qū)周邊環(huán)境的三維虛擬展示和多種房屋戶型及其裝修效果的三維虛擬展示兩部分。虛擬場景的制作步驟如下:首先,在3D SMAX中建立房屋或室外樓盤的三維模型,并將其轉(zhuǎn)化為.wrl文件導(dǎo)出;然后,用Cosmo Worlds打開.wrl文件,設(shè)置其材質(zhì)、導(dǎo)航、視點;同時也可打開VrmlPad 2.0精確定位各個虛擬對象,編寫代碼設(shè)置燈光、背景、腳本語言等;最后,將其嵌入到網(wǎng)頁中,安裝CortvrmlPlayer后即可打開瀏覽。使用鍵盤、鼠標(biāo)或Cortvrml Player自帶的按鈕在場景中自由走動,與虛擬場景進(jìn)行互動。制作導(dǎo)航圖時,首先轉(zhuǎn)換事先準(zhǔn)備的房屋戶型圖,由原來的.bmp文件轉(zhuǎn)化為.gif的動態(tài)文件,然后再制作1張只有“@”符號的.gif圖片,添加相應(yīng)的HTMEL語言和VRML語言即可實現(xiàn)時時導(dǎo)航,同時添加相應(yīng)的按鈕,以便在各個場景之間進(jìn)行跳轉(zhuǎn)。
2.2 關(guān)鍵節(jié)點設(shè)置
虛擬現(xiàn)實建模語言VRML(Virtual Realitv Modeling Lan-guage)可實現(xiàn)各個虛擬對象和場景的精確定位,對三維環(huán)境設(shè)置變換節(jié)點、視點節(jié)點、導(dǎo)航節(jié)點和Script節(jié)點,這是三維導(dǎo)航的基本條件。
2.2.1 Transform(變換)節(jié)點的設(shè)置
在虛擬場景中的每個造型都是基于當(dāng)前的坐標(biāo)系創(chuàng)建的,如果希望場景中的造型改變空間位置和空間朝向,就需要變換造型創(chuàng)建所基于的空間坐標(biāo)系。Transform是為其子項定義坐標(biāo)系統(tǒng)的組節(jié)點。常用的Transform節(jié)點格式如下:
其中,translation表示平移,其后的3個數(shù)字分別表示在X軸,Y軸和Z軸方向平移的坐標(biāo)位數(shù);rotation表示旋轉(zhuǎn)量,其后的3個數(shù)字表示新坐標(biāo)系的原點坐標(biāo),最后1位數(shù)字表示旋轉(zhuǎn)角度,單位是rad,兩原點的連線是旋轉(zhuǎn)的軸;scale表示縮放,它設(shè)定了造型在子坐標(biāo)系3個坐標(biāo)方向的縮放因子,3個值分別表示在X,Y,Z軸方向的縮放,該域值始終大于0.0,當(dāng)小于1.0時是縮小,大于1.0時是放大。其默認(rèn)值1.0表示不發(fā)生縮放。translation域指定變換量,允許將transform的子節(jié)點移動到其他位置。rotation域指定旋轉(zhuǎn)的軸和角度。scale域指定縮放比例,各軸向縮放比值可不相等。
2.2.2 Viewpoint(視點)節(jié)點
Viewpoint視點節(jié)點定義了處于局部坐標(biāo)系中的一個指定位置,用戶可以從該點觀察場景。設(shè)置此節(jié)點,用以控制三維場景中的起始位置。常用的Viewpoint格式如下:
公共域position值為一個三維坐標(biāo),用于當(dāng)前坐標(biāo)系中視點的定位。公共域orientation值提供了一個視點繞其旋轉(zhuǎn)的旋轉(zhuǎn)軸,旋轉(zhuǎn)角度指定了繞此軸旋轉(zhuǎn)的數(shù)值。公共域fieldOfView的值表示一個角度,單位是rad,指定了視點的展開角度。
2.2.3 Navigationinfo(導(dǎo)航信息)節(jié)點
導(dǎo)航信息節(jié)點和視點節(jié)點分工協(xié)作,視點節(jié)點描述如何去看一個空間,而導(dǎo)航信息節(jié)點則描述如何在這個空間中移動。下面結(jié)合一個導(dǎo)航信息節(jié)點的實例,來解釋其中的參數(shù)。
avatarSize域是對虛擬環(huán)境中的替身的外表描述,它在VRML中可創(chuàng)建豐富的動畫效果,而動畫的完成則借助于傳感器節(jié)點和插補器節(jié)點,其中,最重要的傳感器節(jié)點是時間傳感器TimeSenor,插補器則包括顏色插補器、坐標(biāo)插補器、法線插補器、朝向插補器、位置插補器及標(biāo)量插補器等。headLight域設(shè)置VRML場景中系統(tǒng)缺省使用的替身頭燈,缺省為TRUE,表示使用替身頭燈,若為FALSE,表示關(guān)閉該系統(tǒng)默認(rèn)的頭燈。speed域表示替身在場景中的漫游速度,單位是unit/s。type域為導(dǎo)航類型,共有5種方式:FLY(飛行方式)、WALK(行走方式)、EXAMINE(觀察方式)、ANY(任意方式)及NONE(不使用任何方式)。visibilityLimit域表示觀察者在最大觀察距離內(nèi)沒有觀察到任何對象,瀏覽器只顯示空間背景。
2.2.4 Script節(jié)點
Script節(jié)點描述一個創(chuàng)建用戶自定義的檢測器和捕補器,它使用一個接口來定義一個用戶自定義節(jié)點的field,eventIn事件和eventOut事件。程序腳本定義處理這些事件的動作,程序腳本可由任何語言編寫,一般常用的是javaScript和VRMLScript。Script節(jié)點的mustEvaluate域決定程序腳本的求值方式,而directOutput域則說明程序腳本的輸出是否受限。
3 系統(tǒng)展示
三維戶型遠(yuǎn)程展示平臺可采用HTML和VRML,HTML語言開發(fā)一個網(wǎng)頁,VRML實現(xiàn)三維漫游功能,借助于插件提供的交互功能,用戶可在選中的住宅小區(qū)或是套房內(nèi)部漫游,詳細(xì)查看其結(jié)構(gòu)、設(shè)計、裝潢及周邊環(huán)境。場景還提供豐富的多媒體信息,如3D聲音、視頻、圖象和文本等,模擬虛擬現(xiàn)實,充分滿足人們的感官要求,讓用戶體驗一種置身其中的感覺,同時在二維矢量圖中顯示用戶當(dāng)前的位置。展示功能如表1所示。
整個系統(tǒng)展示分為系統(tǒng)與房型界面兩部分,主界面(圖1)為室外周邊環(huán)境,點擊戶型演示,可進(jìn)入具體的房屋(圖2為一套四室二廳一衛(wèi)的房屋),可在房屋中瀏覽,點擊返回按鈕,即可返回主界面,再點擊戶型演示二,又可進(jìn)入另一套房屋。
4 系統(tǒng)分析
基于虛擬現(xiàn)實的三維戶型遠(yuǎn)程展示系統(tǒng)集合了VRML語言的眾多優(yōu)點,具體表現(xiàn)在:
(1)交互性強 在基于虛擬現(xiàn)實的三維戶型遠(yuǎn)程展示系統(tǒng),通過交互節(jié)點可以實現(xiàn)與瀏覽者的實時交互,VRMAL提供Java、Javascript、Xml、Flash等網(wǎng)絡(luò)對象的支持,VRML也支持MPG、Flash、Realplayer等流媒體視頻格式;系統(tǒng)場景的渲染是實時的,完全不同于基于關(guān)鍵幀三維動畫,應(yīng)用霧、立體聲、實時燈光渲染等特效,增強了場景的真實感和用戶的切身體驗感。系統(tǒng)提供的常用交互方式有:飛行、行走、自動導(dǎo)覽等瀏覽方式;碰撞、重力等動力物理學(xué)模擬;導(dǎo)航地圖;背景音樂、語音提示;場景物體互動(開、關(guān)門等);視頻文件播放(.swf、.mpg、.rm格式支持);網(wǎng)頁鏈接;三維場景切換。
(2)可支持多種運行環(huán)境、視覺效果好 系統(tǒng)中的場景瀏覽系統(tǒng)可運行于PC、MAC、Unix等機型;同時支持多種主流操作系統(tǒng);運行環(huán)境包括單機、局域網(wǎng)、廣域網(wǎng),即系統(tǒng)經(jīng)簡單修改甚至無需修改就可在各種環(huán)境中運行,這與前期的場景設(shè)計有關(guān);VRML瀏覽器支持IE、網(wǎng)景等主流瀏覽器;支持Directx、OpenGL三維API,同時Vrml瀏覽器內(nèi)置硬件、軟件渲染切換,在速度較慢的計算機中,將自動降低場景特效,以保證場景瀏覽的流暢性。
(3)系統(tǒng)后期維護(hù)方便 由于VRML文件格式為文本文件格式,可直接在任何文本編輯軟件中修改,Vrml腳本為JavaScript腳本,也可在文本編輯軟件中編輯、修改,方便現(xiàn)場調(diào)試和增加新的功能;另外Vrml文件也提供二進(jìn)制文件格式,其大小約為文本格式的1/10,可由專業(yè)VRML開發(fā)軟件再編輯、開發(fā)。
5 結(jié)語
虛擬現(xiàn)實技術(shù)與網(wǎng)絡(luò)技術(shù)相結(jié)合,有著非常廣闊的發(fā)展前景,其發(fā)展將給互聯(lián)網(wǎng)帶來全新的變革,這將是一次從二維到三維的飛躍。開發(fā)一個虛擬的場景并將其嵌入到網(wǎng)頁來演示小區(qū)戶型及其周邊環(huán)境,通過二維導(dǎo)航圖來實現(xiàn)視點跳轉(zhuǎn)和實時導(dǎo)航,將虛擬現(xiàn)實技術(shù)引入三維戶型遠(yuǎn)程展示,將提升建筑開發(fā)公司的市場拓展方法,有利于宣傳效果。