U3D|毕设答辩|毕业设计项目|Unity|基于Unity的《川剧变脸》虚拟场景
2026/9/1 16:13:25 网站建设 项目流程

标题:基于Unity的《川剧变脸》虚拟场景

文档介绍:

1绪论

1.1课题研究背景与意义

川剧变脸属于中国非物质文化遗产的组成部分,具有神秘的脸谱更替技术以及特别的艺术表现形式。但是由于现代娱乐方式的多样化发展,传统戏曲艺术陷入了观众老龄化、传播途径单一的现实困境中。借助数字化的技术手段,把川剧变脸这样的传统艺术用更加生动、更容易被年轻人接受的形式展示出来,已经成为文化传承领域迫切需要解决的问题。虚拟现实技术出现之后给传统文化创新性传播带来了新的机会,在创建沉浸式的虚拟环境之后,用户可以在数字世界里接近变脸艺术的美好。

本课题的研究意义从理论上和实践中都存在。就理论而言,本文试图找出实时图形学技术同传统文化艺术数字化表达相融合的方式,经由创建川剧变脸艺术的动态纹理切换模型和虚拟表演时序把控机制,给非物质文化遗产的数字化保护和流传赋予技术理论上的支撑。就实践方面而言,本课题创建起一套以Unity引擎为基础的川剧变脸虚拟体验系统,给传统艺术现代化流传赋予了可交互,沉浸式的新呈现途径,能应用到文化教育,文旅推广这些场合之中,有效地加强了青年人群对传统文化的认知兴趣。

本课题还具有十分重要的社会价值与文化意义。虚拟场景的形式可以使得川剧变脸艺术不受到时空限制,让更多的人了解到这一种传统的艺术。系统设计完全尊重川剧艺术的文化内涵,在技术实现的时候重视文化表达的准确性与完整性,防止出现对传统文化的误解或者商业化滥用。与此同时,本课题开发出的经验和技术方案,可以为其它非物质文化遗产的数字化项目提供一些参照,形成一个可以被复用的技术框架以及开发模式,从而使得更多的传统文化艺术得以进入数字时代。

1.2国内外研究现状

1.2.1国外研究现状

国外对于文化遗产的数字化保护以及创新性传播的研究起始时间比较早,有着较多的理论研究和实践成果。欧美国家对实时渲染技术、高沉浸感的虚拟现实以及交互式的故事叙述有很早的研究,并且已经用游戏引擎再现了大量的历史场面、戏剧表演、文化文物等。欧洲的博物馆以及文化单位已经开始利用Unity、Unreal引擎等软件对虚拟展厅进行搭建并以网络的形式对重要的历史文物,艺术作品进行展示。这些项目重视用户体验和教育功能的结合,用交互设计来加强观众的参与感和学习效果,给文化遗产的数字化传播树立起典范。

从技术上来说,国外的研究机构在实时渲染、物理模拟以及依靠人工智能驱动的虚拟角色行为等各方面都有了较大程度上的发展。依靠动作捕捉技术、实时面部动画技术,可以实现对表演艺术家动作和表情的精确模拟,给虚拟表演赋予了技术上的支持。国外的学者对于交互叙事的研究也十分深入,在交互叙事理论方面提出了很多将用户的选择加入到故事发展的交互模型之中,使得虚拟体验更加个性化、有感染力。但是就川剧变脸这种需要高度依靠特殊技艺、文化符号的东方传统表演艺术而言,国外专门性的研究与实践却很少。

川剧变脸的快速脸谱更替动作、独特的艺术节奏和深厚的文化内涵,都是国外研究不能直接借鉴的。这也给本课题留出了创新的空间,在借鉴国际上先进的实时图形技术以及交互设计思想的基础上,更加深入地结合中国本土文化的独特之处和艺术的精髓来达到技术与文化内涵的有机统一。因此本课题在这样的背景之下,研究川剧变脸艺术特点的数字化呈现方案。

1.2.2国内研究现状

国内的文物保护工作发展很快,已经形成了比较完整的数字化技术路线以及大量的实践案例。近些年来,国家对于非物质文化遗产的保护工作越来越重视,随之而来的是许多数字化项目的开展。川剧变脸数字化呈现已经运用到博物馆展示、文旅宣传以及文化教育等各方面,并且大多是通过三维扫描、动态贴图、增强现实等方式来进行展示的应用。这五个项目给川剧变脸的数字化传承赋予了很好的经验,说明技术手段可以起到传承文化的作用。

但是现有方案还存在着一定的不足。大部分项目只注重静态展示或者简单的动画播放,即事先录制好的变脸过程反复播出,用户只能被动观看而不能参与其中。从交互的深度来讲,目前的系统用户的参与度不高,不能让用户体验到变脸艺术的神奇之处。关于实时变脸真实感、流畅度的分析可知,部分项目的脸谱切换效果不是太自然,材质过渡有卡顿或者撕裂的情况。很多项目仅仅展示了脸谱的外观,没有对脸谱背后的角色故事、文化含义进行系统的解释。

与此同时,国内的Unity引擎在文化数字化方面越来越成熟,给本课题提供良好的技术条件以及市场检验。越来越多的开发者开始使用Unity来开发虚拟场景,在相关的教学资源与教程不断增多的情况下,学习Unity的方法也越来越多样。本课题就是在充分调研现有成果的基础上,对以上不足进行改进和创新,在交互深度、变脸流畅度、文化阐释的系统性方面有所突破,创建起一套更为完善、更有沉浸感的川剧变脸虚拟体验系统。

1.3研究内容

本文主要研究利用Unity引擎创建一个虚拟的川剧变脸舞台,给观众和内容管理员提供两个不同的使用场景。经过文献调研和需求分析后得到川剧变脸艺术的主要特征以及数字化表达的要求,为后续的研究打下理论基础;然后论述技术方案,考虑到文化传承、用户体验和可行性等各方面因素,得出最佳途径。

系统主要开发六个功能模块,第一人称漫游、交互展示、变脸表演系统、模型360度展示、后台管理、场景与UI。另外用Blender制作角色、脸谱和道具模型,然后导入到Unity中。

开发完毕之后开展功能、性能以及用户体验的测试工作,从而检验出系统是否正确且稳定,并且具有良好的体验感。最终完成毕业论文,系统记载设计思路、实现办法和测试成果,给今后的研究给予参照。

2方案论证

2.1方案提出

通过对国内外文化遗产数字化状况以及川剧变脸艺术特点进行深入研究之后,在此基础上提出以Unity引擎为载体,开发川剧变脸虚拟场景的方案。方案主要思路是以Unity为主平台,用Blender做三维建模,用C#编程来实现交互逻辑,创建出沉浸漫游、交互展示、变脸表演、后台管理于一体的综合虚拟体验系统。核心问题为怎样在一个虚拟的环境里逼真、流畅、交互式地再现川剧变脸艺术,使观众既能看到变脸表演,又能主动去接触、了解脸谱所蕴含的文化含义。

方案提出所依据的有多个方面。从技术角度来讲,Unity引擎具备完备的实时渲染管线、材质系统以及动画状态机,可以很好地完成脸部纹理的动态切换与特效过渡,技术比较成熟,开发社区活跃,学习资源也很多。就文化传播而言,虚拟场景可以冲破传统戏曲演出的时空束缚,让许许多多的观众以最低的门槛走进川剧变脸的世界里来,借助交互设计来加强用户的参与度以及留下深刻印象的效果。从应用场景来说,本系统成果可以直接用在博物馆数字展厅、学校文化教育课堂、文旅景区互动体验区等地方,有较好的推广价值。

在方案设计中应注意的关键技术难点有哪几个?变脸效果的即时性、连贯性为第一要务,传统的纹理切换方式会给人造成突兀感,因此需要创建平滑过渡的效果以提高真实度。多平台适配问题也要考虑进去,系统应该支持PC端和移动端的运行,保证各个设备上的用户体验。后台管理系统的设计也不可缺少,必须创建出直观易懂的界面,使非技术人员也可以完成维护和更新的工作。针对以上难题,本方案提出利用溶解着色器做材质过渡、用射线检测做跨平台交互、设计图形化后台管理界面等解决方法。

2.2可行性分析

2.2.1技术可行性

从技术可行性的角度来讲,本课题的开发条件也已经基本满足。核心开发平台为Unity引擎,Unity引擎有着成熟的实时渲染管线、材质系统以及动画状态机,可以很好地完成脸部纹理动态变化和特效过渡的工作。Unity的Shader Graph工具可以用来写着色器程序,并且可以使得溶解动画、粒子系统这些特效更简单地实现。C#是Unity官方语言,语法规范,文档齐全,可以实现变脸控制算法、交互响应逻辑、后台数据管理等模块的功能。

开发团队有完成本课题技术的基础。数字媒体技术专业学生经过系统的学习Unity开发、计算机图形学、三维建模等相关课程之后,已经有了一定的实践能力和解决问题的能力。学校的实验室设备可以达到开发和测试的要求,具有足够的计算机以及相关软件的授权。除此之外,Unity有着活跃的开发者社区以及诸多的学习资料,在出现技术问题的时候可以迅速得到解决。因此技术实现路径明确可行,不会出现难以克服的技术障碍。

从资源管理角度来说,Unity的AssetBundle机制能很好地实现文化素材的高效加载以及动态更新,并且可以有效地防止出现由于内存占用过多而造成的状况。变脸表演系统的核心算法——脸谱材质的实时切换、溶解过渡,已有成熟的实现思路,只需要按照川剧变脸的特点进行个性化调整即可。因此本课题在技术上是完全可行的。

2.2.2经济可行性

就经济可行来说,本课题的开发成本较低、投入产出比适中。软件开发方面Unity有Personal免费版,能满足本课题的所有开发要求,不需要购买专业版授权。Blender是开源的三维建模软件,免费使用,功能强大,可以用来建角色模型、做场景、造材质。编程方面使用Visual Studio Community免费版即可,无需额外采购开发工具。

本课题只需要一台普通的计算机即可完成开发、测试的工作。目前学校的实验室设备以及学生的个人电脑都能够满足Unity引擎的运行需要,不需要购买高性能工作站或者昂贵的设备。虚拟场景文化素材可以通过公开的川剧影像资料进行数字化处理得到,也可以自主建模、贴图制作,不用支付版权费用,从而大大降低开发成本。

从经济效益来讲,项目成果可以立即变成文化教育工具或者展览展示系统,存在潜在的社会效益和经济价值转换的空间。无论是给博物馆使用,还是给学校使用,亦或是作为文旅景区的互动体验项目,都会产生一定的社会价值。即使不考虑商业转化,本课题作为毕业设计的学术价值、学习价值也是可以证明投入合理性的。因此本课题经济上是完全可行的。

2.2.3操作可行性

就操作可行性而言,本系统的创建充分考虑到用户的实际操作环境以及操作习惯。前台虚拟体验模块具有简单的交互界面,依靠鼠标、键盘等手段来实现漫游、点击、拖拽等功能的操作没有特殊要求的培训。变脸表演的触发方式为点击按钮或者点击角色,符合大部分用户对互动式游戏的交互预期。文化信息展示用弹出面板的方式展示,信息展示清晰,关闭操作方便,不会影响用户沉浸式体验。

后台管理系统的使用也考虑到了操作是否容易。系统给出图形化配置界面,文化内容管理者不用学习编程就可达成对素材更新,脸谱增加删除修改和文化知识库编辑的目的。所有的操作都有提示和确认的过程,防止因为误操作造成数据的丢失。场景流程配置界面采用可视化节点编辑的方式进行设置,管理人员对变脸表演的触发条件及顺序进行连线,大大减小了维护的工作量。

从项目开发的管理角度来讲,本课题周期规划合理,各个阶段的任务清楚,需求分析、系统设计、编码实现、测试完善等每一个环节都有相应的产出物以及质量标准。小组成员分工清楚,可以按时完成各项工作的阶段性任务。因此本课题在操作上是可行的。

2.3方案确定

经过对各种技术方案进行综合比较与分析之后,本课题最后确定选用以Unity引擎为主、Blender为建模工具、C#为编程语言的技术路线。这一方案的选择是经过了权衡后作出的。在渲染引擎方面,对比了Unreal Engine和Unity Engine。Unreal Engine在画面表现力上具有优势,但是它的学习曲线比较陡峭,对于硬件的要求比较高,而且它的蓝图脚本系统和本课题所用的C#编程方式并不匹配。Unity Engine易用性高、社区支持好、跨平台部署能力强,可以更快地完成开发任务,因此最终采用Unity。

在建模工具方面,对比了3ds Max、Maya和Blender。3ds Max、Maya为行业标准软件,功能强大但是价格昂贵,学习成本高。Blender是一个开源的软件,与商业软件相比,在功能上不逊色,并且免费使用,社区活跃,教程丰富,更适合本课题的预算和学习需求。因此用Blender建模。

在交互上决定采用射线检测的方式进行实现。该种方式可以同时应对PC端鼠标点击以及移动端触摸两种输入方式,跨平台兼容效果好。确定使用材质切换配合溶解着色器的方法来达到平滑的脸谱过渡效果,并且可以保证较好的运行效率。对于数据的存储方式确定为本地存储,使用PlayerPrefs以及JSON文件进行数据的持久化,从而减小了系统的复杂程度。

因此,本文所确定的方案从技术、经济、操作等各方面都是可行的,可以满足毕业设计的要求,为今后的开发工作打下了良好的基础。

3需求分析

3.1总体目标

本课题总体目标就是用Unity引擎创建一个以川剧变脸为虚拟背景,具有沉浸式、交互性以及流畅的变脸表演系统,使用户可以更好地理解川剧变脸这门非物质文化遗产所具有的艺术特色。系统既需要达到前台观众用户使用的要求,也需要达到后台管理员使用的需要,在保证视觉效果和交互顺畅的基础上,有利于文化内容有效的传播和方便的管理。

系统总体目标可以从具体的角度来拆解出几个方面。从用户体验角度出发,系统应具有第一人称或者第三人称视角的漫游功能,用户可以在虚拟的戏台上自由地走动,也可以对各种各样的脸谱进行选择,体验变脸带来的乐趣,还可以查看到各种脸谱背后的文化背景。从技术性能的角度来说,系统要保证实时渲染的流畅性、脸谱切换的动画效果要平滑自然、交互响应要及时准确。

在内容管理上系统应该有后台管理功能,可以对脸谱资源进行增加、删除、修改、查询,文化知识库进行编辑修改,场景流程进行配置调整。管理员应该可以简单操作来维护系统的内容,不需要编写代码。从文化传播角度来讲,系统必须将川剧变脸的文化内涵正确地传达出去,脸谱的绘制以及角色的故事应当符合川剧艺术传统,不能出现文化上的误解。系统还要有一定的教育价值,使用户在娱乐的过程中学习传统文化。

3.2用户需求分析

本系统的主要用户可以分成三类,即观众用户、文化内容管理员和系统维护员。不同类型的用户对于系统的功能有各自不同的需求以及体验期望,必须分别进行分析并加以设计。

观众用户就是系统的主要使用者,他们希望借助虚拟的场景去接近川剧变脸的精髓。观众用户的主要需求为,在虚拟场景里可以自由移动并观察,得到沉浸式的体验,可以触发变脸表演,感受到脸谱瞬间变换带来的惊喜效果,可以了解到每一个脸谱所代表的角色以及背后的故事,可以和场景中的其他物品发生互动,去发现更多的文化内涵。观众用户一般没有专业的计算机操作能力,所以系统交互方式要简单直观,界面设计要清晰易用。

文化内容管理员是系统日常运维和内容更新的管理者。核心需求有,方便添加、删除、修改脸谱资源(脸谱模型、纹理、属性),编辑文化知识库中的图文、音频、视频内容,配置虚拟场景互动点的位置和触发条件,设定变脸表演的序列和节奏。内容管理员是非技术性的,所以后台管理系统应该具备图形化操作界面,尽量简化操作的复杂程度。系统维护人员主要对系统的正常运行进行监测,及时发现并排除各种故障,解决用户的有关问题,对数据的备份与恢复起辅助作用。

3.3功能需求分析

3.3.1第一人称漫游

第一人称漫游功能属于虚拟场景体验的根基,它关乎着用户身处虚拟世界里怎样移动以及怎样看问题。本系统需要支持用户以第一人称视角在川剧舞台和脸谱仓库等场景中自由移动,用键盘控制前进、后退、左右移动,用鼠标控制视角的转动。漫游功能要具有较好的操控手感,移动速度适中,视角转动灵敏但不会引起眩晕。漫游功能还要和场景中的一些碰撞体结合起来,保证用户不会穿过墙壁,也不会掉出场景的边界之外。

除基本的移动、视角控制外,第一人称漫游功能还要加入一些增强沉浸感的要素。用户在不同的地面上行走的时候可以听到不同的脚步声,在接近互动对象的时候会看到或者听到视觉或听觉的提示,进入某区域之后就会触发相应的表演或者解说。这些细节虽非主要功能,但是可以大大加强用户沉浸式的感觉。漫游功能实现的时候要考虑到不同用户的习惯与喜好,移动速度、视角灵敏度这些参数应当给用户留有合理的调整空间。

3.3.2交互展示

交互展示功能就是把用户同虚拟内容联系起来的纽带,决定着用户同场景中的物体发生怎样的互动,又怎样得到文化信息。本系统要求用户用鼠标点击或者触摸的方式与场景中的物体交互,并且反馈的方式应该多种多样。当用户点击脸谱或者展品的时候,系统应该弹出信息面板,显示相关图文介绍;如果配置了语音解说,则同时播放对应的音频。对重要的文化知识点可以播放短视频片段来形象地加以解释。

交互系统设计要顾及交互的范围以及响应速度。用户只能在一定的距离范围内和物体发生互动,越远就触发不了,从而营造出一个真实的物理环境。交互的响应速度应该足够快,点击之后信息面板的弹出应该流畅无延迟,给用户即时的反馈。交互系统的视觉反馈也非常重要,当鼠标悬停在可交互物体上时,应该出现高亮轮廓或者图标的变化,来提示用户该物体是可以被点击的。视觉引导可以减少用户的学习成本,使用户发现所有的交互内容。

3.3.3变脸表演系统

变脸表演系统属于整个项目的中心功能模块,它直接影响到川剧变脸艺术在虚拟场景里展现出来的效果。本系统要实现用户触发变脸表演,在观众面前可以看到脸谱在不同角色的面部之间实时切换的动画效果。变脸表演的触发方式可以多样化,用户可以使用UI按钮手动触发一次变脸,也可以设置为自动播放模式,按照预先设定好的顺序来展示不同的脸谱。变脸时脸谱的更换要自然,不能有突然的变化或者材质上的错觉。

变脸系统还要支持用户对脸谱的选择和切换。非表演状态用户可以浏览全部脸谱,然后选择给指定的面孔添加表情动作。该种功能使用户可以亲自去体验“换脸”带来的快乐,加强了用户的参与度以及互动的深度。每个脸谱都需要附带详尽的介绍信息,即人物名字、性格特点、故事发生地等,在欣赏脸谱的时候,可以更好地理解它的文化意义。变脸系统要具备良好的可扩展性,便于以后增添新的脸谱以及变脸动作,从而给内容的不断更新赋予技术支撑。

3.3.4模型360°展示

模型360°展示功能是用户可以对脸谱和展品进行全方位的观察。在传统的静态展示方式下,用户只能从一个固定的视角去观察物体的三维形态,不能全面地了解物体的三维形状。本系统应该支持用户用鼠标拖拽的方式来旋转选中的物体,从上到下、从左到右、从前到后等等各个角度进行观察。旋转操作应是流畅的、自然的,用户应该有一种握着真东西的感觉。

配合旋转的功能还要支持相机视角的缩放。用户通过鼠标滚轮来放大或者缩小视图,仔细看物体表面的纹理、材质、工艺等各方面的细节。缩放功能应当有合理的范围限制,最近不能穿模,最远不能失去观察焦点。对于特别重要的脸谱,系统可以提供自动旋转功能,即缓慢地旋转物体,让使用者无需动手就可以360度的全面浏览。360°展示功能非常适合用于脸谱仓库,用户可以对每一个脸谱做细致的研究,从而加深对川剧脸谱艺术的认识。

3.3.5后台管理

后台管理功能是给文化内容管理员设计的,用以使非技术员可以方便地对系统的各项内容进行维护。本系统会给出脸谱资源管理、文化知识库管理以及场景流程配置这三个大的子模块。脸谱资源管理模块可以实现管理员对脸谱模型、纹理、角色名、性格描述等的增、删、改、查。新增脸谱的时候管理员要上传对应的模型文件、纹理图片,并且填上相关的属性信息,系统就会将它添加到可用的脸谱列表当中。

文化知识库管理系统是针对与川剧变脸有关的图片、音频、视频等信息所创建出的一个整体化的管理系统。管理员可以上传新的文化内容并和某一脸谱、场景等要素进行对应。当用户点击某一张脸谱之后出现的关于该脸谱的文字以及语音,在后台也可以被修改和更换。场景流程配置模块可以设置虚拟场景里的互动逻辑,比如变脸表演触发条件、脸谱切换次序、自动播放速度等等。后台系统应该有直观的图形化界面,使用拖拽、填写表单的方式完成配置,降低操作的复杂度。

3.4性能需求分析

性能需求是保证系统良好运行的指标。本系统属于实时渲染的虚拟场景应用,性能要求较高。系统对主流配置的计算机帧率要求在30帧/秒以上,最好能够实现60帧/秒,在保证稳定的情况下,可以更好的体验。帧率稳定性也不能太大幅度波动,否则会使得用户产生眩晕感。

在加载速度上系统启动时间不能太长,场景切换的等待时间也不能太长。对大型的模型以及纹理资源,可采取异步加载和分步加载的方式,先对用户目前可看见的内容展开加载,而后才开始加载其余内容,以此来缩减等候时间。内存占用要保持在合理的范围内,防止因为资源太多造成内存溢出或者性能降低。利用资源池、对象复用等技术可以达到减少内存使用的目的一种方法。

用户的交互响应时间应小于100毫秒,使用户感觉到自己的操作是即时的。变脸动画的过渡效果要流畅,切换过程中不能出现卡顿或者贴图错误。系统的稳定性和容错性也不可忽视,要能处理出现的异常状况而不致于崩溃,在用户试图加载一个损坏的资源的时候,应该给予一个友好的提示而不能直接结束。因此,性能要求要在一个美学的视图和一个实用的使用之间取得平衡。

4设计论述

4.1概要设计

4.1.1系统总体架构

本系统采取前后端分离的总体架构设计,把系统拆分成用户交互层、业务逻辑层、数据访问层和资源层这四个部分,各个层次之间有清晰的责任划分,低耦合高内聚。用户交互层是对用户输入进行处理,给用户提供视觉反馈的模块,也就是控制第一人称漫游视角,UI界面的显示与隐藏,以及弹出式信息展示等。该层次的设计要注重用户体验,界面元素布局合理,操作有反馈。业务逻辑层为系统的心脏所在,它对变脸表演的开始和停止做出决定,接收用户的命令并做出相应的反应,对不同的场景进行调度。

数据访问层是处理各种数据的持久化存储以及读取,脸谱数据、文化知识数据、场景配置数据等都被包含在其中。本系统使用本地存储方式保存数据,用JSON格式存取,利用PlayerPrefs以及文件读写的操作方法。该方案虽然简单,但是可以满足本系统的需要,并且不需要另外部署数据库服务。资源层包含所有美术资产,即用Blender导出的模型文件、纹理图片、音频文件、视频文件,用Unity的AssetBundle打包加载。

各个层次之间的通信要遵照严格规定的调用规范。用户交互层监听用户输入事件,把操作请求传给业务逻辑层,业务逻辑层处理之后再更新数据访问层和资源层,最后通过用户交互层反馈结果。分层架构可以提高系统的维护性和可扩展性,修改某一层的实现不会影响到其它层。并且它也利于多人共同完成一个软件系统的开发工作,各个开发人员可以根据各自的需要来开发不同的部分和模块。

图4-1 系统架构图

4.1.2功能模块划分

根据需求分析结果,本系统分成六个主要的功能模块,分别为第一人称漫游模块、交互系统模块、变脸表演系统模块、模型360度展示模块、后台管理模块和场景与UI模块。每一个模块都有一个固定的任务,各模块间通过具体的接口互相配合来工作。第一人称漫游模块完成用户移动、视角切换的功能,给用户进入虚拟空间打下基础。该模块要和其它模块一起工作,比如用户移动到某个地方时,通过事件机制把舞台剧表演流程控制器通知到相关的动作。

交互系统模块主要是完成射线检测、交互反馈工作,是系统输入处理的中心部分。本模块会监听用户鼠标的或者触摸的事件,检测出射线与物体之间的碰撞,判断出用户点击的物体是哪个对象的脚本,然后按照脚本所定义的逻辑来决定做出什么样的回应。变脸表演系统模块为项目特色模块,对脸谱材质进行管理,控制切换动画,安排表演序列。该模块要和交互系统模块配合,接受用户的触发指令,还要和场景、UI模块配合,在界面上显示当前脸谱信息。

模型360°展示模块用来控制展品查看时的旋转和缩放,给用户赋予详细的观察功能。后台管理模块给管理员使用,包含脸谱资源管理、文化知识库管理、场景流程定义等各个功能模块。场景和UI模块主要是完成对虚拟场景的创建和对用户的操作界面设计,包含川剧舞台、脸谱库等场景的创建以及主菜单、信息面板、控制面板等UI元素的设计。这六个模块互相配合一起构成一个系统。

图4-2 功能模块图

4.2详细设计

4.2.1首页面模块设计

首页模块是用户进入系统后最先看到的交互界面,用川剧变脸主题来完成视觉设计。页面顶部用明显的字体标出现代汉语译本中翻译出来的川剧、变脸、中国四川非遗技艺等说明文字,用透明半透明的脸谱来营造文化的氛围。页面中央竖向排列着三个主要的入口功能,分别为参观展馆、后台管理、退出系统,参观展馆是主要入口视觉上得到了加强。按钮为半透明毛玻璃效果,在鼠标悬停时有放大、颜色加深的反馈动画。点击参观展馆之后加载虚拟场景开始漫游体验,点击后台管理需要验证身份才能进入,点击退出就会弹出确认对话框以避免误操作。整体设计考虑文化传递、视觉美感、功能实用性三者之间关系。

图4-3 首页面

4.2.1第一人称漫游模块设计

第一人称漫游模块的主要思想就是把用户视角和一个不可见的胶囊体联系起来,用键盘来控制移动,用鼠标来控制视角的转动,从而达到移动和视角分开的目的。具体实现时,创建一个胶囊体作为玩家角色,把摄像机放到胶囊体的眼睛处,并将其设为子物体,禁用胶囊体的MeshRenderer组件,使得角色自身不能被看到。移动控制使用WASD键实时检测,再用CharacterController组件做平滑移动,移动速度和跳跃高度都可以在编辑器中进行调节。视角控制是用读取鼠标移动增量的方式来转动摄像机,水平转动影响胶囊体,垂直转动影响摄像机,并且上下各限定了90度的角度范围。模块中加入了碰撞检测的功能,即角色不能穿过墙壁或者障碍物。

图4-4 第一人称漫游界面

4.2.2交互系统模块设计

交互系统模块的核心就是使用Unity射线检测的点击交互。系统从鼠标处发射出射线,在场景中检测出与之碰撞的对象,当碰撞发生时就会得到被点击物体所携带的交互脚本,并调用相应的处理方法。该种设计具备跨平台特性,PC端用鼠标位置,移动端用触摸位置,底层逻辑完全一样。具体的交互流程当中,射线碰到带有ItemInfo脚本的物体的时候,系统按照交互模式做出相应的反应,在面板信息模式里弹出信息面板呈现图文视频内容并播放语音解说,在移动模式之下借助DOTween插件将被点击的物体平滑移动到摄像机前面以便近距离查看。模块实现了视觉反馈机制,鼠标悬停在可交互的物体上时,物体边缘就会出现高亮轮廓来指引用户找到交互点。

图4-5 交互界面

4.2.3变脸表演系统模块设计

变脸表演系统模块是本课题的主要创新之处,可以完成脸谱材质实时切换和平滑过渡。模块有两种切换方式,即时切换无动画适用于对切换反应速度有要求的场合,即替换材质贴图直接操作,但是效果生硬一些,溶解动画模式通过自定义着色器将新脸谱慢慢显现出来,旧脸谱渐渐消失,更符合变脸神奇的效果。溶解动画的主要原理就是用噪声纹理和溶解阈值来控制像素是否被显示出来或者隐藏,新脸谱和旧脸谱使用同样的逻辑但是阈值方向相反,产生交叉淡入淡出的效果,动画时长以及过渡曲线都可以进行调节。模块实现了自动播放脸谱序列的功能,管理员可以在后台设置脸谱的播放顺序、间隔时间、循环方式等,用户也可以手动触发上一个、下一个或者随机的脸谱切换,脸谱数据采用JSON文件的方式存储以支持动态更新。

图4-6 变脸表演界面

4.2.4模型360°展示模块设计

模型360°展示模块可以让使用者从各个角度去观察脸谱以及展出物品。当用户选择物体进入查看模式之后,物体的旋转和摄像机的缩放操作就各自进行。物体旋转用鼠标拖拽来完成,水平拖拽是绕世界坐标系Y轴旋转,垂直拖拽是绕物体局部X轴旋转,全方位覆盖,旋转灵敏度经过细致调节以达到舒适操作的目的。摄像机的缩放是利用鼠标滚轮进行的,向前滚轮视角变小、向后滚轮视角变大,缩放的范围是有限制的,不能穿模或者失去焦点,采用线性插值函数来实现平滑过渡。查看模式下系统会对第一人称漫游功能进行暂时的禁用,防止产生冲突。模块里还带有自动居中、自动旋转这些辅助作用,给用户带来轻松自在的观赏感受。

图4-7 模型360°展示界面

5软件测试

5.1测试概述

软件测试是保证系统质量的关键部分,本文在整个开发过程中系统性地开展了一系列的测试工作。测试目标就是检验系统是否符合需求分析所规定的要求,找出并改正可能存在的缺陷,保证系统的交付稳定性与可靠性。测试工作存在于开发的所有阶段中,单元测试、集成测试和系统测试都属于这样的阶段。测试环境尽量模拟出真实的使用环境,也就是不同的硬件平台,不同的操作系统以及各种输入设备。

测试用例的设计遵照全面性以及典型性的准则。全面性即测试用例要涵盖所有的功能模块以及重要的逻辑路径,即正常操作流程和异常情况下的处理流程。典型性指的是测试用例要能够体现真实的用户使用习惯、常用的操作方式,并且不能出现太极端或者不切实际的测试情况。每一个测试用例都会清楚地写明了测试步骤、预期结果以及实际结果,有利于问题的查找与追查。根据问题的严重程度分类,高优先级问题要马上处理,低优先级问题可以放在之后做。

测试资源有测试人员和测试环境。测试人员将测试对象设在课题组成员和部分大学生身上,就其客观使用的实际情况展开试用工作,然后利用学生提出的各种意见来改善系统的性能。测试环境有多种,配置不同的计算机,有集成显卡和独立显卡的,有不同分辨率显示器的,有Windows各种版本的,以保证系统兼容性。对移动端功能进行测试时也用到了多台安卓、iOS设备。测试工作有条不紊地进行,给系统的质量提供保障。

5.2系统测试

5.2.1功能测试

功能测试主要是检验系统中每一个功能模块是否符合需求。第一人称漫游功能的测试包含键盘WASD键控制移动的响应是否正确,移动方向和视角方向是否一致,碰撞检测是否能阻止穿墙,相机视角是否平滑,跳跃功能是否正常等内容。经过测试可知,在移动速度过快的时候,角色和墙壁的碰撞会出现一些轻微的穿透,因此通过改变速度参数、改善碰撞体的精度来解决这一问题。视角控制垂直方向出现死锁情况时,采取限制垂直旋转角度的方式予以解决。

交互系统的功能测试有射线检测精度,射线检测范围,信息面板弹出和闭合,语音播报和停止是否稳定,物体移动模式下动画平滑等。测试结果表明当多个可交互物体重叠的时候,射线检测可能会选择遮挡了的物体,通过改变射线检测的优先级以及后处理逻辑来解决这个问题。当屏幕分辨率较小的时候,该面板不能显示完整的内容,在使用自适应布局之后,就解决了这个问题。根据视频播放功能测试结果可以得出结论,格式不同的视频在解码时会存在一定的滞后或者出现异常情况,因此最后将所有格式都统一成MP4格式。

图5-1交互测试图

变脸表演系统的测试是本课题的主要部分,测试内容为手动转换脸谱是否流畅,自动播放序列是否符合预期的速度,溶解动画效果是否自然平滑,用户选择脸谱是否能正确转换等。测试中发现有些脸谱溶解动画有边缘闪烁的现象,经过改变着色器中噪声采样的参数以及过渡曲线后得到了良好的结果。自动播放时帧率降低,用材质切换的性能消耗来解决问题。后台管理功能是对脸谱增删改查以及文化知识库编辑的检验,所有的操作都可以被保存并且生效。

图5-2变脸测试图

5.2.2性能测试

性能测试的主要目的就是检验系统在各种硬件环境下运行的情况,保证有良好的用户体验。测试主要的指标有帧率、内存使用量以及加载时间。测试结果显示,不同的电脑(配置强的集成显卡电脑、配置低的独立显卡电脑)的结果如表所示。变脸表演中帧率会出现短暂波动,但是不会造成明显的卡顿感。

内存占用测试用Unity Profiler来检测。完整的川剧舞台、脸谱仓库、全部的脸谱资源加在一起,内存的峰值是800MB,在可以接受的范围内。内存泄漏测试用一段时间来观测内存的变动状况,没有表现出明显的内存膨胀情况。资源加载速度测试结果表明,系统启动到主菜单出现的时间大约是3秒左右,主菜单进入舞台场景加载的时间大约是4秒左右,场景之间切换的时间大约是2秒左右,在可接受范围之内。

经过对资源进行压缩、优化之后,最终发布出去的包体大小基本符合要求。纹理压缩使用ASTC格式,音频压缩用MP3格式,模型文件通过减少冗余顶点、改善拓扑来减肥。启动速度的改善包含改变资源的加载方式,把非重要资源设为异步加载,提前加载用户最先接触到的内容。对系统性能进行测试并加以优化后,可以保证该系统在目标硬件上正常运行,给用户提供良好的使用体验。

表5-1 系统性能测试结果

测试指标

测试条件

测试结果

帧率

低配集成显卡

30-45 FPS

帧率

高配独立显卡

稳定60 FPS

内存占用

完整加载资源

峰值约800 MB

加载时间

启动至主菜单

3

加载时间

主菜单至舞台

4

场景切换

舞台与仓库互切

2

5.3结果分析

从综合功能测试、性能测试结果来看,本系统大体上满足了设计要求和用户需求。功能测试部分,第一人称漫游、交互展示、变脸表演、360度展示、后台管理、场景UI等六大部分都可正常使用,主要功能运行正常,辅助功能基本完成。经过测试后得到的缺陷大部分都得到了解决,其余的低优先级问题不会影响到系统的正常使用。变脸表演的溶解动画效果得到了试用用户的表扬,认为该种切换方式很好地再现了真实的变脸神奇之处。

性能测试结果表明,在主流配置的计算机上系统可以正常运行,帧率满足流畅体验的要求,内存占用控制在合理的范围之内,加载时间在用户可以接受的等待时间内。由于性能测试得到的结果可知造成瓶颈的是资源的消耗过大以及计算量太大,而这些方面均已被资源利用优化和算法改良加以改善。后台管理系统操作流程测试结果显示,没有任何技术背景的人员在简单指导下也可以完成脸谱添加、修改、删除等工作,因此后台设计是具有易于使用的特性。

但是系统还存在一些可以改进的地方。在场景中有很多模型的时候,帧率会降低,用更加详细地LOD优化和剔除算法可以改善。另外一些用户又提出移动端使用时应该有更好的触控体验,这就需要对移动设备的操作特性做专门的改进。本系统的功能完整性以及性能达到预期的目标,有实际应用以及进一步发展的潜力。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询