尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

U3D|毕设答辩|毕设项目|毕业论文|基于Unity的川剧变脸虚拟场景

U3D|毕设答辩|毕设项目|毕业论文|基于Unity的川剧变脸虚拟场景 文档标题基于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优化和剔除算法可以改善。另外一些用户又提出移动端使用时应该有更好的触控体验这就需要对移动设备的操作特性做专门的改进。本系统的功能完整性以及性能达到预期的目标有实际应用以及进一步发展的潜力。
返回列表