_基于Unity3D牙医模拟器的开发与实现.doc
摘要 社会环境的改善让人们开始不再为衣食住行所发愁,生活质量也得到了改善,但是随着吃的质量上去了,人们的牙齿问题也随之而来。根据中国国民口腔健康状况调查报告显示,在调查的人里面,有91.6%的被调查者都曾受到口腔问题的困扰。其中,女性用户占比高达92%,男性用户占比91.4%。这也说明牙齿健康问题应该得到我们的重视,那么如何在现阶段人们在繁杂的工作的同时又能在简单轻松的气氛下了解,认识到口腔知识以及牙齿健康的重要性成为了我们解决的问题。本项目基于Unity3D开发环境,以现实环境为模拟对象,通过对生活中真实的牙科手术进行3D模拟,使玩家通过指引完成系列手术动作的牙医游戏模拟器。让人们再通过简单轻松的游戏氛围里,通过牙医的角度,模拟为病人进行完整的拔牙,处理伤口,种牙等操作7。以模拟游戏为载体,了解认识牙医手术的复杂性,严重性。牙医模拟器抛开了传统游戏以玩家通过游戏的完成达到减压、娱乐的效果的做法,而是通过游戏更加容易让人产生视觉上,思想上有反思的效果。从而呼吁玩家关爱牙齿健康,注重口腔护理。关键词:Unity3D,牙医,模拟器,牙齿健康Content abstract Improving the social environment no longer makes people worry about food, clothing, housing and transport. Quality of life has also been improved. According to the national report on the oral health survey in China, 91.6% of the respondents have suffered oral problems. Among them are 92% female users and 91.4% male users. This also shows that we have addressed the problem should pay attention to dental health, as it is understood in a simple and relaxed atmosphere, while people work in a complex work at this stage, and recognize the importance of oral knowledge and dental health has become our problem to solve.This project is based on the unity3d development environment, taking the real environment as the simulation object, through the 3D simulation of the real dental surgery in life, so that the players can complete the dental game simulator of a series of surgical actions through guidance. Let people through the simple and easy atmosphere of the game, through the perspective of dentists, simulate the complete extraction of teeth for patients, treatment of wounds, planting teeth and other operations. In order to understand the complexity and severity of dental surgery, simulation games are used as the carrier. Instead of the traditional game to achieve the effect of decompression and entertainment through the completion of the game, the dental simulator is more likely to make people have the effect of reflection on vision and thinking through the game. Therefore, we call on players to care for their teeth and pay attention to oral care.Key words: Unity3D; Dentist; Simulator; Dental health目录第一章 引言71.1开发背景71.2 研究现状71.3项目意义及创新81.4论文整体架构8第二章 开发软件及技术92.1 3ds Max的介绍92.2 Unity3D的介绍92.2.1 什么是Unity3D92.2.2 Unity3d的优势92.3 Visual Studio的介绍102.4 C#语言的介绍112.5 开发软硬件112.6 本章小结11第三章 需求分析123.1 模拟器基本介绍123.2需求分析123.3 项目的可行性分析133.4本章小结14第四章 系统设计154.1人物功能模块设计154.2模型模块设计174.3场景UI模块设计194.4动画模块设计224.5 场景模块设计244.6章节小结25第五章 系统测试265.1功能测试265.2 性能测试285.3安全性测试295.4兼容性测试305.5 本章小结31第六章 总结和期望32第七章 致谢33第八章 参考文献34第九章 附录35广东东软学院本科生毕业设计(论文)第一章 引言1.1开发背景随着经济的进一步发展,人们的生活水平得到了飞跃性的改善,人们开始对衣食住行有了更深层次的追求,其中在食品方面最为明显。从以前的吃不饱到现在的富食,人们开始忽略对牙齿健康的认识以及保养。根据我国口腔调查显示,我国成年人具有口腔问题的占八层以上,其中口腔牙石高达96.7%,牙龈出血高达87.4%,这也说明了口腔健康问题也成为我们现实中不可忽略的重要问题之一,但是在当下的社会环境里,人们所了解的有关口腔问题的认知都是仅存于电视广告以及少数的2d游戏里。对于口腔问题都是轻则忍之,到了严重才去看牙医。为了让人们能更好的认识,了解口腔手术的复杂性,严重性等从而呼吁人们关爱牙齿健康,重视口腔问题。所以通过Unity3D开发环境,对现实牙科手术进行模拟,把现实用更加真实的3d模型表示出来,通过游戏与视频的结合,让玩家在玩的过程更好的了解,重视口腔问题。1.2 研究现状目前市场上的关于牙医类模拟器的游戏基本上都是以2D平面为多,其中2D游戏以“OPERATE NOW! DENEAL IMPLANT”,“牙医模拟器”比较广泛使用,3D牙医游戏以“真正的牙医手术模拟器”较为受欢迎,混合VR类模拟器以“Leonardo牙科训练模拟器”为比较出名。而市面上的牙医类游戏大多数都是以消除牙齿污垢为主的减压类游戏,通过简单的操作让玩家在轻松点击下就能完成游戏任务,玩家在游戏过程里更多的体验都是消除污垢后带来的减压效果,并没有从游戏里更深的了解到口腔问题。而以“OPERATE NOW! DENEAL IMPLANT”为代表的且可以在简单的2D游戏里通过简单的,完整的游戏过程里让玩家体会到牙科手术的整体流程。科技的发展让我们不再局限于2D游戏的开发中,所以通过Unity3D的开发环境下,根据2D游戏所带来的想法,本项目通过3D模拟现实的方法,让玩家在游戏过程中,更全面,更真实的了解口腔结构。通过本次牙医模拟游戏,让人们再通过3D模拟的过程里通过以自身为医生的角度完成一次流程性的牙齿模拟手术。从而对口腔结构的认识以及牙科手术中所需要的工具,步骤,操作有全方面的认识8。继而做到然人们在休闲游戏之余还能在游戏的引导增强对口腔的保养以及爱护。1.3项目意义及创新 牙医模拟器主要通过让玩家能通过3D模型更立体,更加全面的观察,了解口腔结构,在游戏里通过模范现实牙科真实手术过程,再通过指引下完成口腔手术过程,在过程中玩家可以了解口腔问题带来的手术操作的复杂性,从而达到呼吁玩家关爱牙齿健康,重视口腔问题的效果。在目前的游戏市场中,具有教育意义的模拟类游戏较少,但是却深受大量的玩家以及家长看好,所以在市场需求以及竞争中都是一个非常有优势的。在介于3d技术的发展越发成熟,所制作的游戏对硬件系统需求大大降低,能让更多的玩家参与进来。1.4论文整体架构 本论文整体主要分为六章:第一章:引言,主要通过介绍游戏开发的背景、现状、现实意义以及创新和对论文整体架构的排布。第二章:开发软件及技术,主要对游戏开发过程中需要的软件技术进行介绍以及开发此游戏的配置要求介绍。第三章:需求分析,主要对项目的基本介绍,对项目进行功能需求分析以及非功能需求分析和项目可行性分析。第四章:系统设计,把系统各模块的设计过程以及实现方法进行介绍。第五章:游戏测试,主要通过对完成的项目进行功能、性能、安全性、兼容性测试,测试方法为黑盒测试。第六章:总结和期望,把自己在项目的创作过程中所遇到的、想到的、学到的进行总结,并通过总结让自己回首看看自身的不足,并把对未来的自己加以期望。第二章 开发软件及技术2.1 3ds Max的介绍3ds Max2014最先是由加拿大公司Discreet开发后被美国Autodesk收购合并,是现在广泛使用的,也是颇受欢迎的三维动画建模软件,其简单高效的3d建模流程更是深受使用者的喜爱1。在互联网的发展下,更多的使用教程被共享了出来,使上手简单,所需环境配置要求低,功能多样化的它瞬间成为了初学者建模首选工具。与此同时,不需要脚本、材质贴图、以及支持转换Unity3D所需要格式FBX格式的带动下,让更多的游戏开发者,场景建模师等喜欢上这个性价比高的软件。2.2 Unity3D的介绍2.2.1 什么是Unity3DUnity3D可以说是近几年来颇受游戏开发者们喜爱的游戏开发引擎之一,由于其强大的功能,支持开发2d,3d以及VR游戏的前提下,可以让游戏开发者把自己所制作的游戏发布至苹果电脑、微软电脑、Wii游戏机、苹果移动端、WebGL网站、微软手机和安卓等多个平台让更多的玩家参与到他们开发的游戏之中来,也可以通过插件发布到网页游戏中。其清晰的界面,细腻的各种功能,多样化的建模效果,丰富多彩的光影效果,强大的物理引擎,以及各种炫酷多彩的特效插件,让这个软件成为当前最受青睐的游戏引擎。甚至由于其特效高度细腻,让其他行业,例如电影,动漫等专业公司开始使用Unity来制作动画特效。Unity公司还为开发者量身定做了不同的版本,让需求不同的开发者或者开发企业能在不同的版本里进行选择和得到不同的技术支持。2.2.2 Unity3d的优势首先操作简单,容易上手,开发成本低。众所周知,一个开发软件受欢迎的程度绝大部分取决于这个软件是否能在短时间内被更多的的人所接受。于2010年面世的Unity游戏引擎可以说是掀起了一股游戏开发界的热潮。Unity3d通过其操作简单,界面可视化清晰、容易上手以及软件免费使用的原因吸引了大量的个人游戏开发者。更是在官方网页中提供了大量的学习视频,给大量的初入门的开发者们提供了学习的方便。其次是功能齐全,资源丰富。Unity3D为开发者提供了强大的技术支持,包括了强大的物理引擎Rigidbody组件、丰富多彩的灯光效果、真实的粒子系统、地图编辑器Tilemap、TimeLine等工具,为开发者在开发过程中提供了完整的功能效果。而且Unity还在软件中提供了资源商店Asset Store,在商店中为开发者提供了大量的游戏素材模型、音效、更加炫酷的粒子特效以及新的编辑器和脚本插件。给大量开发者以及开发团队带来了更为高级的开发体验以及便利。再次就是开发速度快。Unity3D开发软件在游戏开发的过程中是支持多语言开发的,其中就包括了python语言、LUA语言这两个所带来的纯脚本模式,在更加简洁,快速的模式下通过简单的代码提高了程序的效率。而在Unity3D中,脚本所用的语言更是C家族中的新宠儿C#,与其他的游戏开发引擎相比,其他游戏开发引擎大多数用的是C语言,在代码的使用效率上显然没有C#语言更加快捷,简便。再加上Unity3D为开发者提供了大量的功能以及资源下,短周期开发一个项目再也不是纸上谈兵。最后还有其他的优势。Unity3D在开发的过程中说使用的模型格式也是十分广泛,例如FBX格式、c4dl2格式、COLLADA、maxl格式等等,让开发者再开发游戏的过程里可以通过选择自己熟悉的建模软件对所需要的模型进行塑造。Unity3D是支持多个系统、游戏平台发布作品的,开发者可以通过对应的平台发布所需要的文件格式。在系统的指引下,下载不同的打包环境,把自己的作品进行打包,然后发布到对应的游戏平台上。但是,让人开心的是,开发者在游戏开发完成后,可以选择多平台发布,通过对应平台所需要的格式,对文件进行打包,从而做到一次开发,多次发布的效果,大大提高了项目的开发速率。2.3 Visual Studio的介绍Visual Studio简称VS,是由美国Microsoft Corporation开发的工具包,支持Unity开发过程中所需要的的脚本编辑,因为容易上手,软件系统占用率低,且本身支持C类语言、Basic语言、Java语言、以及部分版本支持由此以外的其他语言而广受使用。在使用VS编写代码时,VS会通过关联其他脚本的情况下,对编辑的脚本提供快捷提示编辑,大大的加快了开发者编写脚本的速率。而且VS中有dictionary库,里面有脚本所需要的所有函数的解释,成熟的开发者可以通过研究字典中的函数加大对脚本的理解以及应用编写。也可以在Unity商店中加入外部插件,提高脚本的函数运用。2.4 C#语言的介绍C#语言原名COOL,现也叫C Sharp。有美国Microsoft Corporation开发的面向对象的一种编程语言。在C类语言家族中,它是最后一个被开发出来的。但是最后诞生的它却吸收了其他语言的优点。让C#语言也成为了今几年来最被看好的语言之一,其抛开了以往C类语言的不能继承父类的通病,更是在开发过程中加入了大量Java语言中所没有的新的数据类型。更加简单,通用的C#语言让原本学习其他计算机语言的开发者在接触它后没有突兀感,在短时间内就能通过简单的自主学习后轻松上手,这可能是很多C+语言爱好者转粉的原因之一,也是众多游戏开发者喜欢C#语言的原因。2.5 开发软硬件1. 处理器(CPU):英特尔i7-6700HQ 处理器2.60Hz(i5或以上)2. 运行内存(RAM):8GB (4G以上)3. 操作系统:Windows 10教育版 64 位(Win 7或以上)4. GPU:Nvidia GeForce GTX 950M(2GB)或以上5. 显示器:分辨率1920*1080、刷新率60p Hz或更高清版本6. 3ds Max2014:用于对场景、人物、工具模型的搭建、贴图以及优化7. Visual Studio2017:用于对项目里所需的所有脚本的编写8. Unity 2018.4.4f1:项目制作的主要软件,用于完成项目的总流程制作9. 操作步骤:通过运行Unity所打包的.exe程序,选择对应的分辨率,点击开始即可2.6 本章小结这章主要把所需要的软硬件、编写语言、运行环境的详细介绍,通过让读者更加清晰的了解本项目开发过程所使用的工具。让玩家在通过了解本项目的过程里,了解每个项目背后从计划到落实的过程中,所要学习的软件技术。也通过介绍本想项目所需的软硬件以及语言环境,从而了解项目的前生后果,让玩家在阅读本章节的过程里知道项目诞生所使用的技术支持。 第三章 需求分析3.1 模拟器基本介绍本项目属于模拟经营类游戏,模拟游戏简称(SIM)。本次开发的项目主要通过模拟现实中牙科医生通过在虚拟3D游戏中对病人口腔问题进行查看后,通过对玩家的指引,让玩家选择对应的工具触发不一样的动作,通过播放视频的方式完成每一步的手术过程。在游戏过程中,玩家以第一人称视角进行游戏,通过键盘输入WASD返回指令,从而完成对游戏人物前后左右的操控。人物的视野是通过鼠标的晃动进行改变,在玩家接近患者一定距离时,会弹出相应的UI提示框架,游戏由多场景组合而成,在进入对应的场景后,玩家可以通过拖拽对应的工具对病人口腔进行不同的触发。如果在手术的过程中,玩家进行了错误的工具选择,那么将以扣分的形式扣去对应的分值。游戏流程如图3-1所示:图3-1 游戏流程图3.2需求分析系统功能需求系统功能如图3-2所示:图3-2 系统功能图通过系统功能图可以看出,系统主要由人物功能、场景功能和UI功能所组成,所以为了完场功能需求,我们需要加入以下需求:Timeline:实现人物动作实现功能Mixamo:提供更多Unity人物模型骨骼以及动作AsyncOperation:实现场景的异步加载Animation:实现UI动画的动态效果3.3 项目的可行性分析近年来,随着科技的快速发展,电子行业开始走入兴盛期,越来越多的优质游戏开始走进我们的生活,游戏这个名词开始成为了近几年的热点话题。优质的游戏给玩家带来了打击的快感,大大的满足了玩家的生活需求,为更多的人提供了更为丰富的生活。但是,随着游戏的快速发展,我们所面对的问题也逐渐扩大。对于年纪比较小的玩家来说,心智上的不成熟让他们很容易沉迷在通过打游戏而获得的虚无的快感中,有的更是为了得到更大的优越感,打击感而充值大量金钱。这也开始给人们打游戏更偏向于虚度时间,无所事事的印象。游戏是把双刃剑,随着大量游戏的面世,也随着社会问题的反馈,开始让这个让人又爱又恨的事物开始走向一个新的发展。“游戏+教育”既然拒绝不了他的来临,还不如大方地接受,让玩家在游戏的过程中学习,这个新盈的想法开始成为只为娱乐的游戏类型里脱颖而出。教育类游戏开始得到了大量家长以及学校的肯定。根据网易调查发现,教育类游戏符合社会所需要的正能量以及积极的态度,所以教育类游戏在未来是有非常强大的潜力。3.4本章小结本章节主要牙医模拟器的内容以及玩法进行介绍,让读者初步了解项目的操作要求,通过图形结合分析模拟器的功能需求,最后通过对社会热点的浅析以及了解社会需求后所得出的看法从而阐述项目的可行性发展。每个项目在开发前都要进行详细的规划,这一章节通过对需求的规划,市场价值的分析来引渡开发规划到开发过程中。第四章 系统设计通过对项目的规划和和分析,系统主要由以下五大模块组成,分别通过介绍系统中各个部分的所有功能组成的功能模块,场景中存在的以及游戏过程中使用的模型模块,游戏过程中场景,按钮组成的UI模块,还有让游戏更加生动的动画模块以及游戏剧情主要发生的场景模块。模块设计如图4-1所示:图4-1模块设计图4.1人物功能模块设计功能模块主要由人物控制模块、人物拾取物品模块组成。主要对游戏过程中人物的控制以及任务对物品的拾取,放下进行设计。1. 人物控制模块主要通过的脚本如下:1. public class PlayerMove : MonoBehaviour 2. 3. public float speed; 4. void Update() 5. 6. float MoveX = Input.GetAxis("Horizontal"); 7. float MoveY = Input.GetAxis("Vertical"); 8. transform.Translate(new Vector3(MoveX, 0, MoveY) * 9. Time.deltaTime * speed); 10. 11. 通过脚本创建的公有变量Speed,可以通过软件界面修改对应的Speed值从而改变玩家在运行中的移动速度。人物控制设计如图4-2所示:图4-2人物控制设计图2. 人物拾取物品模块主要通过的脚本如下:1. public class Pickup : MonoBehaviour 2. 3. RaycastHit hit; 4. GameObject dargGameobject; 5. public LayerMask draglayer; 6. public LayerMask planelayer; 7. 8. void Update() 9. 10. if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition),out hit,1000,draglayer) 11. 12. if (Input.GetKeyDown(KeyCode.Mouse0) 13. 14. dargGameobject = hit.collider.gameObject; 15. 16. 17. if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 1000, planelayer) 18. 19. if (Input.GetKey(KeyCode.Mouse0) && dargGameobject) 20. 21. dargGameobject.transform.position = hit.point+hit.normal; 22. 23. 24. if (Input.GetKeyUp(KeyCode.Mouse0) 25. 26. dargGameobject = null; 27. 28. 29. 该脚本本主要通过创建两个可获取物品材质的容器Draglayer和Planelayer来获取课抓取物品的材质,通过把场景中可移动的工具材质选取到对应的材质上,即可完成对所需物品的拾取移动5。脚本中主要运用了获取鼠标点击的位置通过二维转换成场景中的三维位置,所以在转换后会有少许的位置偏移。人物拾取设计如图4-3所示:图4-3人物拾取设计图人物拾取设计如图4-4所示:图4-4 人物拾取物品图4.2模型模块设计模型的创建主要通过3ds Max2014软件建模而成2。以下主要对所需模型功能进行介绍:1、医用棉签:用于检查患者口腔,擦除口腔中的异物以及对伤口进行简单的处理。2、医用针管:用于对患者进行口腔的麻醉操作。3、牙挺:在牙齿在拔除前对牙齿进行松动作用。4、拔牙钳:在手术中对所需操作的牙齿进行拔出操作。5、外科吸引器:对口腔多于液体进行吸出处理。6、外科手术刀:对口腔伤口位置进行处理。7、口腔模型:用于手术中模拟现实口腔操作。物品模型如图4-5、4-6所示:图4-5 物品模型图图4-6 物品模型图4.3场景UI模块设计场景模块包括了异步场景跳转模块以及场景内跳转模块。1.异步场景跳转模块异步场景跳转模块脚本如下:1. public class JzManager : MonoBehaviour 2. 3. public GameObject JzScreen; 4. public Slider slider; 5. public Text text; 6. public void JzNextlevel() 7. 8. StartCoroutine(Jzlevel(); 9. 10. IEnumerator Jzlevel() 11. 12. JzScreen.SetActive(true); 13. AsyncOperation operation = SceneManager.JzSceneAsync(SceneManager.GetActiveScene().buildIndex + 1); 14. /operation.allowSceneActivation = false; 15. while (!operation.isDone) 16. 17. slider.value = operation.progress; 18. text.text = operation.progress * 100 + "%" 19. yield return null; 20. 21. 22. 通过利用Unity自带的AsyncOperation来制作的异步场景加载,通过点击设定好的Button来触发场景加载页面,通过中断场景的运行,提前为后面场景素材进行预加载,提高游戏流畅性,完成加载后自动跳转到所需场景9。 异步场景加载页面如图4-7所示:图4-7异步场景加载页面图2.场景内跳转模块场景内UI设计如图4-8所示:图4-8场景内UI设计图场景内模块控制脚本如下:1. public class EnterDialog : MonoBehaviour 2. 3. public GameObject enterDialog; 4. private void OnTriggerEnter(Collider other) 5. 6. if (other.tag = "Player") 7. 8. enterDialog.SetActive(true); 9. 10. 11. private void OnTriggerExit(Collider other) 12. 13. if(other.tag = "Player") 14. 15. enterDialog.SetActive(false); 16. 17. 18. 通过创建共有变量Enter Dialog从而选择所要触发的碰撞器,让玩家在没碰到触发器的时候不显示对应的UI,当玩家触碰到碰撞器时才显示出对应的提醒框。场景内UI功能如图4-9所示:图4-9 场景内UI功能图场景间的显示与隐藏脚本如下:1. public class SwitchUI : MonoBehaviour 2. 3. public Transform Part1; 4. public Transform Part2; 5. private void Start() 6. 7. Part1.gameObject.SetActive(true); 8. Part2.gameObject.SetActive(false); 9. 10. public void Click1() 11. 12. Part1.gameObject.SetActive(false); 13. Part2.gameObject.SetActive(true); 14. 15. public void Click2() 16. 17. Part2.gameObject.SetActive(false); 18. Part1.gameObject.SetActive(true); 19. 20. 通过创建公共P1,P2加入组件实例所挂载的场景节点对象,利用UGUI中的按钮绑定事件,从而完成按钮触发脚本事件来完成场景间的显示和隐藏。UI场景间的显示与隐藏脚本模块功能如图4-10所示:图4-10 UI场景间的显示与隐藏脚本模块功能图4.4动画模块设计Unity3D中提供动画编辑模块Animation,通过记录物体所标识的拨通的状态并加以结合完成最终的动画效果,让原本静态的东西通过动态的切换让场景变得更加真实10。动画模块功能如图4-11所示:图4-11 动画模块功能图Timeline,Unity3D中提供动的实现对骨骼配对的人物或对象经行更细致化的动画搭配以及制作。人物骨骼配对如图4-12所示: 图4-12人物骨骼配对图人物骨骼对应节点连接动作如图4-13所示:图4-13 人物骨骼对应节点连接动作图动作拼接如图4-14所示:图4-14动作拼接图4.5 场景模块设计项目中所用到的场景为模拟小型室内建筑场景,主要模拟现实中牙医做手术的环境复现。主要有封闭式建筑模型一个、用于牙医做手术的手术椅一台、室内办工桌子、椅子、书架若干。场景模型设计如图4-11所示:图4-11 场景模型设计图场景手术椅模型如图4-12所示:图4-12 场景手术椅设计图4.6章节小结本章主要通过对项目的整体设计进行了详细的分析,通过对系统的各模块的功能设计进行详细的介绍以及部分功能脚本的解释,把系统制作的过程以及功能有了初步的讲解,让读者在阅读文档的时候可以更加清楚的了解系统的设计过程。也让系统在完成各模块设计有了初步的完成。第五章 系统测试本次测试主要对牙医模拟器进行各功能的初步测试,游戏测试作为任何一款作品完成所需要的测试,这对每一个项目来说都是一个必须要经历的过程,通过测试可以让我们更加直观的了解自己开发的系统是否存在bug或者一些隐藏性问题,从而对问题进行改善以及维护。本次测试主要以黑盒测试为主来对系统进行性能,安全性,功能以及兼容性测试,从而完成对项目的验收。系统环境测试:1.开发环境:window 10、Unity3d、3ds Max20142.项目名称:牙医模拟器3.版本号:1.04.客户端:window 7/window 10、PC端5.编程语言:C#5.1功能测试功能测试:通过对项目各个功能进行测试,确保项目在运行过程中能正常完成各项功能的操作,对测试过程中出现的问题进行及时的修复和完善。功能模块测试如表5-1所示:表 5-1场景、工具显示以及操作模块测试用例及测试结果表用例标识项目名称牙医模拟器用例作者叶培武模块名称场景、工具显示以及操作模块测试类型功能测试、黑盒测试、手工测试设计日期2020-02-20测试人员叶培武测试方法黑盒测试测试日期2020-02-20版本号1.0用例描述该用例用来测试在登陆游戏后场景,工具是否现实正常前置条件用户进入到开始界面登陆游戏编号测试项操作步骤预期结果数据测试结果备注1成功登陆系统功能1. 双击打开文件打包的.exe文件2. 选择对应的分辨率,图画质量以及对应显示器按play进入游戏1. 弹出Unity游戏登陆界面2. 登陆跳转到游戏界面无成功通过2游戏界面显示功能1. 点击登陆界面中的开始游戏按钮进入游戏场景中2. 移动鼠标控制人物视野1. 可以看到游戏界面中的游戏背景以及开始游戏按钮2. 跳转到游戏场景中可以看到对应的游戏场景以及工具无成功通过3游戏人物移动功能1. 点击登陆界面中的开始进入游戏场景中2. 通过按键WASD来控制玩家的前后左右移动1.人物在通过按下W键时向前移动,A键时向左移动,S键时向后移动,D键时向右移动无成功通过4游戏UI功能1. 登陆游戏到游戏场景中2. 通过键盘控制移动到npc前3. 点击所提示的按钮1. 登陆界面可以看到开始游戏按钮2. 靠近指点位置后有UI提示3. 点击UI后有页面跳转结果无成功通过5游戏人物拾取功能1. 登陆游戏到游戏场景中2. 通过键盘控制移动到npc前点击所提示的按钮到下一个场景3. 通过鼠标按键对场景中的仪器进行拖拽1. 人物在长按鼠标按钮拖拽不同的工具时,工具有明显的位置偏移2. 松开按钮后,场景中的工具停止偏移无成功通过5.2 性能测试性能测试:通过对项目各项性能进行测试从而确定项目的合理性。是使项目在开发中减少资源的浪费,以及充分利用硬件的使用率。性能模块测试如表5-2所示:表 5-2性能模块测试用例及测试结果表用例标识项目名称牙医模拟器用例作者叶培武模块名称性能模块测试类型性能测试、黑盒测试、手工测试设计日期2020-02-20测试人员叶培武测试方法黑盒测试测试日期2020-02-20版本号1.0用例描述测试牙医模拟器性能是否达到预期效果