ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

U3D|毕设答辩|毕设项目|毕业论文|诗性侠影基于李白侠文

U3D|毕设答辩|毕设项目|毕业论文|诗性侠影基于李白侠文 文档标题诗性侠影基于李白侠文文档介绍1 绪论1.1 课题研究背景与意义唐代侠风盛行文人的任侠风气空前绝后李白就是其中最为典型的一位。除了创作大量的咏侠诗外还身着侠服行侠仗义他的诗里有“仰天大笑出门去”的豪放不羁“十步杀一人”式的侠义精神和游仙诗里所体现出来的自由精神。将文人风骨、侠客精神、仙道情怀三者融合起来所形成的这种文化特质在文学性、传奇性方面都有了新的发现给武侠游戏设计赋予了全新的创作视角。李白的侠文化不同于传统的武侠江湖恩怨更体现出现代的武侠游戏缺少的精神内核就是超越世俗、追求精神自由的人格境界。近些年来武侠题材游戏市场的热度一直居高不下从传统的RPG到开放世界的动作游戏武侠类型的种类也越来越多。但是大多数作品存在着文化表达同质化、符号化的问题只是对门派争斗、招式较量这些表面的内容进行了叙述侠客的形象也仅仅被刻画成武力无比的战斗机器缺少对于侠文化精神实质的深入探讨。玩家在游戏里获得的只有打斗的爽快感却不能体会出侠之大者、为国为民的精神境界更别提李白笔下的功成身退、平交王侯的那种超然气度了。目前游戏行业正在向着文化赋能方向发展把传统文化和游戏设计相结合是提高游戏文化附加值的有效途径也是推进传统文化年轻化传播的重要方式。同时Unity引擎技术日趋成熟3D建模、动画状态机、战斗AI、任务系统等方法给创建出有文化表现力的武侠游戏提供良好的支持。本课题的研究意义从理论、实践两方面来体现。从理论角度来说本文对李白的侠文化内涵和外延做了系统的梳理在游戏设计领域里首次提出李白文化的研究空白问题并且探讨如何把文学资源变成游戏的设计元素的理论方法。从实践上来说以李白侠文化为基础的武侠游戏《诗性侠影》可以冲破传统武侠游戏同质化的困局给玩家赋予既有文化体验又有娱乐功能的游戏产物为国风游戏文化价值的挖掘赋予了现实案例。1.2 国内外研究现状1.2.1 国外研究现状国外有关文化遗产的数字化保护及创新性传播研究起步较早有较多的理论研究和实践成果。欧美国家对于实时渲染技术、高沉浸感的虚拟现实、交互式的故事叙述有较早的探索而且用游戏引擎重现了大量的历史场景、戏剧表演、文化文物等。欧洲的博物馆和文化机构也开始使用Unity、Unreal引擎等软件来搭建虚拟展厅将重要的历史文物、艺术作品用网络的形式展示出来。这些项目重视用户体验和教育功能相结合用交互设计加强观众的参与度以及学习效果给文化遗产数字化传播树立了范例。但是这些项目大多关注西方文化语境下文化遗产的展示在对中国传统文化的数字化转化方面研究很少。就技术而言国外的研究机构在实时渲染、物理模拟、依赖人工智能驱动的虚拟角色行为等各方面的研究也取得了较大的进展。利用动作捕捉技术、实时面部动画技术可以达到对表演艺术家动作和表情的精准再现给虚拟表演提供技术支持。国外学者对交互叙事的研究也比较深入提出了许多把用户的抉择融入到故事发展中去的交互模型使虚拟体验更加个性化、更具感染力。但是就李白侠文化这种依靠中国古典文学底蕴、东方美学符号的文化主题来说国外专门性的研究与实践很少。李白诗歌中侠客精神、道家思想、盛唐气象等文化资源国外研究很难直接拿来参照。这给本课题留下了创新的余地。国外对中国的侠文化主要用比较文学、文化传播等角度来研究侧重于对侠文化在海外传播和发展过程的考察。国外学者对于游戏的设计更多是从游戏的交互体验、叙事结构等角度展开研究并没有形成一个系统的理论体系但是其成熟的设计方法可以作为参考为本文的游戏设计工作起到一定的指导作用。但是由于文化差异国外对于李白侠文化的理解还存在着局限性并没有针对李白侠文化的特定设计出游戏方案。因此在借鉴国际上先进的实时图形技术和交互设计思想的基础上更进一步地将中国文化独特的魅力与中国艺术的精粹融合到技术里使技术与文化内涵达到有机统一的状态。1.2.2 国内研究现状国内关于侠文化的研究大多集中在文学方面学者们大多从历史发展、精神内涵等方面进行研究。关于李白侠文化的研究中有人认为初盛唐开放包容的时代精神和尚武崇勇的风尚使李白形成了独具特色的侠人人格他的咏侠诗里描绘的侠客形象有古侠客、边塞少年、复仇女侠等众多种类这些侠客的形象具有洒脱自在、豪迈慷慨的性格特点其中蕴含着快意恩仇、不慕名利、功成名就后隐居的愿望。还有学者认为李白诗歌里英雄主义和理想主义相互交织“侠客行”中既有为国为民的理想追求又有对自由的渴求。就李白精神世界的探究而言有学者提出李白的游仙诗是其生命意识的体现诗里所描绘的神仙自由生活是诗人突破肉身局限的追求也是对其所处现实政治的一种讽刺。目前国内对于游戏设计的研究大多是围绕武侠游戏的玩法革新、视觉表现、国风游戏的文化传播作用展开的。有学者认为国风游戏可以承载文化符号、表现中华美学精神唤醒青年的文化记忆、坚定文化自信。另外有学者认为电子游戏具备娱乐层和再现层玩法机制和叙事内容可以一同参与到叙事之中来这种观点给文化元素渗透到游戏中增添趣味性提供了一些支持。另外有学者认为游戏IP产业是数字时代文化生产的变革用多种业态来达成经济价值和文化价值。但是目前有关李白侠文化与游戏设计的结合研究还较少多数研究成果只是对文化元素进行了浅层次的提取并没有对精神内核进行系统的转化。国内利用Unity引擎进行文化数字化项目开发的速度很快主要在文物展陈、非遗传承、虚拟旅游等方向上取得很多成果。越来越多的开发者开始使用Unity进行虚拟场景的开发有关的教材、教程等也越来越齐全。这些项目为本课题给予了较好的技术条件和经验的参照。但是现有的武侠游戏项目都存在着同质化的现象仅仅停留在招式比拼、门派纷争这些表层的叙述上并没有对侠文化精神内涵进行深入挖掘。本课题是在充分调研现有成果的基础上对以上不足进行改进和创新在文化表达的深度和系统性方面有所突破创建出更加完善的李白侠文化武侠游戏设计体系。1.3 研究内容本课题目的在于利用Unity引擎创建一款以李白侠文化为主要内容的武侠游戏原型。研究先通过文献调查整理出李白侠文化特点提出技术方案确定开发途径重点完成角色控制、战斗系统、任务交互、小地图和后台管理等功能模块的开发用3ds Max完成三维建模工作。从文化上来说提炼出诗剑合一的设计理念把诗歌元素加入到战斗和任务的叙事当中在游仙诗里取自由探索的精神在咏侠诗里取李白的气质达成文化体验同游戏性的融合。从技术角度上讲使用Animator状态机来控制角色的动作以达到移动、视角跟随、小地图导航、异步切换、战斗AI以及任务交互的目的。开发完毕之后再进行功能及性能测试保证系统稳定可靠完成毕业论文并记录设计成果。本课题希望对“传统文化加游戏设计”法进行总结给类似的文化数字化项目提供借鉴。2方案论证2.1 方案提出对国内外武侠游戏的发展现状以及李白侠文化研究状况进行分析后本课题提出利用Unity引擎开发出一个以李白侠文化为主要内容、以武侠游戏为形式的原型。方案主要思想是以Unity为平台用3ds Max建模用C#编程创建出集角色控制、战斗系统、任务交互、小地图导航为一体的综合性武侠游戏体验系统。核心问题就是怎样在虚拟游戏环境里逼真、流畅、交互式的再现李白侠文化精神使玩家既可以体会到武侠战斗的快感又能有主动去接触、了解李白诗歌文化内涵的想法。方案所依据的有多个方面。从技术角度来讲Unity引擎具有完善的游戏级实时渲染管线、材质系统、动画状态机可以很好的完成角色动画控制和场景渲染技术较为成熟开发者社区活跃学习资源丰富。就文化传播来说武侠游戏能够冲破传统文学流传的时空禁锢促使更多的人用最少的代价踏入李白侠文化的殿堂依靠交互设计来加深用户参与程度以及印象。就应用场景而言本系统成果可以直接应用于文化教育、游戏娱乐、文旅推广等领域有较好的推广价值。在方案设计时要注意到的一些主要技术难点包括如下几个方面。角色动作控制流畅性为首要任务传统的动画切换方式会造成突兀的感觉因此需要设计出合理的动画状态机来提高动作的自然程度。战斗系统平衡性、打击感等也成了重要的难点需要对攻击判定、受击反应加以精心的设计。任务系统的叙事逻辑同游戏性相融合也不能被忽略必须创建出可以承载李白侠文化精神的叙事结构。根据以上困难本方案用Animator状态机来管理动作、用射线检测来实现攻击判定、用多级任务结构来设计方法。2.2 可行性分析2.2.1 技术可行性本课题所处的开发条件比较具备。Unity引擎有着比较完善渲染管线、材质系统和动画状态机可以完成角色动画控制和场景渲染的任务。C#是经过官方指定的语言语法清晰规范标准有注释文档可以用于角色控制、战斗、任务等操作方式算法的编写。Unity也有了NavMesh这些插件工具可以大大简化敌人AI的编写。开发团队经过系统学习已经掌握了Unity开发、计算机图形学、三维建模等相关的知识并且具备了一定的实践能力。学校实验室的设备可以达到开发测试的要求有足够的计算能力和软件授权。另外Unity有着活跃的开发者社区、大量的学习资料在出现技术问题的时候可以快速找到解决办法技术实现途径比较清晰、合理。从资源管理的角度来说Unity的AssetBundle机制可以达到快速加载、自动更新的效果从而避免因为内存使用过多造成性能问题。动画状态机设计已经有了成熟的思路只需要根据武侠游戏的特点进行个性化的调整战斗系统中的攻击判定、伤害计算等逻辑也可以采用通用的设计模式。因此本课题的技术上是完全可以实现的。2.2.2 经济可行性本课题开发成本小、投入产出比高。软件开发上使用Unity的免费版Personal可以达到所有的开发目的。3ds Max教育版是供学生免费使用的一款软件学生可以随意地对3ds Max教育版进行下载和使用并可以对角色建模、场景搭建、材质制作等各个方面的工作进行操作。Visual Studio Community也免费软件工具链全部可以免费或者教育版获得大大降低了开发成本。本课题只需要一台配置合适的计算机就可以进行开发和测试。学校实验室设备以及学生个人电脑可以满足Unity引擎运行的需求不需要购买高性能工作站或者昂贵的设备。游戏美术资源可以采用自主建模的方式来完成李白侠文化素材可以从公开的古籍文献以及艺术资源中得到不需要缴纳版权费用。经济效益方面项目成果可以转化成文化教育工具或者娱乐产品具有一定的社会效益和经济效益。不论是为了博物馆陈列、学校文化教学还是用作商业游戏参考依据在产生社会效益的同时也有可能带来经济效益。即使是不做商业利用本课题也具有了毕业设计的学术价值和学习价值值得投入。2.2.3 操作可行性本文根据用户的实际情况即使用环境和使用习惯来展开设计方案。前台游戏体验模块为与用户直接互动的部分用户使用鼠标、键盘进行操作的时候可以对角色进行移动、换位移、攻击等操作不需要学习太多的技巧。角色移动使用WASD键来操控是大多数3D游戏中使用的操作习惯。攻击、技能释放使用鼠标点击或者按键触发的方式操作简单直接。任务交互用点击NPC然后选择对话选项的方式来完成信息显示清楚不会对用户造成沉浸式的体验影响。后台管理系统的设计也考虑到操作方便性。系统给出图形化的配置界面文化内容管理员不需要学习编程就可以对游戏资源的添加、任务内容的编辑以及文化知识库的维护进行操作。所有的操作都有提示、确认的过程避免出现由于操作失误而导致的数据丢失等问题。场景流程的配置采用可视化的方法管理员可以通过拖拽或者填写表单的方式来设置NPC的位置以及任务的触发条件。就项目开发管理而言本文所定的项目周期计划科学合理各项任务清楚明了。需求分析、系统设计、编码实现、测试完善等各个环节都会产生相应的产出物以及质量标准。根据功能模块开展任务开发可以达到按期完成各项工作阶段的目标。因此本课题的操作是可行的。2.3 方案确定经过综合比较和分析后本课题最后确定用Unity引擎为主3ds Max为建模工具C#为编程语言的技术路线。在渲染引擎方面对比了Unreal Engine和Unity Engine。Unreal Engine画面表现力强但是学习曲线陡峭、硬件要求高其蓝图脚本和C编程方式与本课题需求不匹配。Unity引擎使用简便、有强大的社区支持、可以实现跨平台部署适合开发工作最终选择使用Unity。在建模工具方面对比了3ds Max、Maya和Blender。3ds Max、Maya功能强学生用教育版免费使用。Blender虽然是开源软件并且功能不亚于3ds Max但是由于学校教学主要使用的是3ds Max所以选择3ds Max作为角色及场景的建模工具。交互控制部分用Unity原生Input系统加射线检测来完成灵活处理键盘输入和鼠标交互。角色动画用Animator状态机和动画参数组合来达到动作平滑切换的目的。战斗系统用碰撞体为基础来做出攻击判定从而构成一个完整的战斗逻辑闭环。任务系统用到的是基于状态机的设计思想用任务ID、阶段管理和奖励来控制。数据存储使用本地方案用PlayerPrefs和JSON文件进行持久化。由此可以看出本方案从技术、经济、操作等各方面均可以实现为以后的开发工作打下了良好的基础。3需求分析3.1 总体目标本课题的总体目标就是利用Unity引擎创建出以李白侠文化为基础的武侠游戏原型具有沉浸式的探索、爽快的战斗、有文化内涵的任务系统使用户能更好的理解李白侠文化的艺术性与精神。系统既要满足前台用户的使用要求又要把后台管理员的内容维护需求考虑到里面在保证视觉效果以及操作流畅性的情况下实现文化传播和管理方便性的目的。从用户体验的角度来讲系统应当具备第三人称视角角色控制功能在盛唐风格的武侠世界里自由地去探寻体会李白所描绘出的“诗剑江湖”。玩家和NPC进行对话交流接取任务并完成任务在整个过程中体会李白侠文化的内在精神。战斗系统要具备爽快的打击感和策略性战斗体验使玩家用诗剑合一的思想去战胜敌人。从技术性能的角度来讲要求实现系统具有实时渲染的能力角色动画不会出现卡顿的情况并且还要保证交互响应的迅速完成。在内容管理上系统应该有后台管理的功能可以对任务内容、NPC信息、文化知识库进行编辑和更新同时也可以对游戏中场景的交互点进行设置调整管理员不需要编程就可以完成系统的内容管理。就文化传播而言系统必须准确传递出李白侠文化的精神内涵角色设置、任务叙述以及场景的美术风格都应当符合盛唐文化所具有的审美特点在让用户得到愉悦的体验的同时又能够学到有关李白诗歌以及侠文化的一些知识。3.2 用户需求分析本系统的用户主要分成两个主要的部分分别是玩家用户和文化内容管理员。玩家用户是系统的使用者以游戏的方式感受李白侠文化。其基本需求就是武侠世界自由地穿梭身临其境的感受体验与敌人进行酣畅淋漓的对决在惊心动魄之中感受那份爽快的快感与NPC交流接任务了解背后所隐含的文化内涵以及诗句的意思去发现更多的文化元素与游戏中的场景物体有互动从中获取新的文化信息。玩家对画面表现、操作感受、故事底蕴等各方面的标准很高。文化内容管理员负责系统日常维护以及内容更新工作主要需要能够快速地对任务内容进行编辑可以管理NPC的信息对文化知识库做相应的管理同时还能对场景交互点进行设置。管理员没有编程的能力所以后台需要提供图形化的操作界面降低技术门槛可以实现资源版本的管理以及备份恢复功能。还要考虑教育工作者、研究人员等各方面的需要。教育工作者希望把系统当作教学辅助工具就要给予文化知识点检索作用。研究者对文化转化的方法论进行关注需要给出具体的开发文档。这几种需求对拓展系统应用场景都有十分重要的意义。3.3 功能需求分析3.3.1 角色控制与漫游角色控制以及漫游功能属于武侠游戏体验的基础。本系统需要实现玩家用第三人称视角在盛唐风格的武侠世界里自由移动用键盘控制角色移动、用鼠标控制摄像机视角的功能。角色控制功能要有流畅的操作手感移动速度适中视角转动灵敏但不会引起眩晕。漫游功能还要和场景碰撞体相结合保证玩家角色不能穿过建筑物或者掉出场景边界的状况出现。除了基本的移动、视角控制之外还要加上增加沉浸感的元素。玩家行走于不同地面上会发出不同的脚步声接近可交互物体会产生视觉或者听觉的提示进入到某个区域内会触发剧情或者事件。角色动作的丰富性以及流畅度属于重要的部分玩家角色要具备站姿、行姿、跑姿、跃姿、打斗等众多的状态依靠Animator状态机完成平滑转变给玩家带来良好的动作呈现效果。3.3.2 战斗系统战斗系统属于武侠游戏的主要玩法单元是决定游戏是否具备可玩性以及沉浸感的关键因素。本系统要达到实现玩家同敌人之间的即时战斗交流的目的包含普通攻击、技能施展、敌人AI行为、伤害评定以及战斗状况的把控这些内容。战斗系统要体现出诗剑合一的思想把诗歌元素和战斗机制结合在一起用特殊的操作组合来使用诗意技能感受李白诗歌的豪迈和飘逸。敌人AIG的设计很难。敌人要具备待机、巡逻、追击、攻击、受击、死亡等各方面的行为状态按照玩家距离以及自身情况来改变。战斗系统的打击感与平衡性也要加以精心安排攻击判定应当采取碰撞体或者射线检测办法受击反应包含视觉特效、音效、震动以及角色动画等种种形式伤害计算要全面考量诸多要素塑造出合理的战斗数值结构。3.3.3 任务与NPC交互系统任务、NPC、内容三者之间所形成的互动关系才是李白侠文化传播的主要方式。本系统应该具有实现玩家同NPC之间对话的功能并对任务的获取、进行以及结束的整个过程都进行有效的管理。任务系统应该能处理打败敌人、获取物品、和NPC交谈、到达目的地等种种任务并且具有任务追踪的功能在界面中可以显示出目前的任务进度以及目标。任务叙事的文化内涵属于本系统的特性。任务的构建应以李白的侠文化为中心把李白的诗歌、典故、精神带入到故事背景和对话中。玩家可以经由完成任务而体会李白的“将进酒杯莫停”的豪情壮志或者领悟到李白的“十步杀一人千里不留行”的侠义风神这样便是在游戏的过程里不知不觉之中去领会李白的侠文化。3.3.4 小地图与视角系统小地图、视角系统属于提高玩家游戏体验的辅助手段。小地图在界面的角落处可以显示出场景的俯视图以及重要的地方NPC的位置、任务的目标、敌人的方位等等都可以在上面标出。视角系统包含主摄像机跟随和玩家视角控制这两个部分主摄像机会一直跟随玩家角色保持一定的跟随距离和角度在经过障碍物的时候可以自动改变位置来保证不被遮挡。视角系统还有一个重要的功能就是战斗中视角的管理。当玩家处于战斗状态的时候视角应该稍稍远离一些这样才能从全局角度去观察敌人的位置和动作。当玩家锁定某个敌人之后视角就应当把敌人的视角作为中心进行跟随而不能把视角移开到其他位置去。这些功能可以极大地改善战斗的体验感、观感并且使玩家可以在战斗里更多的去关注战斗本身。3.3.5 后台管理系统后台管理系统为文化内容管理员设计给非技术用户提供方便地对系统内容进行管理。本系统应该包含任务内容管理、NPC信息管理、文化知识库管理、场景配置管理这四个主要的子模块。管理员对任务可以实现增删改查可以设置任务名称、任务描述、目标任务和任务奖励。NPC信息管理模块可以供管理员来设定NPC的名字、外表、所在地点、对话的话语及可获取或者可以完成的任务清单对话内容能够包含多轮对话以及分支走向。文化知识库管理模块对有关李白侠文化图文、音频、视频等资料做统一管理。场景配置管理模块主要是对游戏世界中交互逻辑进行设置可以做可视化编辑以及实时预览。后台系统应当给出直观的图形化界面来削减操作繁杂程度。3.4 性能需求分析性能需求属于影响系统良好运转的重要指标。本系统属于实时渲染的3D游戏应用性能较高。系统在主流配置的计算机上运行的时候帧率要保持在一个稳定的水平不能出现大幅度的变化导致玩家产生眩晕或者操作迟缓的情况发生。特别是当敌人同时出现、技能特效频繁的时候帧率稳定就变得格外重要了它直接影响到玩家的战斗感受以及作出判断的速度。系统的起动时间和场景转换的等待时间应当处在可以容忍的程度之下。对大型场景模型、纹理资源等可以使用异步加载或者分步骤加载的方法先加载出玩家可见的部分从而缩短等待时间。内存占用要处于合适的范围内不能因为数据的增加而使内存的使用量过大从而引起内存溢出或者性能降低。采用资源池、对象复用等方式来控制内存消耗尤其是经常出现生成和销毁战斗特效以及敌人单位的情况在合适的时机采用合适的对象池管理方法能够大大地减小内存使用带来的开销。用户的交互响应时间应该很短这样才能保证玩家的操作是即时的。角色移动以及攻击动作的操作应在输入后的下一帧得到反馈不能存在明显的输入滞后现象。攻击动画和伤害判定时机要准确对接保证打击感真实可靠。动画过渡效果应该流畅自然状态切换过程中不能出现卡顿或者穿模的现象。系统的稳定性与容错性也不能忽略不能出现由于某个操作的无效导致整个系统崩溃的情况在无效的操作或者资源加载失败的时候给出友好的提示而不是直接结束程序运行。因此性能要求既要考虑视觉效果又要考虑运行速度在美观和稳定之间取得平衡。4设计论述4.1 概要设计4.1.1 系统总体架构本系统使用分层架构的设计思想把系统分成用户交互层、业务逻辑层、数据访问层、资源层四个主要部分各个层次之间有明确的责任划分具有低耦合高内聚的特点。用户交互层是对玩家的操作进行处理并给出视觉上的反应即控制角色、摄像机跟随以及显示UI等内容主要为用户的使用体验与操作的响应速度着想。业务逻辑层为系统的灵魂是主要对战斗逻辑、任务状态控制、NPC互动反应进行操作的模块从用户层面的请求出发来执行逻辑处理然后更新到数据层以及资源层的状态上。数据访问层对数据进行持久化存储和读取任务数据、NPC数据、玩家进度数据等都属于其中。本系统采用本地存储的方式用JSON格式将数据序列化后存储到PlayerPrefs中也可以通过文件的读写操作进行数据的存取操作不需要对系统做额外的部署简化了系统的复杂程度。资源层是所有美术资产即3ds Max导出的所有模型文件、纹理图片、音频文件等的统称用Unity的资源系统来加载和管理。各个层次之间进行规范的调用使得整个系统更加容易维护、扩展也利于多人一起工作。图4-1 系统架构图4.1.2 功能模块划分根据需求分析本系统可以分成六大部分来完成即角色控制和漫游模块、战斗系统模块、任务及NPC交互模块、小地图及视角模块、后台管理系统模块和场景及UI模块。每一个模块都有一定的职责范围利用接口来达成协作。角色控制和漫游模块用来处理玩家的移动输入、动画状态管理以及摄像机跟随控制需要和战斗系统模块一起工作在进入战斗模式之后就切换成控制模式。战斗系统模块主要是攻击判定、伤害计算、敌人AI的行为控制以及战斗状态的管理需要和角色控制模块相互配合获取位置信息需要与任务系统模块相互配合更新任务的进度。任务和NPC交互模块对所有非玩家角色的行为主体、任务的执行流程等行为进行管理依靠事件机制与其它模块进行通讯。小地图、视角模块主要用作导航、视角的辅助功能后台管理模块具有内容管理的功能场景、UI模块可以对场景进行搭建界面进行设计。六个模块互相配合就构成了完整武侠游戏系统。图4-2 功能结构图4.2 详细设计4.2.1 首页面模块设计首页模块以李白的侠文化为中心在首页上部用唐代的书法体写李白的“诗性侠影”在下面用墨色系的诗意图、侠客剪影来营造诗剑江湖的意境。页面中央竖向排布有开始游戏、加载游戏、后台管理、退出游戏这四个入口按钮开始游戏为主入口并且做了视觉上的加强。按钮用半透明毛玻璃的效果来表现鼠标悬停时会有所反馈鼠标经过处有缩小、加深的效果。点击开始游戏进入主场景加载游戏本地存档进度后台管理需要密码认证以防止未经许可的访问退出游戏弹出确定提示以免误操作。首页面包含音乐控制部分文化传递、视觉效果、实用性均达到要求给用户留下良好的第一印象。图4-3 首页界面4.2.2 角色控制与漫游模块设计角色控制模块把移动和视角的控制分开。创建胶囊体作为角色的物理载体用角色控制器组件控制角色位置的移动以及物体的碰撞摄像机设于角色的后面。移动控制用WASD键检测输入根据摄像机朝向改变世界坐标移动的方向。视角控制用鼠标移动增量来实现水平、垂直的转动设定上下角度限制防止翻转。角色移动动画用Animator状态机来控制在移动的过程中根据速度的不同从站立状态变为行走状态或者跑步的状态。模块中加入碰撞检测避免穿墙接近可交互物体时出现提示图标摄像机会被遮挡的时候自动靠近以保证视野。图4-4 角色控制与漫游界面4.2.3 战斗系统模块设计战斗系统用状态机设计模式来处理把战斗过程划分为探索、战斗、战后这三个部分。探索状态下玩家可以自由移动接近敌人的时候进入战斗状态打败所有的敌人之后进入战后状态结算奖励。攻击判定使用基于碰撞体的方式在攻击动画的某个帧上产生判定碰撞体命中之后计算伤害并触发受击动画以及特效。为了加强打击感在声音上加一些小小的停顿、震感及被击响时的声音。敌人AI用有限状态机来表现它有四个状态待机、巡逻、追击、攻击以及被击中这五种。“诗剑合一”的理念是经由技能系统达成的每一个技能都和李白的诗歌存在联系释放的时候会出现相应的诗句并且会带来特殊的战斗效果。图4-5 战斗界面4.2.4 任务与NPC交互模块设计任务模块使用状态机设计模式把任务的生命周期划分成未接取、进行中、可完成和已完成四个阶段可以建立任务链和依赖关系来形成完整的叙事结构。系统具有任务跟踪功能可以在界面上给出当前的任务进度以及目标。图4-6 任务界面NPC交互系统的中心就是对话系统每一个NPC有标识信息、对话条目以及相关联的任务。根据任务状态显示不同的对话内容有接取任务时显示接取选项有交付任务时显示完成选项没有任务时显示默认闲聊。对话提供多轮、分支式的选项。任务设计以李白侠文化为载体以李白生平事迹、诗歌典故为取材用游戏化的方式开展文化传播活动。图4-7 NPC交互界面4.2.5 小地图与视角模块设计小地图以场景上独立设有一个摄像机的形式存在在场景上方用单独的摄像机会把渲染出的图层纹理展示出来并且是使用正交投影法从正面正视着场景的方式出现标注了npc、任务点等重要信息。主摄像机用平滑跟随算法来保持玩家前方固定偏移的位置用插值函数来保证平滑的过渡不会出现突然的跳跃。与墙壁发生碰撞的时候会自动缩小距离来避开穿透战斗场景下会拉近距离以便于观察。视角模块有手动控制功能可以使用鼠标拖拽旋转摄像机也可以通过调节灵敏度、反转垂直视角等方式来改变视角。图4-8 小地图与视角模块5软件测试5.1 测试概述软件测试是保证系统质量的重要环节在整个开发过程中系统性地开展了各种各样的测试工作。测试目标是对系统满足需求分析的要求做验证发现、纠正可能存在的缺陷来保证系统的稳定性、可靠性。测试工作存在于开发的各个环节当中即单元测试、集成测试以及系统测试等各方面。测试环境尽量模拟真实使用的环境在各种硬件平台上、各种操作系统、各种输入设备上进行测试保证系统的兼容性。测试用例的设计遵循全面性和典型性的原则。全面性指的是测试用例需要覆盖所有功能模块和关键逻辑路径对正常的操作流程进行测试的同时也要对异常情况下处理流程进行测试。典型性即测试用例要体现真实用户使用的习惯以及常用的操作方式不能出现过于极端或者不现实的测试场景。每一个测试用例都会把测试步骤、预期结果以及实际结果全部罗列出来有利于问题的找出并追踪。对发现的问题根据严重程度进行分类高优先级的问题立即处理低优先级的问题可以在以后的版本中加以改善。测试资源有测试人员以及测试环境。测试人员包含课题组成员以及一些测试用户依靠系统实际运行情况来找出隐藏的问题依照用户的反应来进行系统的交互设计改良。测试环境包含不同的电脑种类这些电脑中有些有各种各样的配置包括不同的显卡配置不同的处理器配置等等也有不同的分辨率显示屏以及其他操作系统的版本在这种差异环境下系统才能表现出较好的功能和效率。对跨平台需求的检验在不同的目标平台上都进行了测试。整个测试工作有条不紊地向前推进为系统质量提供强有力保障。5.2 系统测试5.2.1 功能测试功能测试是对系统中各个功能模块是否符合需求分析中规定的功能进行的检验。测试角色控制、漫游等主要功能键盘WASD键控制移动时是否能够准确的完成移动移动的方向和视角的方向是否一致在测试中发现摄像机移动时平滑不平滑以及相机的跟随是平滑的吗在跳伞过程中是否还能完成正常的跳跃动作吗。经过测试发现角色控制功能基本上达到了设计的要求移动手感良好碰撞检测也正确。测试时发现的视角卡入墙壁的现象用摄像机碰撞检测逻辑进行修正。战斗系统功能测试包含攻击判定、技能释放、敌人AI行为、伤害计算、战斗状态转换等各方面内容。在测试的过程中主要对攻击判定是否准确进行了检测保证攻击碰撞体能准确地与敌人碰撞盒相碰对技能释放是否流畅进行了检查保证技能动画和技能特效能同步播放对敌人AI行为逻辑是否正确进行了核对保证敌人可以按巡逻、追击、攻击等状态条件进行转换对伤害计算和生命值系统是否准确进行了检验保证战斗数值系统正常运转。对测试中出现的攻击判定有时不准的情况进行调整改变攻击判定帧以及碰撞体大小。任务与NPC交互系统功能测试是对NPC对话触发、任务接取、任务目标跟踪、任务完成判断、任务奖励发放等全部过程进行检验。对NPC对话的测试结果显示NPC可以按照任务状态展示不同的对话内容任务系统也可以正确跟踪玩家的任务进程在完成任务之后给玩家发放奖励。后台管理系统功能测试包含任务编辑、NPC配置、文化知识库维护等操作保证管理员可以使用后台界面完成所有内容管理的操作并且修改能被正确地保存下来并在前台游戏中反映出来。所有的功能模块经过多次的测试、改进后才达到设计的目的。表5-1 功能测试内容与结果测试模块测试内容测试结果角色控制与漫游WASD移动响应、视角方向一致性、碰撞检测、摄像机跟随、跳跃功能基本满足要求视角卡墙问题已解决战斗系统攻击判定准确性、技能释放流畅性、敌人AI状态转换、伤害计算攻击判定偶有不准确已通过调整判定帧优化任务与NPC交互NPC对话触发、任务接取与完成、任务追踪、奖励发放功能正常符合设计要求后台管理任务编辑、NPC配置、知识库维护、修改保存与生效功能正常修改可正确反映至前台5.2.2 性能测试性能测试的主要目的就是检测系统在不同的硬件环境下运行情况保证玩家得到良好的使用体验。测试所用到的指标主要有画面帧率内存占用情况场景加载时长等。性能测试在各种配置的计算机上完成集成显卡和独立显卡不同性能档次的处理器和内存。经过测试可以发现在主流配置的计算机上该系统可以正常运行帧率达到流畅体验的基本要求。战斗场景中如果敌人数量很多的时候帧率会有一小段时间的波动但是并不会影响到整个战斗的流畅性。内存占用测试用Unity Profiler来监测。完整游戏场景加载完之后包含的所有角色模型、场景模型、纹理资源和音频资源的内存使用率处在比较好的范围内。经过资源压缩和优化以后减少内存使用的量。内存泄漏测试是用长时间的运行观察内存的变化情况没有发现内存的持续增大说明系统资源管理机制正常。从资源加载速度测试结果可知系统从启动到主菜单出现所用时间在合理范围内主菜单进入游戏场景的加载时间以及场景之间切换的时间也都处于可以接受的程度之内。经过对于资源的压缩、优化之后最终游戏包体大小满足要求。纹理压缩使用了合适的压缩格式能够保证较好的画质下减少纹理的内存占用音频文件用MP3等压缩格式减小音频文件的体积模型文件去掉冗余顶点、改变网格拓扑来减小文件的大小。启动速度的优化包含着资源加载方式的改进把非关键资源设为异步加载先加载玩家最先接触到的内容。性能测试、优化工作做好之后使得系统可以在目标硬件上正常运转给玩家带来良好的游戏感受。表5-2 性能测试结果测试指标测试条件测试结果画面帧率主流配置计算机战斗场景多人同屏流畅运行帧率满足要求偶有波动无卡顿内存占用完整游戏场景加载后保持在合理范围无内存泄漏现象加载速度启动至主菜单、主菜单至游戏场景、场景切换时长在可接受范围内包体大小发布后游戏包符合预期通过压缩优化控制5.3 结果分析经过系统的综合功能测试以及性能测试可知该系统基本符合设计目标及用户要求。角色控制与漫游、战斗系统、任务与NPC交互、小地图与视角、后台管理等各个模块都实现了正常的运行主要的功能是稳定的但是还有一些辅助性的功能还存在着一些缺陷。测试过程中发现的问题大都得到了解决剩下的低优先级问题不会对系统正常使用造成影响可以放到后期的优化工作中再继续改进。战斗系统所产生出来的打击感得到测试用户的好评认为战斗操作顺手、反应快速较好地表现出武侠战斗的快意。性能测试结果证明在主流配置的计算机上系统可以流畅运行帧率可以达到较好的流畅效果内存占用在可以接受的范围内加载时间在玩家可接受的时间内。经由性能剖析可知性能瓶颈主要是由于资源加载速度较慢、大量特效一起出现时渲染耗费过大等原因造成的。针对上述问题用资源异步加载、特效对象池优化和LOD技术等办法进行改进。后台管理系统操作便捷性测试结果表明没有技术背景的管理员在简单指导下可以完成简单的增删改查操作达到了降低运维门槛的目的。但是系统也存在很多可以改进和完善的地方。当场景中有大量的模型和特效同时渲染时帧率会受到一定的影响在之后通过LOD设置以及视锥体裁剪算法来改善。一部分的测试用户认为应该加入更多种类的技术以及更加丰富的战斗系统在后续的新版本当中可以加以发展。本系统功能完备性能良好符合预期目标实现了李白侠文化与武侠游戏设计的结合有较强的实用性、发展性
返回列表