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