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