基于Unity引擎的三维游戏设计与开发文献综述

 2023-03-22 11:03


摘要:近年来,随着互联网和计算机行业的飞速发展,游戏行业发展迅猛。新颖特色的游戏层出不穷,游戏娱乐已经成为现代年轻人生活的必需品,游戏逐渐融入到人们的日常生活当中。随着游戏行业的飞速发展,怎样开发游戏,怎样开发出更好的游戏,已经成为现代游戏开发行业深思的关键。游戏引擎成为了许多企业和开发团队的必要开发工具,其性能强大,方便使用,极大提升了开发者的研发效率,受到了广大游戏开发人员的好评,而Unity3D作为一款专业的游戏引擎,拥有内置集成开发平台,并且具备跨平台功能,开发中小型游戏高效的特点,在众多的游戏引擎中脱颖而出,它为游戏开发提供了一种全新的解决方案。使用Unity3D引擎开发游戏,开发人员只需要解决角色的输入输出,角色的动画以及逻辑的匹配,清晰快捷的操作界面和UI界面,完整的游戏逻辑,编写每个模块对应的脚本,从而使游戏能达到预期目标。本文利用Unity3D引擎设计并实现了一款包含战斗、解谜以及操作为游戏核心的2D角色扮演游戏。在论文创新点方面,采用了有限状态机技术实现了游戏中人物的状态切换,使游戏中人物的总体设计变得更加便捷,在人物移动方面采用了位置修复的方式,使碰撞实时检测更准确。并根据游戏预期要求,解决了总体结构和各个模块对应功能,并对每个模块如何实现,多个模块如何整体协同运作进行说明,使读者可以了解中小型游戏的总体开发流程。本文介绍了游戏以及游戏引擎的发展历程,并阐述了Unity3D引擎自带的强大功能和引擎特色,引入了UGUI插件和Text Mesh Pro插件实现游戏的基础UI界面,主要使用C#语言编程实现了游戏当中基本逻辑的控制,游戏摄像机采用Opengl的基础图形渲染技术,并采用遮挡剔除技术以及纹理贴图技术减少渲染量,使用碰撞检测技术完成角色和游戏物体之间的交互,采用状态机技术实现人物的动画切换和逻辑行为控制,在优化方面采用单例设计模式,图像池技术,提高了游戏整体运行效率。

关键词:Unity3D、碰撞检测、有限状态机、角色扮演、游戏开发、人工智能、行为树

一、文献综述

(一)人工智能与游戏设计

长期以来由于受到人工智能理论研究和计算机实时处理性能发展的双重制约,造成游戏人工智能的发展相对落后于图形图像和实时交互技术的发展速度。随着游戏玩家追求更深层次的游戏内涵,在游戏设计与开发中需要着重考虑游戏的可玩性,而游戏人工智能的应用表现就突出反映了这一点。同时在不同游戏之中对于游戏人工智能的需求存在差异性,使得游戏人工智能的实现过程与手段也不尽相同,那么能够集成且功能完善的游戏人工智能的游戏引擎也不会出现。本论文介绍和分析游戏人工智能实现技术,由游戏人工智能的实现技术状态机开始,逐步延伸到行为树。通过对状态机和行为树的实现机制、比对两者的实现复杂度,进而分析得出状态机和行为树的适用范围。通过分析研究遗传算法和BP神经网络的理论依据为主要工作,将利用遗传算法优化的BP神经网络对行为树节点进行进化,从而使得行为树自身得到不断进化。在本论文中,通过在Unity 3D游戏引擎上设计实现来验证行为树进化有效性。由于需要模拟真实场景并给予玩家和游戏角色之间行为上的交互,非玩家控制游戏角色(Non Player Controlled Character,NPC)数量可能十分庞大,为确保游戏运行中的刷新帧率在一个允许范围之内,那么对实现游戏人工智能的行为树模型复杂程度设置了限定要求。设计完成游戏项目所需的游戏场景以及表现玩家和游戏角色的预制体,构建出按照玩家和游戏角色的不同行为要求的行为树模型,之后在利用遗传算法优化的BP神经网络基础上,对已有的行为树模型进行进化,最后利用构建出的进化行为树来控制NPC的行为。在测试中达到利用遗传算法优化的BP神经网络所构建出的进化行为树模型能够实现NPC的单体属性均不相同的目的,并可以进一步拓展应用到复杂的NPC游戏人工智能的架构中。

(二)Unity3D与游戏设计

随着游戏的发展与发展,游戏引擎成为开发团队必要的开发工具,其表现力强大,简单易用,大大提高了开发效率,深受开发人员的喜爱,其中以Unity3D引擎最具代表性。基于Unity3D引擎开发的《王者之战》是一款三维RPG(Role Play Game角色扮演游戏)单机游戏,游戏采用第三人称视角,进入游戏前有两个角色(法师和剑士)可供玩家选择。在游戏世界中,玩家根据剧情NPC的指引,接受任务奋勇杀敌,在作战过程中获得经验值成长,完成任务后可领取相应奖励,直到所有任务全部顺利完成,玩家获得胜利。若玩家在游戏过程中死亡,则游戏直接结束。为提高游戏的趣味性与可玩性,游戏为玩家提供了丰富的药品与装备,药品用于角色血量(简称:hp)治愈或魔法(简称:mp)恢复,装备用于提高玩家的作战技能属性(包括攻击力、防御力、速度、攻击速度等)。与此同时,游戏还提供了丰富的技能,随着角色等级提高,玩家可选择更多丰富的技能,以提高作战效率。游戏提供了诸多“简单粗暴”的技能攻击,更为其配置了酷炫的攻击特效,大大提高了游戏的可玩性与视觉效果。本文介绍了RPG游戏的发展历程,简要阐述了Unity3D引擎的功能和主要特色,引入了NGUI插件和HUD Text插件协助功能实现,重点从游戏需求、游戏设计、游戏实现和游戏测试四个方面介绍了《王者之战》开发的详细流程。游戏所有功能模块都经由编码设计实现,整套项目结构清晰,逻辑明了且易于维护。

(三)Unity射线碰撞与检测

Unity游戏设计流程主要工作包括以下几方面:首先,对游戏进行需求分析,并将本课题拆分为UI系统、战斗系统、成就系统和商城系统等四部分。其中,UI系统主要处理人机交互和场景切换。通过异步累加配合异步加载实现了场景的快速切换和2D场景与3D场景的叠加显示。战斗系统主要包括技能系统和NPC智能操控。在技能系统中普通炮弹和特殊效果的炮弹视为不同技能。由技能释放器完成技能的释放和后续对敌人的伤害结算。其次,通过包围球和方向包围盒技术结合OBB算法完成了三维虚拟环境中刚性物体之间的碰撞检测。在检测到碰撞之后,利用射线与凸体相交方法计算得到凸体间第一次发生碰撞的位置,并及时作出碰撞响应。同时采用基于导航网格的A*算法找到一条最优路径,把NPC从其出发点移动到目的地,从而实现了NPC智能寻路。然后,设计并实现了适合坦克战争游戏的感知系统和有限状态机。感知系统采用包围球和碰撞检测技术设计了感应器、感应系统和触发器。感应器感应外界信息,触发器散发自身信息,感应系统负责感应器和触发器之间的交叉过程。感应器感应到不同信息形成不同的输入条件。这些条件经过状态机处理后,可实现NPC在有限个不同的状态间切换。多个NPC则通过基于模糊逻辑设计实现的操控系统进行多种不同行为的操控。最后,通过Unity3D引擎实现了游戏场景,使用C#语言编写代码实现了游戏的逻辑处理。采用遮挡剔除技术剔除被其他物体遮挡住而相对当前相机不可见的物体,减少了渲染量。同时通过LOD算法逐层次简化物体的表面细节,减少场景的几何复杂性,提高了绘制算法的效率。此外还使用批处理、图集和对象池等技术,提高了游戏帧率,优化了游戏的性能。

(四)第三人称游戏设计

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。