楊玉婷,楊佳平
(云南大學(xué)旅游文化學(xué)院信息科學(xué)與技術(shù)系,云南 麗江 674100)
虛擬校園漫游與實(shí)時(shí)可視化研究*
楊玉婷,楊佳平
(云南大學(xué)旅游文化學(xué)院信息科學(xué)與技術(shù)系,云南 麗江 674100)
將虛擬現(xiàn)實(shí)技術(shù)和人機(jī)工程相結(jié)合,基于Crystal Space 3D平臺(tái)實(shí)現(xiàn)虛擬校園系統(tǒng)。該系統(tǒng)由數(shù)據(jù)和軟件兩部分組成,數(shù)據(jù)部分包括多媒體數(shù)據(jù)和三維模型數(shù)據(jù)。在建模階段引入面向?qū)ο笏枷氩⒋罅渴褂眉y理,降低了三維模型的復(fù)雜度。同時(shí),使用XML描述導(dǎo)出后的模型,使模型數(shù)據(jù)更容易被讀取和解析。軟件部分支持多種輸入硬件、支持不同的漫游方式和對(duì)虛擬校園中指定地點(diǎn)的查詢及自動(dòng)尋路,并配以介紹學(xué)校文化的背景音樂,使整個(gè)虛擬系統(tǒng)在突出虛擬現(xiàn)實(shí)交互性、沉浸性等獨(dú)有特性的同時(shí),最大限度考慮“人”的使用因素,提供多樣的使用方法和舒適的使用環(huán)境等人機(jī)工程特性,使系統(tǒng)的實(shí)用性更強(qiáng)。
虛擬現(xiàn)實(shí);虛擬校園;人機(jī)交互;Crystal Space 3D
虛擬校園是虛擬現(xiàn)實(shí)技術(shù)[1~3]在數(shù)字化校園中的具體應(yīng)用,是數(shù)字校園建設(shè)的核心。通過將校園地理信息和虛擬技術(shù)相結(jié)合,以虛擬現(xiàn)實(shí)場景界面作為校園景觀展示及信息的瀏覽查詢窗口,實(shí)現(xiàn)人們在計(jì)算機(jī)上虛擬地游覽、規(guī)劃實(shí)際校園的目的。國內(nèi)外對(duì)虛擬校園的研究從未間斷過,從1996年,天津大學(xué)在SGI硬件平臺(tái)上基于VRML最早開發(fā)虛擬校園起,浙江大學(xué)、清華大學(xué)、南京大學(xué)、北京航空航天大學(xué)、華中科技大學(xué)、香港中文大學(xué)等也進(jìn)行了數(shù)字校園的建設(shè)[4~6]。另外,Norwegian大學(xué)、Nanyang技術(shù)大學(xué)等也加入其中,并為虛擬校園今后的發(fā)展提供了一些新思路[7~9]。同時(shí),用戶在使用軟件時(shí)對(duì)軟件在方便、舒適、實(shí)用和效率等方面的要求越來越高,即要求軟件操作更加人性化。因此,將人機(jī)工程與虛擬校園相結(jié)合、最大限度考慮“人”的因素也顯得越來越重要。
“人機(jī)工程學(xué)”把人-機(jī)-環(huán)境系統(tǒng)作為研究的基本對(duì)象,運(yùn)用生理學(xué)、心理學(xué)和其它有關(guān)學(xué)科知識(shí),根據(jù)人和機(jī)器的條件與特點(diǎn),合理分配人和機(jī)器承擔(dān)的操作職能,并使之相互適應(yīng),從而為人創(chuàng)造出舒適和安全的工作環(huán)境,使工效達(dá)到最優(yōu)的一門綜合性學(xué)科[10,11]。因此,結(jié)合虛擬現(xiàn)實(shí)和人機(jī)工程的特點(diǎn),基于Crystal Space 3D平臺(tái)實(shí)現(xiàn)了虛擬校園系統(tǒng)。該系統(tǒng)在設(shè)計(jì)過程中最大限度考慮“人”的使用因素,使整個(gè)系統(tǒng)在體現(xiàn)虛擬現(xiàn)實(shí)的感知性、沉浸性和交互性的同時(shí),將人的心理特征、空間感、行走、飛行等感覺和行為功能納入到人機(jī)交互中,不斷突出人與軟件間自然和流暢的交流與協(xié)作,體現(xiàn)了系統(tǒng)的人性化、舒適性及多樣的使用方法等人機(jī)工程特性。
Crystal Space 3D(以下簡稱CS)是一個(gè)成熟的、具備完全功能的、輕量級(jí)的3D SDK(Software Development Kit),為游戲和虛擬現(xiàn)實(shí)等應(yīng)用提供了實(shí)時(shí)的3D圖形處理功能。CS除了具備3D游戲引擎應(yīng)有的功能外,其自身還包含許多獨(dú)有的特點(diǎn)。首先,CS擁有高度模塊化的框架,具有良好的可擴(kuò)展性和可復(fù)用性。其次,CS是一個(gè)免費(fèi)的、由構(gòu)件(Components)和插件/庫(Plugin/Library)組成的包,不但提供了豐富的開發(fā)構(gòu)件,還支持自定義插件的開發(fā),使開發(fā)者的自主性更強(qiáng)。最后,CS廣泛支持各種不同類型的硬件和軟件平臺(tái),具有良好的跨平臺(tái)性[12,13]。
整個(gè)虛擬校園以云南大學(xué)旅游文化學(xué)院主教學(xué)區(qū)為原型,為了與傳統(tǒng)的虛擬校園系統(tǒng)相區(qū)分,人機(jī)工程學(xué)在系統(tǒng)中主要體現(xiàn)為:最大限度考慮“人”的使用因素,提供多樣的使用方法,創(chuàng)建舒適的使用環(huán)境,充分滿足用戶使用的個(gè)性化要求。因此,整個(gè)系統(tǒng)由數(shù)據(jù)和軟件兩部分組成,數(shù)據(jù)部分負(fù)責(zé)處理多媒體數(shù)據(jù)、創(chuàng)建三維虛擬校園模型和三種不同的角色模型、各類模型的導(dǎo)出等。軟件部分負(fù)責(zé)虛擬系統(tǒng)與用戶的交互,包括數(shù)據(jù)加載和校園瀏覽。多媒體數(shù)據(jù)加載為創(chuàng)建舒適的使用環(huán)境奠定了基礎(chǔ),而交互模塊中增加了對(duì)三種角色模型的控制以及對(duì)多種輸入硬件(包括鼠標(biāo)、鍵盤和游戲手柄)的支持,使用戶在使用時(shí)可根據(jù)其個(gè)性化需要選擇不同的硬件和角色模型在地面或從空中漫游整個(gè)校園。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
Figure 1 System structure圖1 系統(tǒng)結(jié)構(gòu)圖
虛擬校園模型的好壞直接影響整個(gè)虛擬校園系統(tǒng)的質(zhì)量,而三維模型的精細(xì)程度與系統(tǒng)運(yùn)行速度成反比,即所建模型越精細(xì)、模型數(shù)據(jù)越龐大,漫游時(shí)計(jì)算機(jī)繪制的時(shí)間就越長,但顯示效果就越逼真,反之亦然。因此,在建模過程中應(yīng)加入不同的優(yōu)化方法,在保證模型具有較好顯示效果的同時(shí),又不會(huì)產(chǎn)生過大的數(shù)據(jù)量。實(shí)際建模時(shí)采用3Ds Max作為建模工具。
4.1 基礎(chǔ)數(shù)據(jù)收集
首先獲取主教學(xué)區(qū)的衛(wèi)星地圖并確定各教學(xué)樓的地理位置,如圖2所示。然后結(jié)合主教學(xué)區(qū)各教學(xué)樓的CAD圖,按照1∶1的比例完成教學(xué)樓模型的建立,圖3為文致樓的局部CAD正面圖(1∶150),圖4為文致樓的正面實(shí)景圖,從而使所建模型與實(shí)際教學(xué)樓盡可能保持一致。最后,收集并制作用于模型表面的各種紋理和材質(zhì)。
Figure 2 Satellite map of the main teaching building圖2 主教學(xué)區(qū)衛(wèi)星地圖
Figure 4 Picture of Wen-zhi building圖4 文致樓正面實(shí)景圖
4.2 面向?qū)ο蟮娜S建模
將面向?qū)ο笏枷胍肴S建模中,為了與傳統(tǒng)面向?qū)ο笏枷胫械念惻c對(duì)象的名稱相區(qū)分,給出如下定義:
(1)模型類(Model Class):描述一個(gè)幾何體的物理數(shù)據(jù)、紋理和材質(zhì),例如,一棵樹。
(2)模型實(shí)例(Model Instance):是通過對(duì)模型類進(jìn)行復(fù)制而得到的副本,即通過復(fù)制“樹”,從而獲得多棵“樹”——多個(gè)模型實(shí)例(復(fù)制所得的一棵樹即為一個(gè)模型實(shí)例)。由于模型實(shí)例與類具有相同的物理數(shù)據(jù),因此,模型實(shí)例只描述對(duì)模型類的當(dāng)前引用次數(shù)、與模型類的相對(duì)物理位置,以及模型實(shí)例本身的旋轉(zhuǎn)、紋理和材質(zhì)等特有的信息。
Figure 3 Part of CAD elevation picture of Wen-zhi building(1∶150)圖3 文致樓局部CAD正面圖(1∶150)
需要說明的是,在模型導(dǎo)出并通過游戲引擎渲染時(shí),類是不可見的,而實(shí)例通過結(jié)合對(duì)應(yīng)類中保存的物理數(shù)據(jù)和實(shí)例自身的描述實(shí)現(xiàn)在虛擬場景中的顯示。由此可知,模型類是對(duì)幾何體共性的描述,而模型實(shí)例則是對(duì)單個(gè)幾何體特性的描述,且實(shí)例可使用類中的共性數(shù)據(jù),這與傳統(tǒng)面向?qū)ο笏枷胫蓄惡蛯?duì)象的概念雖有所區(qū)別,但也確有異曲同工之妙。由于相同幾何體的物理數(shù)據(jù)只在模型類中存儲(chǔ)一次,因而大大降低整個(gè)虛擬校園的幾何體數(shù)據(jù)總量及模型規(guī)模,提高了虛擬系統(tǒng)的渲染速度。
另外,模型建立和導(dǎo)出時(shí),其縮放比例均為1∶1,從而保證同等規(guī)模的模型在系統(tǒng)中都按相同大小顯示。
4.3 三維校園模型的優(yōu)化
(1)使用紋理。除了在建模時(shí)引入面向?qū)ο笏枷胪?,大量使用紋理也能有效減少模型的總面數(shù)。如圖5所示,圖5a是文致樓的精細(xì)模型,由于建筑物中包括大量的窗戶,增加了建筑物的幾何復(fù)雜性。根據(jù)LOD(Level of Detail)思想,可通過逐次簡化模型的表面細(xì)節(jié)來減少場景的幾何復(fù)雜性,因此優(yōu)化時(shí)刪除了建筑物右側(cè)的所有窗戶,并使用紋理貼圖代替,大幅減少建筑物的三維模型數(shù)據(jù),但對(duì)最終渲染效果的影響卻并不明顯,如圖5c所示。
Figure 5 Optimizing the 3D model using texture圖5 使用紋理優(yōu)化三維模型
(2)使用XML標(biāo)記三維模型。XML提供統(tǒng)一的方法描述、存儲(chǔ)和交換獨(dú)立于應(yīng)用系統(tǒng)的三維模型數(shù)據(jù)。由于表示方法極其簡單,使存儲(chǔ)其中的模型數(shù)據(jù)更易被讀取、解析,且更能突出三維模型的結(jié)構(gòu)特點(diǎn)和組織形式。因此,所有的模型數(shù)據(jù)在導(dǎo)出后均使用XML表示。對(duì)虛擬世界的簡單描述如下:
〈world〉〈!--標(biāo)記整個(gè)虛擬世界--〉
〈textures〉〈!--標(biāo)記紋理信息--〉
〈texture name="oldmetal"〉
〈file〉/lib/stdtex/oldmetal.jpg〈/file〉
〈/texture〉
〈/textures〉
〈!--定義“墻壁”類--〉
〈meshfact name="walls"〉
〈plugin〉thingFact〈/plugin〉
〈zfill /〉
〈params〉 〈 !--標(biāo)記模型的物理數(shù)據(jù)--〉
〈v x="-10" y="-1" z="10"/〉
…………
〈material〉old_metal〈/material〉
〈texlen〉4〈/texlen〉
〈p name="up"〉〈v〉6〈/v〉 〈v〉7〈/v〉 〈/p〉
〈/params〉
〈/meshfact〉
〈/world〉
系統(tǒng)軟件部分負(fù)責(zé)虛擬系統(tǒng)與用戶的交互,包括數(shù)據(jù)加載和校園瀏覽,其中數(shù)據(jù)加載模塊包括校園模型加載、角色模型加載和背景音樂加載;而校園瀏覽模塊包括查詢及自動(dòng)尋路、漫游交互和邏輯處理。各模塊間的交互如圖6所示。
Figure 6 Interconnection among models in software part of virtual campus圖6 虛擬校園軟件部分各模塊間的交互
5.1 數(shù)據(jù)加載模塊
數(shù)據(jù)加載模塊包括校園模型加載、角色模型加載和背景音樂加載三個(gè)部分。
(1)校園模型加載。校園模型加載負(fù)責(zé)整個(gè)虛擬校園模型數(shù)據(jù)的讀取、解析、加載和卸載。模塊的處理過程包括:① 創(chuàng)建場景實(shí)體;② 完成對(duì)描述虛擬場景的XML數(shù)據(jù)的讀取、解析、加載/卸載。核心代碼如下:
// ① 創(chuàng)建場景實(shí)體level
csRef〈iCelEntity〉 level = pl→CreateEntity ("ent_level", 0, 0,"pcworld.zonemanager","pctools.inventory", "pcphysics.system", (void*)0); /* ② 根據(jù)level創(chuàng)建用于完成對(duì)虛擬場景的XML數(shù)據(jù)相關(guān)操作的zonemanager屬性*/ csRef〈iPcZoneManager〉 pczonemgr = CEL_QUERY_PROPCLASS_ENT (level,iPcZoneManager); iCelZone* zone = pczonemgr→CreateZone ("main"); iCelRegion* region = pczonemgr→CreateRegion ("main"); zone→LinkRegion (region); iCelMapFile* mapfile = region→CreateMapFile (); mapfile→SetPath ("/cellib/lev");/*指定虛擬場景的存儲(chǔ)路徑*/ mapfile→SetFile ("walktut_world");//加載虛擬場景
(2)角色模型加載。由于在系統(tǒng)設(shè)計(jì)時(shí)考慮到用戶的個(gè)性化需要和系統(tǒng)使用多樣性等人機(jī)工程特性,在校園漫游中為用戶提供了第一人稱和第三人稱兩種漫游方式。模塊的處理過程包括:① 創(chuàng)建角色實(shí)體;② 創(chuàng)建攝像機(jī),并將攝像機(jī)與角色實(shí)體綁定,實(shí)現(xiàn)對(duì)虛擬場景的觀察;③ 完成角色模型的XML數(shù)據(jù)的讀取、解析、加載/卸載;④ 設(shè)置對(duì)角色的控制和碰撞檢測,并將角色控制與鍵盤綁定,使用戶能夠通過鍵盤對(duì)角色進(jìn)行控制。另外,也可將角色控制與其他輸入硬件綁定,例如鼠標(biāo)、游戲手柄等,使系統(tǒng)的使用更加多樣化,滿足用戶的個(gè)性化需求。其核心代碼如下:
// ① 創(chuàng)建角色實(shí)體player_entity
csRef〈iCelEntity〉 player_entity= pl→CreateEntity ("player",bl,"player_behave","pccamera.old", pcobject.mesh","pcmove.linear","pcmove.actor.standard","pcinput.standard","pctools.inventory",CEL_PROPCLASS_END); /* ② 根據(jù)player_entity創(chuàng)建camera屬性,使用戶能看到虛擬場景中的景物*/ csRef〈iPcCamera〉 pccamera = CEL_QUERY_PROPCLASS_ENT (player_entity, iPcCamera); /* 將camera和角色實(shí)體綁定,并設(shè)置角色在虛擬場景中的初始位置*/ csRef〈iPcZoneManager〉 pczonemgr = CEL_QUERY_PROPCLASS_ENT (level_entity,iPcZoneManager); pccamera→SetZoneManager (pczonemgr, true, "main", "Camera"); if (pczonemgr→PointMesh ("player", "main", "Camera")) return ReportError ("Can't find region or start position in region!");
/* ③ 創(chuàng)建pcmesh屬性,完成對(duì)角色模型的XML數(shù)據(jù)的讀取、解析、加載/卸載*/
csRef〈iPcMesh〉 pcmesh = CEL_QUERY_PROPCLASS_ENT (player_entity, iPcMesh);
pcmesh→SetPath ("/cellib/objects");/*指定角色模型的存儲(chǔ)路徑*/
pcmesh→SetMesh ("celBody", "cally.cal3d"); /*加載角色模型*/
/* ④ 創(chuàng)建actmove屬性,實(shí)現(xiàn)對(duì)角色的移動(dòng)速度的控制*/
csRef〈iPcActorMove〉 pcactormove = CEL_QUERY_PROPCLASS_ENT (player_entity, iPcActorMove);
pcactormove→SetMovementSpeed (3.0f);/*設(shè)置平移速度*/
……
/*將角色控制與鍵盤綁定,使用戶可通過鍵盤操縱角色,也可設(shè)置角色與其他輸入硬件的綁定*/
csRef〈iPcCommandInput〉 pcinput = CEL_QUERY_PROPCLASS_ENT (player_entity, iPcCommandInput);
pcinput→Bind ("up", "forward");/*設(shè)置up鍵為向前平移*/
pcinput→Bind ("m", "cammode");/*設(shè)置m鍵為第一人稱和第三人稱的切換*/
…………
/*創(chuàng)建linmove屬性,實(shí)現(xiàn)對(duì)角色的碰撞檢測,使用包圍球作為碰撞檢測的邊界*/
csRef〈iPcLinearMovement〉 linmove = CEL_QUERY_PROPCLASS_ENT (player_entity,iPcLinearMovement);
pclinmove→InitCD (csVector3 (0.5f,0.8f,0.5f),csVector3 (0.5f,0.4f,0.5f),csVector3 (0,0,0)); /*設(shè)置包圍球*/
(3)背景音樂加載。背景音樂是虛擬系統(tǒng)的一個(gè)重要組成部分,通過在系統(tǒng)中加入介紹學(xué)校文化的背景音樂,使用戶在輕松愉悅的環(huán)境中熟悉校園環(huán)境的同時(shí),也能對(duì)各種校園文化有所了解,使系統(tǒng)所包含的知識(shí)量更加豐富,使用戶的使用環(huán)境更加舒適、人機(jī)交互性更好。整個(gè)模塊的處理過程包括:① 指定音樂文件的存儲(chǔ)路徑;② 加載并解析音樂文件;③ 設(shè)置音樂的音源、音量、音域和播放模式(循環(huán)播放/單遍播放)等。其核心代碼如下:
// ① 指定音樂文件的存儲(chǔ)位置
csRef〈iCommandLineParser〉 cmdline (csQueryRegistry〈iCommandLineParser〉 (GetObjectRegistry ())); csString fname = cmdline→GetOption ("/lib/mat/ch.wav "); // ② 加載并解析音樂文件 csRef〈iDataBuffer〉 soundbuf = vfs→ReadFile (fname.GetData ());/*指定音樂文件的位置*/ csRef〈iSndSysData〉 snddata = sndloader→LoadSound (soundbuf);// 加載音樂文件 const csSndSysSoundFormat* format = snddata→GetFormat ();// 獲取音樂文件的格式 csRef〈iSndSysStream〉 sndstream = sndrenderer→CreateStream (snddata, CS_SND3D_ABSOLUTE); const csSndSysSoundFormat* rformat = sndstream→GetRenderedFormat (); /* ③ 將音源設(shè)置在camera上,使用戶在虛擬校園中不管到哪里聽到的聲音都是一樣大的*/ iCameraPosition*campos_sound=engine→GetCameraPositions()→Get(0);//將音源的位置設(shè)置在camera上csVector3 pos_sound=campos_sound→GetPosition(); //設(shè)置音樂的播放模式和音量大小 sndstream→SetLoopState (CS_SNDSYS_STREAM_LOOP);/*將音樂播放模式設(shè)置為循環(huán)播放*/ sndsource→SetVolume( 6.0 );//音量范圍為0.0~10.0
5.2 校園瀏覽模塊
校園瀏覽模塊是虛擬系統(tǒng)的核心處理模塊,負(fù)責(zé)處理用戶與系統(tǒng)交互時(shí)產(chǎn)生的所有事件,由查詢及自動(dòng)尋路模塊、交互模塊、邏輯處理模塊等組成。
(1)查詢及自動(dòng)尋路模塊。系統(tǒng)提供查詢及自動(dòng)尋路模塊,根據(jù)用戶輸入的教學(xué)樓名稱自動(dòng)定位到指定的教學(xué)樓,能讓完全不熟悉校園的訪問者在漫游整個(gè)校園環(huán)境的同時(shí),也能對(duì)感興趣的某一建筑或指定地點(diǎn)進(jìn)行重點(diǎn)或反復(fù)游覽,且避免訪問者在大規(guī)模的虛擬環(huán)境中迷路,使系統(tǒng)使用更方便、更人性化。其實(shí)現(xiàn)方法是:首先,創(chuàng)建信息存儲(chǔ)數(shù)據(jù)庫,將建筑物的三維位置信息(設(shè)為建筑物正面入口處的三維坐標(biāo))存儲(chǔ)在數(shù)據(jù)庫中;然后,解析用戶輸入的教學(xué)樓名稱,并根據(jù)輸入的名稱獲取建筑物位置信息,以及當(dāng)前角色所處的位置信息;最后,根據(jù)當(dāng)前位置和目的地,將校內(nèi)各棟樓、道路處理成點(diǎn)和弧長,道路的長度設(shè)定為弧的權(quán)值,運(yùn)用改進(jìn)的Dijkstra算法求出當(dāng)前位置到目的地的最短路徑,如圖7所示。
Figure 7 Path-finding result圖7 自動(dòng)生成的漫游路徑
(2)漫游交互。漫游交互模塊是虛擬現(xiàn)實(shí)與人機(jī)工程相結(jié)合的核心模塊,負(fù)責(zé)處理用戶與系統(tǒng)交互時(shí)產(chǎn)生的所有事件。系統(tǒng)提供第一人稱和第三人稱兩種漫游方式。以第一人稱漫游可選擇步行和飛行兩種漫游模式,而以第三人稱漫游時(shí)又可選擇包括步行、駕車和飛行三種不同的漫游模式。步行和駕車可以不同的速度漫游校園,而飛行則可從空中縱覽整個(gè)校園,欣賞校園全貌。漫游交互模塊實(shí)際上是對(duì)角色加載模型的多次調(diào)用,但每次加載的角色模型都由用戶指定。
(3)系統(tǒng)邏輯處理模塊。系統(tǒng)邏輯處理模塊處理虛擬系統(tǒng)的邏輯事務(wù),包括初始化系統(tǒng)各個(gè)模塊和CS 插件(Plugin)、協(xié)調(diào)各模塊之間的工作、向不同模塊分發(fā)指令等。
系統(tǒng)測試時(shí),選擇的計(jì)算機(jī)硬件環(huán)境包括:CPU為Duo T6400 2 GHz*2,顯示卡為NVIDIA GeForce 9300M GS,內(nèi)存大小為2 GB;軟件環(huán)境為Visual Studio 2005和DirectX SDK 2010。測試內(nèi)容包括:(1)系統(tǒng)啟動(dòng)及角色初始創(chuàng)建;(2)用戶使用輸入設(shè)備對(duì)角色的控制;(3)以第一人稱在校園中漫游;(4) 以第三人稱在校園中漫游及不同角色間的切換;(5) 角色的碰撞檢測。測試效果如圖8~圖11所示。另外,在整個(gè)系統(tǒng)的測試過程中,測得最大幀速為265 Frames/s,最小幀速為221 Frames/s,平均幀速為240.67 Frames/s,幀速率變化如圖12所示,從而保證系統(tǒng)的順暢運(yùn)行。
Figure 8 System startup interface圖8 系統(tǒng)啟動(dòng)界面(學(xué)校正門)
Figure 9 Roaming teaching building in the first-person圖9 以第一人稱漫游教學(xué)樓
Figure 10 Roaming control and switching between the different roles圖10 漫游控制及不同角色間的切換
Figure 11 Role’s collision detection圖11 角色的碰撞檢測
Figure 12 Frame rate圖12 幀速率
將虛擬現(xiàn)實(shí)技術(shù)和人機(jī)工程相結(jié)合,基于Crystal Space 3D平臺(tái)實(shí)現(xiàn)了虛擬校園系統(tǒng)。與傳統(tǒng)虛擬現(xiàn)實(shí)系統(tǒng)相比,該系統(tǒng)支持多種輸入設(shè)備(鍵盤、鼠標(biāo)和游戲手柄),支持多種不同的漫游方式(第一人稱、第三人稱,包括步行、駕車和飛行等),以及支持用戶對(duì)指定地點(diǎn)的查詢和自動(dòng)尋路,不但突出了虛擬現(xiàn)實(shí)系統(tǒng)的感知性、交互性和沉浸性,也充分考慮了用戶的個(gè)性化需求、使用的舒適性和多樣性等人機(jī)工程特性,使系統(tǒng)的實(shí)用性更強(qiáng)。
[1] Yu Li, Wang Cheng. Digital campus three dimension simulation system based on virtual reality technology[J]. Computer Simulation, 2004, 21(4):98-101.(in Chinese)
[2] Yang Yu-ting, Shi Lin. A 3D dynamic demo based on game engine[J]. Science Mosaic, 2008(8):99-102.(in Chinese)
[3] Yang Hong-yan, Shi Zhuo, Zhong Yan-ru. Design of digital campus roaming system based on virtual reality technology[J]. Journal of Guilin University of Electronic Technology, 2011, 31(4):287-291.(in Chinese)
[4] Hao Ai-min,Zhang Bei,Zhao Qin-ping.Walkthrough and interaction technology for virtual BUAA [J]. Journal of Beijin University of Aeronautics and Astronautics, 2000, 26(4):435-438.(in Chinese)
[5] Wang Cheng, Li Li-jun, Zhou Jun-qing, et al. Vega real-time three-dimensional visual simulation technology[M]. Wuhan:Huazhong University of Science & Technology Press, 2005.(in Chinese)
[6] Gong Jian-hua, Lin Hui,Tan Qian. Designing and developing the virtual campus of the Chinese University of Hong Kong [J]. Acta Geodaetica et Cartographica Sinica, 2002, 31(1):39-43.(in Chinese)
[7] Prasolova-Forland E,Fominykh M,Wyeld T G.Virtual campus of NTNU as a place for 3D educational visualizations[C]∥Proc of Global Learn Asia Pacific 2010, 2010:3593-3600.
[8] Sourin A. Nanyang technological university virtual campus[J]. IEEE Computer Graphics and Applications, 2004:24(6):6-8.
[9] Fominykh M, Prasolova-Forland E. Virtual research arena:Presenting research in 3D virtual environment[C]∥Proc of the 2nd Global Conference on Learning and Technology, 2011:1558-1567.
[10] Zhang Hong, Song Cui-e. Research and implement of visualization and roaming[J]. Journal of System Simulation, 2011, 23(12):2701-2703.(in Chinese)
[11] Wang Xiu-ling. Human engineering’s application and development[J]. Machinery Design & Manufacture, 2007, 45(1):151-152.(in Chinese)
[12] CrystalSpace3d.org. Crystal space user manual [EB/OL].[2011-10-20]. http://www.crystalspace3d. org/main/Documentation.
[13] CrystalSpace3d.org. Crystal space tutorial [EB/OL].[2011-10-20].http://www.crystalspace3d.org/main/Documentation.
[14] PlaneShift.net. PlaneShift 3Ds max exporters[EB/OL].[2011-10-20]. http://www.planeshift.it.
附中文參考文獻(xiàn):
[1] 余莉,王乘.基于虛擬現(xiàn)實(shí)技術(shù)的校園數(shù)字三維仿真系統(tǒng)[J]. 計(jì)算機(jī)仿真, 2004, 21(4):98-101.
[2] 楊玉婷,施霖. 基于游戲引擎的3D動(dòng)態(tài)演示文稿[J]. 科技廣場, 2008(8):99-102.
[3] 楊宏艷,史卓,鐘艷如. 基于虛擬現(xiàn)實(shí)的數(shù)字化校園漫游系統(tǒng)設(shè)計(jì)[J]. 桂林電子科技大學(xué)學(xué)報(bào), 2011, 31(4):287-291.
[4] 郝愛民,張蓓,趙沁平. 計(jì)算機(jī)虛擬北航的建造與人機(jī)交互的實(shí)現(xiàn)[J]. 北京航空航天大學(xué)學(xué)報(bào), 2000, 26(4):435-438.
[5] 王乘, 李利軍, 周均清, 等. Vega 實(shí)時(shí)三維視景仿真技術(shù)[M]. 武漢:華中科技大學(xué)出版社, 2005.
[6] 龔建華,林琿,譚倩.虛擬香港中文大學(xué)校園的設(shè)計(jì)與初步試驗(yàn)[J].測繪學(xué)報(bào),2002, 31(1):39-43.
[10] 張宏,宋萃娥. 可視化及漫游技術(shù)的研究與實(shí)現(xiàn)[J]. 系統(tǒng)仿真學(xué)報(bào), 2011, 23(12):2701-2703.
[11] 王秀玲. 人機(jī)工程學(xué)的應(yīng)用與發(fā)展[J]. 機(jī)械設(shè)計(jì)與制造, 2007, 45(1):151-152.
YANGYu-ting,born in 1983,MS,lecturer,CCF member(E200023811M),her research interests include image processing, and virtual reality.
楊佳平(1989-),男,福建漳州人,研究方向?yàn)閳D像處理和虛擬現(xiàn)實(shí)。E-mail:1369870168@qq.com
YANGJia-ping,born in 1989,his research interests include image processing, and virtual reality.
Researchonreal-timevisualizationandroamingofvirtualcampus
YANG Yu-ting,YANG Jia-ping
(Department of Information Science and Technology,College of Tourism and Culture,Yunnan University,Lijiang 674100,China)
By combining virtual reality and human engineering, the virtual campus system is implemented based on the Crystal Space 3D platform. It comprises of two components: data and software. The data includes multimedia data and 3D model data. In modeling phase, the object-oriented thought is introduced and a lot of texture is used to reduce the complexity of the 3D models. And using XML to describe the exported models makes them be read and parsed more easily. The software supports multiple types of input hardware, supports different roaming, queries and automatically finds its way to the pointed place and uses the school culture introduction music at the background. Therefore, the entire virtual campus not only has the characteristics of the virtual reality but also considers the “people” factor, and it provides various methods and comfortable usage environment, thus making the system more practical.
virtual reality;virtual campus;human-computer interaction;Crystal Space 3D
1007-130X(2014)08-1588-07
2012-11-02;
:2013-03-05
云南省教育廳科學(xué)研究基金項(xiàng)目(2012Y430);云南省教育廳科學(xué)研究基金重點(diǎn)項(xiàng)目(2012Z143C)
TP391.98
:A
10.3969/j.issn.1007-130X.2014.08.029
楊玉婷(1983-),女,云南昆明人,碩士,講師,CCF會(huì)員(E200023811M),研究方向?yàn)閳D像處理和虛擬現(xiàn)實(shí)。E-mail:tudou-yeah@163.com
通信地址:674100 云南省麗江市云南大學(xué)旅游文化學(xué)院信息科學(xué)與技術(shù)系
Address:Department of Information Science and Technology,College of Tourism and Culture,Yunnan University,Lijiang 674100,Yunnan,P.R.China