趙健 蔣麗霞 隋龍飛



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