梁金峰+陳小霞+++李華新
摘要:基于虛擬現(xiàn)實技術(shù)對湖南省衡陽市石鼓書院的湖湘文化景區(qū)進行了虛擬再現(xiàn)。通過使用3ds MAX和Zbrush軟件以及Unity3D游戲開發(fā)引擎,建設(shè)具有漫游和交互功能的景區(qū)虛擬旅游系統(tǒng),其中重點對石鼓書院的禹碑亭長廊、石鼓書院大門、李忠公祠、武侯祠、大觀樓和合江亭進行了詳細(xì)的三維建模和Unity3D建筑可視化交互設(shè)計。
關(guān)鍵詞:虛擬現(xiàn)實;湖湘文化景區(qū);3ds Max;Zbrush;
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A
文章編號:16727800(2017)004008603
1虛擬景區(qū)與旅游
虛擬現(xiàn)實(Virtual Reality,簡稱 VR)也稱靈境技術(shù)或人工環(huán)境,是一種可創(chuàng)建和體驗虛擬世界的計算機系統(tǒng),這種系統(tǒng)生成各種虛擬環(huán)境,作用于用戶的視覺、聽覺、觸覺,使用戶產(chǎn)生身臨其境的感覺,沉浸其中[1] 。虛擬現(xiàn)實技術(shù)的應(yīng)用領(lǐng)域相當(dāng)廣泛,目前主要應(yīng)用于旅游、娛樂、教育、藝術(shù)以及軍工等方面。 虛擬景區(qū)與虛擬旅游是在現(xiàn)實旅游景觀造型的基礎(chǔ)上,通過模擬仿真來構(gòu)建一個能使用戶產(chǎn)生沉浸感,并具有交互性的虛擬環(huán)境[2]。我國虛擬旅游景區(qū)表現(xiàn)形式有3種,分別是二維虛擬旅游景區(qū)、三維虛擬旅游景區(qū)和 360°全景漫游虛擬旅游景區(qū)。與旅游發(fā)達(dá)國家相比,我國虛擬景區(qū)起步較晚,雖然發(fā)展速度較快,但整體水平不高,交互性不強,吸引力不夠。目前國內(nèi)虛擬旅游系統(tǒng)由于在景點還原表現(xiàn)形式上的缺陷,導(dǎo)致旅游系統(tǒng)交互性不強,用戶只能被動接受景點圖片,無法主動對景區(qū)進行深入的交互和探索,導(dǎo)致旅游系統(tǒng)對用戶的吸引力大打折扣。
2虛擬旅游系統(tǒng)設(shè)計思路 地處衡陽的石鼓書院是湖湘文化的重要發(fā)源地,本文以石鼓書院為藍(lán)本,設(shè)計開發(fā)一個虛擬旅游系統(tǒng),實現(xiàn)傳播湖湘文化的目的。 所謂虛擬旅游系統(tǒng)就是用戶與虛擬旅游景區(qū)的交互平臺,除了構(gòu)建虛擬景區(qū)環(huán)境外,還需要一個角色在虛擬環(huán)境中被用戶控制,通過鼠鍵控制人物視角,遍歷整個旅游景區(qū)。本例以3ds MAX軟件構(gòu)建三維虛擬旅游景區(qū),再加以Unity3D等游戲引擎在電腦中再現(xiàn)現(xiàn)實世界。湖湘文化虛擬旅游系統(tǒng)三維模型設(shè)計與實現(xiàn)過程如圖1所示。湖湘文化虛擬旅游系統(tǒng)的實現(xiàn)包括虛擬旅游環(huán)境的開發(fā)和虛擬交互平臺設(shè)計。虛擬旅游環(huán)境開發(fā)包括模型和三維場景構(gòu)建;漫游平臺設(shè)計包括三維圖形顯示和輸入命令控制。
3虛擬旅游系統(tǒng)模型構(gòu)建
3.1系統(tǒng)模型構(gòu)建
3.1.1現(xiàn)場數(shù)據(jù)資料采集 為了能準(zhǔn)確直觀地進行景區(qū)建模設(shè)計,需要到石鼓書院景區(qū)進行實地考察,并對景區(qū)重點建筑進行測量,得到場景建筑與建筑之間的距離,建筑的長寬高數(shù)據(jù),然后根據(jù)采集數(shù)據(jù)和地圖以一定比例進行縮放,形成一個固定的比例尺,使模型各部分比例縮放相同,模型更逼真。同時對石鼓書院景區(qū)建筑細(xì)節(jié)進行拍照,利用3ds MAX中的網(wǎng)格進行建模以增加模型的精確度。3.1.2地形模型建造 虛擬旅游區(qū)場景最基本模型是地形,地形的比例直接影響各建筑之間的位置,所以地形模型與現(xiàn)實地形比例應(yīng)與建筑模型比例盡可能一致,這樣才能把地形對建筑的影響控制到最小,從而達(dá)到更逼真的效果。 本例中利用百度地圖的準(zhǔn)確性,把石鼓書院整個平面圖導(dǎo)入3ds MAX中,將整個地形勾勒出來,然后確定各建筑的位置,再根據(jù)各建筑所處地形,在3ds MAX中采用多邊形拉伸、擠壓、衰減等命令完成地形模型的構(gòu)建。地形包括平坦地形如道路、臺階等,凹凸不規(guī)則的自然景觀地形可采用層疊法得到。3.1.3植物模型建造 植物屬于自然景觀,是虛擬旅游區(qū)景觀中不可或缺的部分,在現(xiàn)實景區(qū)中扮演著重要角色,能多樣化點綴人文景觀,襯托出生機勃勃的景象。 由于植物在景區(qū)中分布廣泛,場景范圍較大,而且植物多樣化,考慮到實時漫游需求,在虛擬場景中應(yīng)減少真正的植物模型,以植物貼圖辦法來顯示效果。同時為減少工作量和資源消耗,在自然景觀中擬采用相同的植物模型,采用層疊法達(dá)到效果。 在 3ds MAX中使用多邊形擠出工具做出樹干,然后用若干平面交叉在一起形成樹葉,得到一個植物模型,在虛擬場景中同類樹可共用一個模型,以節(jié)約系統(tǒng)資源。3.1.4水體模型建造 石鼓書院位于湘江和蒸水河的交匯處,水體為動態(tài)水體,需要表現(xiàn)出波紋、漣漪以及倒影等效果,在3ds MAX中運用噪波衰減配合關(guān)鍵幀實現(xiàn)波紋運動,產(chǎn)生水面漣漪的效果,在Unity3D中直接創(chuàng)建,再根據(jù)需求分別進行渲染3.1.5建筑模型建造 石鼓書院是個古人文景區(qū),建筑皆為古建筑,雕梁繡柱、殿堂樓閣、高臺厚榭、朱甍碧瓦,一些細(xì)節(jié)如建筑檐角、雕紋等很難在虛擬系統(tǒng)中刻畫還原。 石鼓書院旅游區(qū)建筑平面圖采用 AutoCAD完成,然后導(dǎo)入到 3ds MAX 中建模。閣樓內(nèi)部結(jié)構(gòu)復(fù)雜,采用粗略建模。根據(jù)閣樓對稱特點,得到閣樓內(nèi)部基本結(jié)構(gòu),然后根據(jù)采集的景區(qū)照片分別對建筑的屋頂、外側(cè)門窗、四周屋檐采用精細(xì)建模、次精細(xì)建模方式。外側(cè)面大部分采用精細(xì)建模,再在Unity3D中整合。建模過程中模型面數(shù)要盡可能精簡,以保證系統(tǒng)流暢運行。3.1.6人物雕像模型建造 人文景區(qū)大多有許多雕像,石鼓書院也不例外,像石鼓書院的石鼓、大觀樓前的先賢孔子都是雕像,在3ds MAX中建模需要花很多時間。本例運用ZBrush 軟件,采用雕刻方法刻畫人物雕像,得到次模型后再導(dǎo)入3ds MAX中對雕像細(xì)節(jié)進行調(diào)整,使其與現(xiàn)實更逼真。
3.2系統(tǒng)模型優(yōu)化
由于虛擬旅游系統(tǒng)資源有限,為了能夠在有限資源下使程序運行流暢,在模型建完后需要對模型進行優(yōu)化。在3ds MAX中,模型的面數(shù)對系統(tǒng)流暢程度影響最大,模型的面數(shù)越多,系統(tǒng)消耗資源就越大,從而導(dǎo)致游戲流暢度降低,所以模型優(yōu)化工作之一就是減少模型的面數(shù)[3]。 減少面數(shù)并不是對模型面數(shù)隨意減少,只有那些直接添加材質(zhì)而沒有貼圖并且看不到的面才能優(yōu)化,否則會導(dǎo)致模型或貼圖變形而影響模型外觀。 因為沒有參照物,初步建立的模型一般存在數(shù)據(jù)量大、比例不協(xié)調(diào)等問題。比例協(xié)調(diào)物體的建模效果能增加三維場景的真實感,這需要在建模時注意協(xié)調(diào)模型間的比例,并適當(dāng)降低模型的面數(shù)。場景三維模型初步建成后,在3ds MAX環(huán)境中除去冗余的多邊形,同時調(diào)整貼圖模式,減少Vary燈光使用等,通過這些措施優(yōu)化模型,以達(dá)到提高系統(tǒng)運行速度的目的。
4材質(zhì)及貼圖制作與優(yōu)化
材質(zhì)及貼圖是三維建模完成后在物體著色方面最引人注目、也是最擬真的方法,能使整個虛擬旅游系統(tǒng)真實感更加強烈,本例貼圖和材質(zhì)制作過程包括現(xiàn)場照片采集、處理圖片、貼圖渲染。 石鼓書院屬于古式閣樓建筑,大部分是木質(zhì)結(jié)構(gòu),材質(zhì)相似,而且建筑的部件都是單一材質(zhì),無需UVW貼圖。為了減少工作量和系統(tǒng)資源消耗,模型大部分多邊形直接賦予材質(zhì)球即可。本例先采集建筑物材質(zhì)照片,然后通過3ds MAX軟件進行材質(zhì)模擬,得到接近最真實的材質(zhì)后導(dǎo)出材質(zhì)球,最后在模型完成后直接賦予材質(zhì)。小部分使用貼圖方式,如門上的對聯(lián)、石碑上的碑文等。 對三維模型賦予材質(zhì)和貼圖后,需要對模型賦予塌陷命令,將模型轉(zhuǎn)化為可編輯多邊形,目的是減少建模過程中出現(xiàn)多余的命令,降低內(nèi)存和CPU的占用率,提高電腦運行速度。對模型使用塌陷后會把所有附加在三維模型上的修改器、材質(zhì)貼圖等固定在模型上,此步驟在模型完成建模與材質(zhì)賦予之后進行,否則塌陷后模型將不能進行修改。
5引擎設(shè)計與實現(xiàn)
模型設(shè)計完成后,將其導(dǎo)入Unity3D中實現(xiàn)交互功能。Unity3D是由Unity Technologies開發(fā)的可創(chuàng)建互動內(nèi)容的多平臺綜合游戲開發(fā)工具[4],如三維視頻游戲、建筑可視化、實時三維動畫等類型創(chuàng)建。
5.1模型導(dǎo)入準(zhǔn)備工作
由于Unity3D與3ds MAX兩個軟件的開發(fā)商不同,模型不能直接從3ds MAX導(dǎo)入到Unity3D中,需要在3ds MAX中進行一些設(shè)置,使模型在導(dǎo)入Unity3D后不會出現(xiàn)錯誤。 在軟件3ds MAX導(dǎo)出模型前,需先在3ds MAX中將系統(tǒng)默認(rèn)單位設(shè)置進行修改。3ds MAX中,默認(rèn)的單位是毫米(mm),而在Unity3D中默認(rèn)的單位是米(m),兩者相差百倍,如果不進行相應(yīng)處理,會出現(xiàn)unity中模型非常小的情況。 另外在三維模型導(dǎo)出前,必須在 3ds MAX 中把模型的方向軸 y 軸設(shè)置為向上。因為在3ds MAX中,模型的z軸是向上的,而Unity3D中是y軸向上。導(dǎo)出模型前必須確認(rèn)所有多邊形整合好且方向軸Y向上,如果部分多邊形方向軸y軸沒有向上,則這個多邊形在Unity3D中將會與模型脫離,形成模型散架。 在3ds MAX中處理完后,將模型以.maxl文件格式導(dǎo)出,然后導(dǎo)入到Unity 3D軟件中形成虛擬旅游系統(tǒng)場景。
5.2功能實現(xiàn)
虛擬旅游系統(tǒng)包括人機交互、碰撞檢測等功能。人機交互功能是實現(xiàn)漫游的重點,本文使用第一人稱控制角色遍歷虛擬場景,從而實現(xiàn)人機交互。碰撞檢測是控制角色與模型間的物理反應(yīng),在Unity3D中,對物體分別添加相應(yīng)的碰撞器,設(shè)置障礙物,當(dāng)角色遇到障礙物時,不會出現(xiàn)穿插、陷落等bug現(xiàn)象。模擬物體遇到障礙物時的物理反應(yīng),如當(dāng)角色遇到墻壁時不能繼續(xù)前進等。 添加碰撞器后,需要對模型添加場景光照(Lightmapping),以增強場景立體感,使場景看起來更加真實。在Unity3D中,先選定模型然后在Inspector視圖勾選Static復(fù)選框,使得模型標(biāo)記為Static,Unity3D會默認(rèn)這些物體為不移動的靜態(tài)物體,然后這些標(biāo)記為Static的模型會受到場景燈光的影響。接下來修改燈光參數(shù),如光源方向、Bounces 數(shù)值、Resolution數(shù)值等,最后生成Lightmaps。 Unity3D自帶人物插件,下載安裝即可,只需要修改一些參數(shù)即可控制角色動作,如前進、跑步、跳躍等,用戶可通過鼠鍵來控制角色漫游,實現(xiàn)人機交互。
6結(jié)語
本虛擬旅游系統(tǒng)借助3ds MAX建模還原虛擬場景,結(jié)合Unity3D的虛擬現(xiàn)實交互技術(shù),設(shè)計制作了石鼓書院虛擬旅游系統(tǒng),使景區(qū)具有更強的展示效果和視覺表現(xiàn)力,促進公眾關(guān)注和了解湖湘文化,實現(xiàn)便捷的互動旅游。
參考文獻(xiàn):[1]張占龍, 羅辭, 何為,等. 虛擬現(xiàn)實技術(shù)概述[J]. 計算機仿真, 2005, 22(3):13.
[2]蔡翊. 基于Unity3d的金絲峽地質(zhì)公園虛擬旅游系統(tǒng)的研究與實現(xiàn)[D]. 西安:西安科技大學(xué), 2012.
[3]程萍, 宋春華. 基于Unity3D引擎的3D漫游系統(tǒng)[J]. 成都紡織高等??茖W(xué)校學(xué)報, 2014, 31(4):2428.
[4]梁少剛. 基于位置服務(wù)的三維虛擬校園系統(tǒng)的設(shè)計與實現(xiàn)[D]. 重慶:重慶郵電大學(xué), 2015.
(責(zé)任編輯:杜能鋼)