赵健 蒋丽霞 隋龙飞
收稿日期: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—),男,汉族,辽宁朝阳人,助教,硕士,研究方向:虚拟现实应用开发。