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