趙健 蔣麗霞 隋龍飛
收稿日期:2023-08-29
基金項(xiàng)目:2021年嘉興職業(yè)技術(shù)學(xué)院科研項(xiàng)目(jzyx201910);2022年浙江省詩路文化帶專項(xiàng)資金項(xiàng)目(21408010022)
DOI:10.19850/j.cnki.2096-4706.2024.06.030
摘? 要:針對嘉興子城遺址公園的歷史文化地位,提出以VR技術(shù)對景區(qū)進(jìn)行虛擬仿真數(shù)字化呈現(xiàn)的方法。基于Unity3D游戲引擎設(shè)計(jì)了一套VR交互式系統(tǒng),采用3Ds Max對景區(qū)主體建筑進(jìn)行三維建模并通過減面插件及相關(guān)命令優(yōu)化模型,采用Unity3D進(jìn)行模型導(dǎo)入、UI設(shè)計(jì)、場景環(huán)境設(shè)置,利用C#腳本代碼實(shí)現(xiàn)交互設(shè)計(jì)。系統(tǒng)對子城遺址公園全貌進(jìn)行實(shí)景化還原,并能實(shí)現(xiàn)漫游、文物介紹、互動游戲等功能,對提供教育科普與學(xué)習(xí)機(jī)會、推動旅游與文化交流、傳承和弘揚(yáng)歷史文化具有積極意義。
關(guān)鍵詞:子城遺址;VR;Unity3D;交互
中圖分類號:TP391.9? ? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2024)06-0140-05
Design and Implementation of VR Interactive System for Jiaxing Zicheng Ruins Park
ZHAO Jian1, JIANG Lixia2, SUI Longfei1
(1.School of Internet, Jiaxing Vocational and Technical College, Jiaxing? 314036, China;
2.School of Culture and Tourism, Jiaxing Vocational and Technical College, Jiaxing? 314036, China)
Abstract: In response to the historical and cultural status of Jiaxing Zicheng Ruins Park, a virtual simulation digital presentation method for scenic spots using VR technology is proposed. Based on the Unity3D game engine, a VR interactive system is designed. The 3Ds Max is used to model the main building of the scenic spots and optimize the model through the surface reduction plug-in and related commands. Unity3D is used for model import, UI design, scene environment setting, and C # script code is used to realize interactive design. The system provides a realistic restoration of the entire landscape of the Zicheng Ruins Park, and it can achieve functions such as roaming, introducing cultural relics, and interactive games. It has a positive significance in providing education, science popularization and learning opportunities, promoting tourism and cultural exchange, and inheriting and promoting historical and cultural heritage.
Keywords: Zicheng ruins; VR; Unity3D; interaction
0? 引? 言
嘉興子城遺址公園位于中國浙江省嘉興市,是一處具有豐富歷史文化底蘊(yùn)的博物館式公園。該遺址公園是以南宋時期(公元1127—1279年)的重要軍事要塞和商貿(mào)中心——嘉興子城遺址為核心,通過保護(hù)、修復(fù)和展示,向人們呈現(xiàn)了一個古老城市的建筑風(fēng)貌和歷史變遷。遺址公園占地30余萬平方米,其中包括子城城墻、街道、民居、官署、廟宇等建筑遺址[1]。園內(nèi)現(xiàn)代化的建筑與古老的文化遺址相得益彰,成為嘉興歷史文化旅游的重要景點(diǎn)之一,游客們在這里能夠領(lǐng)略到豐富的歷史文化內(nèi)涵,感受到嘉興這座城市悠久而獨(dú)特的歷史傳承。
利用虛擬現(xiàn)實(shí)(Virtual Reality, VR)技術(shù)實(shí)現(xiàn)對人文歷史和自然地理遺產(chǎn)的還原、保護(hù)和開發(fā),在國內(nèi)外都得到了廣泛的認(rèn)同[2],也為文化旅游等傳統(tǒng)產(chǎn)業(yè)注入了生機(jī)。利用VR開發(fā)數(shù)字文旅項(xiàng)目,通過科技手段讓游客置身其中,超脫時空限制,體會虛擬現(xiàn)實(shí)的神秘感與科技感,既能保護(hù)文物,又有身臨其境的體驗(yàn)機(jī)會。在VR項(xiàng)目的設(shè)計(jì)中,深度挖掘景點(diǎn)歷史背景和文化內(nèi)涵,讓游客在深入的體驗(yàn)與互動中,深刻了解景點(diǎn)文化,提升景點(diǎn)的社會價(jià)值,不僅有利于刺激旅游需求和旅游消費(fèi),還有利于提高中華民族的文化自覺和文化自信,進(jìn)而激發(fā)人們對文化的熱愛和保護(hù)傳統(tǒng)的觀念。
1? 嘉興子城遺址公園VR交互式系統(tǒng)設(shè)計(jì)
系統(tǒng)在文獻(xiàn)分析與實(shí)地考察、搜集資料的基礎(chǔ)上,利用子城遺址公園現(xiàn)有信息,深入研究子城遺址人文歷史、風(fēng)俗文化、傳奇故事,遵循歷史,尊重文化,為嘉興子城遺址公園VR系統(tǒng)設(shè)計(jì)主要功能、展示內(nèi)容與交互效果等,包括子城場景漫游、文物發(fā)掘、歷史典故情景還原,以及與子城歷史文化知識緊密相關(guān)的答題、復(fù)原文物、拼圖等互動游戲,系統(tǒng)功能結(jié)構(gòu)如圖1所示。
2? 系統(tǒng)開發(fā)與實(shí)現(xiàn)
2.1? 開發(fā)工具
系統(tǒng)采用具有跨多種平臺優(yōu)勢的引擎Unity3D進(jìn)行開發(fā)。這是一款跨平臺的游戲開發(fā)引擎,廣泛應(yīng)用于游戲制作、虛擬現(xiàn)實(shí)(VR)、增強(qiáng)現(xiàn)實(shí)(AR)以及其他交互性應(yīng)用程序的開發(fā)。它提供了先進(jìn)的圖形引擎及直觀易用的開發(fā)界面和編輯器,支持腳本編寫,擁有豐富的資源庫和插件生態(tài)系統(tǒng),開發(fā)者能夠創(chuàng)建出高質(zhì)量、逼真的游戲畫面,輕松創(chuàng)建場景、添加對象、配置材質(zhì)等,使用C#、JavaScript、Boo等編程語言來實(shí)現(xiàn)游戲邏輯,下載和集成各種模型、貼圖、音頻、特效等資源來豐富游戲內(nèi)容,也可使用插件來擴(kuò)展引擎的功能[3]。
各類模型采用由Autodesk公司開發(fā)的三維計(jì)算機(jī)圖形軟件3Ds Max進(jìn)行創(chuàng)建,這是一款功能強(qiáng)大的專業(yè)級三維建模、動畫和渲染軟件,可以簡潔高效地創(chuàng)建各類模型,通過渲染營造逼真的效果,廣泛應(yīng)用于電影、電視、游戲、建筑和設(shè)計(jì)等行業(yè)[4]。
交互開發(fā)采用C#語言實(shí)現(xiàn)。這是一種通用、面向?qū)ο蟮木幊陶Z言,由微軟公司開發(fā)。它是基于C和C++語言的語法結(jié)構(gòu),并融入了Java和其他編程語言的一些特性,具有簡單易學(xué)、強(qiáng)大的框架支持和跨平臺能力,系統(tǒng)設(shè)計(jì)框架如圖2所示。
2.2? 三維模型創(chuàng)建
本系統(tǒng)三維建模對象主要是子城中的建筑,包括秀洲古治牌坊、譙樓、端本堂、花月亭等。在建模前,項(xiàng)目組多次到子城遺址公園進(jìn)行實(shí)地考察,對子城全貌及公園內(nèi)各個建筑進(jìn)多角度的拍攝,以了解建筑物結(jié)構(gòu)細(xì)節(jié)并為貼圖做準(zhǔn)備。每個物體都具有傳統(tǒng)的中國建筑風(fēng)格,注重對稱美和整體布局的和諧,建筑物的屋頂都采用曲線狀的重檐歇山式屋頂,并采用雕花窗欞等雕刻元素來豐富建筑物的外觀。在3Ds Max中,使用基礎(chǔ)幾何體工具(如盒子、圓柱、圓錐等)來創(chuàng)建古建筑的基本形狀。根據(jù)參考資料,逐步建立建筑物的整體結(jié)構(gòu)。使用編輯多邊形工具,對建筑物進(jìn)行細(xì)節(jié)的塑造和調(diào)整,例如,通過添加分割線、擠出、倒角等操作,來創(chuàng)造出窗戶、門、屋頂和裝飾等細(xì)節(jié)部分,如圖3所示。
在建模的基礎(chǔ)上,利用Photoshop將實(shí)地拍攝的照片及網(wǎng)絡(luò)圖片進(jìn)行修改,對模型進(jìn)行貼圖,以增加建筑物的真實(shí)感和質(zhì)感,如圖4所示。
圖3? 秀洲古治牌坊和花月亭模型
2.3? 系統(tǒng)模型優(yōu)化
由于系統(tǒng)資源有限,在建模完成后需要通過多種方式對模型進(jìn)行優(yōu)化,原因有以下幾點(diǎn):一是提高性能,優(yōu)化模型可以降低程序的運(yùn)行負(fù)載,提高性能。在三維場景中,復(fù)雜的模型會占用更多的計(jì)算資源,例如處理、渲染和動畫播放等。通過優(yōu)化模型,減少多邊形數(shù)量和紋理大小等操作,可以降低程序的運(yùn)行時消耗,提高幀率和響應(yīng)速度。二是節(jié)省內(nèi)存,優(yōu)化模型可以減少模型所需的內(nèi)存空間。高多邊形數(shù)量和大尺寸紋理會占用大量內(nèi)存,特別是在同時加載多個模型的情況下。通過減少模型的多邊形數(shù)量、合并網(wǎng)格和簡化紋理等操作,可以顯著降低內(nèi)存使用量。三是加快渲染速度,優(yōu)化模型可以減少渲染所需的時間。渲染引擎需要處理和繪制模型的多邊形、紋理、光照等信息,復(fù)雜的模型會增加渲染時間。通過減少多邊形數(shù)量、簡化紋理和刪除隱藏物體等操作,可以加快渲染速度,提高效率。四是便于導(dǎo)出和分享,優(yōu)化模型可以減少模型文件的大小,使其更易于導(dǎo)出和分享。尤其是在需要將模型用于游戲、虛擬現(xiàn)實(shí)或在線平臺時,較小的文件大小可以減少加載時間,提高用戶體驗(yàn)[5]。
本項(xiàng)目的模型優(yōu)化采用以下步驟:使用3Ds Max的減面插件Polygon Cruncher將模型中不必要的細(xì)節(jié)減少,特別是隱藏在視覺上不明顯的部分。通過減少多邊形數(shù)量來降低模型的復(fù)雜度,提高程序的性能[6]。使用3Ds Max的ProOptimizer和Attach命令來合并模型中重疊的網(wǎng)格或相同材質(zhì)的部分,減少繪制調(diào)用和渲染負(fù)擔(dān)。太高的紋理分辨率會增加內(nèi)存和渲染開銷,影響程序性能,因此可以優(yōu)化模型的紋理貼圖,使其分辨率適合實(shí)際需求。檢查并刪除模型中隱藏、遮擋或不可見的物體。這些物體雖然不會直接顯示在場景中,但仍會占用計(jì)算資源。同時使用LOD技術(shù)為模型創(chuàng)建不同層次的細(xì)節(jié)模型,根據(jù)物體離相機(jī)的距離動態(tài)地切換模型細(xì)節(jié)級別[7]。這樣可以在保持視覺質(zhì)量的同時,降低模型復(fù)雜度和渲染開銷。
2.4? Unity3D設(shè)計(jì)與實(shí)現(xiàn)
2.4.1? 模型導(dǎo)入
將模型導(dǎo)入U(xiǎn)nity3D之前須將模型在3Ds Max中導(dǎo)出為FBX格式,因?yàn)榇烁袷皆?Ds Max和Unity3D之間具有更好的兼容性和功能支持。3Ds Max和Unity3D使用不同的坐標(biāo)系統(tǒng)和軸向約定,因此在導(dǎo)出模型之前,要正確調(diào)整模型的比例和坐標(biāo)系統(tǒng),以便在Unity3D中保持正確的尺寸和方向。
2.4.2? UI設(shè)計(jì)
系統(tǒng)UI以古風(fēng)作為整體風(fēng)格,視覺效果自然流暢,簡單統(tǒng)一,根據(jù)實(shí)景進(jìn)行色彩搭配,以期真實(shí)還原子城遺址風(fēng)貌,給用戶最佳的體驗(yàn)。啟動界面以水墨畫為主體,體現(xiàn)煙雨江南的朦朧美,同時融入古建及草木元素,并為背景設(shè)置動態(tài)效果,為整體界面增加靈動感,如圖5所示。
圖5? 啟動界面
交互界面依然延續(xù)古典風(fēng)格,將祥云、如意、印章元素融入邊框及按鈕等對象,在填色時做出斑駁的效果,體現(xiàn)子城遺址的年代感,如圖6所示。
2.4.3? 環(huán)境設(shè)置
項(xiàng)目的環(huán)境設(shè)置包括場景構(gòu)建、碰撞檢測、燈光設(shè)置等。利用Unity3D中的Terrain創(chuàng)建地形對象,通過高度工具提高或降低地形高度,利用平滑工具平滑地形表面,利用貼圖處理地面的磚石與草地效果。環(huán)境中的花草樹木通過Unity3D Asset Store資源網(wǎng)站下載現(xiàn)成的植物模型,將其導(dǎo)入到Unity3D中,并根據(jù)需求調(diào)整植物的形狀、細(xì)節(jié)和材質(zhì),同時使用Skybox來創(chuàng)建逼真的天空效果,如圖7所示。
圖6? 答題界面
圖7? 場景設(shè)置效果
為了確保體驗(yàn)者能夠感受到漫游的樂趣,項(xiàng)目沒有設(shè)計(jì)指定的路線以及游玩順序,而是需要體驗(yàn)者在場景中去自行探索,為避免體驗(yàn)者在環(huán)境中丟失,項(xiàng)目通過碰撞檢測設(shè)置了空氣圍欄,確保體驗(yàn)者不會走到外部空間中。
碰撞檢測是Unity3D中一個非常重要的功能,它用于檢測游戲?qū)ο笾g的碰撞或觸發(fā)事件。當(dāng)游戲?qū)ο笾g發(fā)生碰撞時,可以定義相應(yīng)的行為和反應(yīng),例如反彈、爆炸效果、傷害計(jì)算等。通過使用碰撞檢測,可以實(shí)現(xiàn)實(shí)時的交互效果,并根據(jù)碰撞發(fā)生的情況來改變游戲?qū)ο蟮臓顟B(tài)[8]。在一些情況下,并不需要物體之間發(fā)生實(shí)際的碰撞,而是希望在接觸或進(jìn)入特定區(qū)域時觸發(fā)事件。使用觸發(fā)器組件,可以檢測到游戲?qū)ο笈c觸發(fā)器之間的接觸,并執(zhí)行相應(yīng)的代碼邏輯。這可以用于觸發(fā)劇情事件、收集物品、進(jìn)入新場景等。通過進(jìn)行碰撞檢測,可以避免游戲?qū)ο螽a(chǎn)生重疊或穿過其他物體的情況。這對于保持游戲世界的穩(wěn)定性和合理性非常重要[9]。例如,阻止玩家角色穿墻、防止物品重疊等。
此外,還需要對對模型添加適當(dāng)?shù)墓庹招Ч?,可以使物體表面產(chǎn)生陰影、高光和反射等效果,使場景看起來更加真實(shí)。合理的光照能夠提升項(xiàng)目的質(zhì)感和視覺品質(zhì)。同時,光照可以為場景增加深度和層次感。通過設(shè)置不同方向、強(qiáng)度和顏色的光源,可以模擬不同的光照條件,使物體之間產(chǎn)生明暗對比。這樣可以讓場景中的物體在視覺上更加立體感,并增加體驗(yàn)者與場景的沉浸感。精心設(shè)置的光照可以增加應(yīng)用的可視化效果,提升用戶體驗(yàn)。當(dāng)環(huán)境中的物體能夠根據(jù)光源的位置和屬性進(jìn)行逼真的反射、投影和陰影時,體驗(yàn)者將感受到更加真實(shí)和令人愉悅的視覺效果。良好的光照設(shè)計(jì)可以使游戲或應(yīng)用更加吸引人,并增加與用戶的情感連接[10],如圖8所示。
圖8? 光照效果
2.4.4? 交互功能實(shí)現(xiàn)
為便于在網(wǎng)絡(luò)傳播,本項(xiàng)目的交互設(shè)計(jì)通過鼠標(biāo)和鍵盤完成。交互以漫游為基礎(chǔ),添加文物挖掘、答題、拼圖等游戲增加趣味性。
1)環(huán)視的實(shí)現(xiàn)。項(xiàng)目利用C#語言編寫交互腳本,通過GetMouseButton方法獲取鼠標(biāo)的按鍵動作,通過GetAxis方法獲取到鼠標(biāo)的X軸移動,最后完成攝像頭的Y軸旋轉(zhuǎn),讓體驗(yàn)者能夠通過鼠標(biāo)實(shí)現(xiàn)鏡頭的旋轉(zhuǎn),關(guān)鍵代碼如圖9所示。
2)移動的實(shí)現(xiàn)。在項(xiàng)目開始運(yùn)行的時候,體驗(yàn)者位置在城門口,體驗(yàn)者可以通過鍵盤上的wasd移動人物位置,通過GetKey方法可以獲取到鍵盤的操作,然后使用transform.Translate方法移動人物,移動速度通過Vector3.forward * m_speed * Time.deltaTime公式計(jì)算出人物移動的速度,關(guān)鍵代碼如圖10所示。
圖10? 移動的實(shí)現(xiàn)
3)對話框彈出的實(shí)現(xiàn)。在需要檢測碰撞的物體上添加Box Collider組件,如圖11所示。碰撞之后顯示出文本框,并且實(shí)現(xiàn)打字機(jī)效果,用來介紹這一物體的典故,關(guān)鍵代碼如圖12所示。并且使用協(xié)程,實(shí)現(xiàn)石獅子的延遲出現(xiàn)以及碎片的獲得,關(guān)鍵代碼如圖13所示。
圖11? 碰撞盒
圖12? 打字機(jī)效果關(guān)鍵代碼
圖13? 石獅重現(xiàn)及碎片效果關(guān)鍵代碼
3? 結(jié)? 論
系統(tǒng)利用3Ds Max進(jìn)行主體建筑建模,結(jié)合Unity3D的虛擬場景創(chuàng)建和交互技術(shù),對嘉興子城遺址公園進(jìn)行全方位、立體化、數(shù)字化呈現(xiàn),使景區(qū)具有更強(qiáng)的展示效果和視覺表現(xiàn)力,沉浸式的體驗(yàn)方式讓人們打破時空障礙,更深入地了解和欣賞嘉興歷史文化遺產(chǎn),對提供教育科普與學(xué)習(xí)機(jī)會、推動旅游與文化交流、傳承和弘揚(yáng)歷史文化具有積極意義。
參考文獻(xiàn):
[1] 王興魯.基于Unity3D與Kinect的體感交互技術(shù)應(yīng)用研究 [D].蘭州:蘭州交通大學(xué),2017.
[2] 習(xí)建軍,梁有祥,胡昆,等.基于Unity的江西白梅古村落虛擬漫游VR軟件開發(fā) [J].新余學(xué)院學(xué)報(bào),2022,27(3):22-26.
[3] 梁金峰,陳小霞,李華新.基于虛擬現(xiàn)實(shí)技術(shù)的湖湘文化旅游系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].軟件導(dǎo)刊,2017,16(4):86-88.
[4] 李麗麗.北京天壇虛擬旅游系統(tǒng)的設(shè)計(jì)及其用戶體驗(yàn)研究 [D].成都:西南交通大學(xué),2021.
[5] 王之千.基于虛擬現(xiàn)實(shí)技術(shù)的自然景觀建筑空間設(shè)計(jì)與規(guī)劃 [J].重慶理工大學(xué)學(xué)報(bào):自然科學(xué),2020,34(3):152-157.
[6] 姜學(xué)娟.基于虛擬現(xiàn)實(shí)技術(shù)的漫游系統(tǒng)研究 [D].長春:長春理工大學(xué),2008.
[7] 魏娜娣,段再超,魏占杰,等.基于Unity 3D的白洋淀文化旅游仿真系統(tǒng)研究 [J].計(jì)算機(jī)仿真,2019,36(9):365-370.
[8] 湯勁松.基于虛擬現(xiàn)實(shí)的城市規(guī)劃空間格局三維展示系統(tǒng)設(shè)計(jì) [J].現(xiàn)代電子技術(shù),2023,46(11):66-70.
[9] 郭亮亮,劉書廷.基于VR技術(shù)的長白山訥殷古城遺址的還原與再現(xiàn)研究 [J].文化創(chuàng)新與比較研究,2019,3(29):51-52.
[10] 張靈睿,程明智,岳學(xué)行,等.虛擬現(xiàn)實(shí)技術(shù)視域下投壺游戲交互體驗(yàn)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].北京印刷學(xué)院學(xué)報(bào),2022,30(11):58-61.
作者簡介:趙?。?982—),女,漢族,浙江湖州人,講師,碩士,研究方向:虛擬現(xiàn)實(shí)應(yīng)開發(fā)、Web前端開發(fā);蔣麗霞(1978—),女,漢族,天津人,副教授,碩士,研究方向:非遺與文旅融合;隋龍飛(1992—),男,漢族,遼寧朝陽人,助教,碩士,研究方向:虛擬現(xiàn)實(shí)應(yīng)用開發(fā)。