第一篇:角色扮演游戏开发
摘要
目前,互联网“+”的全球化,游戏热潮早已经席卷全球,游戏的开发以及维护成为了一个行业,在游戏这个产业中 RPG 游戏(角色扮演游戏)无疑扮演的是一个至关重要的角色,为适应游戏行业的发展需求而提出本课题。本论文首先对 RPG 游戏进行概述,粗略的介绍 RPG 游戏的制作意义及行业发展前景。其次对游戏的开发软件 Unity 3D 以及开发语言进行简单的介绍。最后对游戏的构思、制作流程、素材、地图、模型、渲染、音效、事件处理、脚本编辑和游戏测试等做了详细阐述,对游戏的开发过程设计思路、构架做了详细的说明以及玩家操作游戏的功能键做了比较详细的介绍。
关键词:
RPG 游戏;Unity 3D;事件处理;脚本编辑
Absract At present, the Internet “+” globalization, the game boom has long been sweeping the world, the game development and maintenance has become an industry in the game industry RPG(role-playing game)game is undoubtedly playing a vital role , In order to meet the development needs of the game industry and put forward the subject.This paper first summarizes the RPG game, and introduces the production significance of RPG game and the development prospect of the industry.Second, the game development software Unity 3D and the development language for a brief introduction.Finally, the game concept, production process, material, map, model, rendering, sound effects, event handling, script editing and game testing made a detailed description of the game development process design ideas, the structure of a detailed description and the player operation The game“s function keys to do a more detailed description.Keywords:
RPG game;Unity 3D;event handling;script editing
目录 摘要..................................................................................................................................................I Absract...........................................................................................................................................II 1 绪论.............................................................................................................................................1 1.1 什么是 RPG 游戏.............................................................................................................1 1.2 游戏制作的意义...............................................................................................................1 1.3 RPG 特性...........................................................................................................................1 1.4 系统要求...........................................................................................................................2 2 技术支持.....................................................................................................................................3 2.1 PhotoShop..........................................................................................................................3 2.2 3DsMax..............................................................................................................................3 2.3 Unity3D 简介.....................................................................................................................3 2.4 脚本语言...........................................................................................................................3 3 需求分析.....................................................................................................................................4 3.1 功能性需求.......................................................................................................................4 3.3 场景需求...........................................................................................................................4 3.3.1 地形.........................................................................................................................4 3.3.2 Player 属性...............................................................................................................5 3.3.3 Enemy 属性..............................................................................................................5 3.4 交互需求...........................................................................................................................6 3.4.1 任务.........................................................................................................................6 3.4.2 商店.........................................................................................................................6 3.4.5 背包.........................................................................................................................7 3.5 设计可行性.......................................................................................................................7 4 详细设计.....................................................................................................................................9 4.1 情节...................................................................................................................................9 4.2 场景...................................................................................................................................9 4.2.1 场景搭建.................................................................................................................9 4.2.2 Lighting..................................................................................................................10
4.2.3 场景的加载...........................................................................................................10 4.2.4 贴图处理...............................................................................................................11 4.2.5 静态模型...............................................................................................................11 4.2.6 动态模型...............................................................................................................12 4.2.7 音效添加...............................................................................................................12 4.3 NPC..................................................................................................................................13 4.3.1 NPC 作用...............................................................................................................13 4.3.2 NPC 事件...............................................................................................................13 4.4 Enemy...............................................................................................................................13 4.4.1 Enemy 分类............................................................................................................13 4.4.2 Enemy 攻击值........................................................................................................14 4.4.3 Enemy 实例化........................................................................................................14 4.5 Player................................................................................................................................14 4.5.1 Player......................................................................................................................14 4.5.2 视觉控制...............................................................................................................15 4.5.3 Player 技能.............................................................................................................16 4.5.4 Player 等级.............................................................................................................16 4.5.5 Player 攻击和受伤害.............................................................................................16 4.5.6 Player 特效.............................................................................................................16 4.5.7 状态转换...............................................................................................................17 4.6 系统状态.........................................................................................................................17 4.6.1 Cursor 设置............................................................................................................17 4.6.2 SkyBox 设置..........................................................................................................17 4.6.3 小地图...................................................................................................................18 4.6.4 状态机...................................................................................................................18 4.6.5 数据读取...............................................................................................................19 4.7 背包系统.........................................................................................................................20 4.7.1 背包 UI..................................................................................................................20 4.7.2 背包功能...............................................................................................................20 4.8 技能系统.........................................................................................................................20
4.8.1 技能.......................................................................................................................20 4.8.2 技能特效...............................................................................................................21 4.8.3 HUDText................................................................................................................21 4.9 敌人攻击系统.................................................................................................................21 4.9.1 敌人数量...............................................................................................................21 4.9.2 敌人伤害...............................................................................................................22 4.10 系统设置.......................................................................................................................22 4.10.1 游戏暂停.............................................................................................................22 4.10.2 声音管理.............................................................................................................22 4.10.3 游戏退出.............................................................................................................23 4.10.4 游戏关于.............................................................................................................23 4.11 NGUI..............................................................................................................................23 4.11.1 NGUI 功能...........................................................................................................23 4.11.2 事件处理.............................................................................................................23 4.12 攻击平衡性...................................................................................................................23 4.12.1 命中率.................................................................................................................23 4.13 操作帮助.......................................................................................................................24 4.13.1 系统语言支持.....................................................................................................24 4.13.2 输入.....................................................................................................................24 4.14 三维量...........................................................................................................................24 4.14.1 坐标系.................................................................................................................24 4.14.2 向量.....................................................................................................................25 5 测试...........................................................................................................................................26 5.1 性能测试.........................................................................................................................26 5.1.1 物理测试...............................................................................................................26 5.1.2 UI 测试...................................................................................................................26 5.2 行为测试.........................................................................................................................26 5.2.1 流程.......................................................................................................................26 5.2.2 正常功能测试.......................................................................................................27 5.2.3 异常测试...............................................................................................................27
5.2.4 边界测试...............................................................................................................27 5.2.5 错误处理测试.......................................................................................................27 5.3平台发布.........................................................................................................................28 5.4 界面测试.........................................................................................................................28 6 结论...........................................................................................................................................32 参考文献.......................................................................................................................................33 致谢...............................................................................................................................................34
绪论 硬件的快速更新使得游戏行业在往 3D 方向发展,早前的 2D 显示状态并不能满足视觉的享受,随着技术的发展 3D 游戏尤其是 RPG 游戏的画面足以满足玩家的对视觉的需求,也是一个开发者对新领域的探索。Unity 3D 作为一个综合的全面的开发引擎受到开发员的青睐,此引擎能够一次开发,多平台发布,缩短开发周期,具有强大的内置开发工具和外置插件,就使得发开更加便利。
本课题以 Unity 3D 为工具进行开发,以打怪剧情为背景进行开发出一款适合视觉的 3D 的 RPG 游戏,以 VisualStuio 为脚本开发工具进行独立的制作。
1.1 什么是 RPG 游戏 RPG(Role Playing Game),目前对于创新化,3D 技术的日益强大给游戏带来了不可估量的发展动力,未来的单机在 3D 和跨平台性上更为卓越。对于技术成熟化,开发技术成熟和新程序员容易上手。而 Unity3D 引擎的多平台发布在游戏开发中占据主导地位,也是 3D 技术最成熟和最容易上手的开发工具。
1.2 游戏制作的意义
网络普及的今天,游戏的平台种类多达十余种,游戏种类也是多种各式,太多的人对游戏有依赖的情节,不管是电脑端的页游、端游还是移动端的手游都能成为大众娱乐的方式,游戏的娱乐不仅是为打发时间,还有开阔视野,沉浸其中,给玩家现实世界给不了得激情和刺激,就像有些爱车的人爱玩极品飞车,速度与激情并存,这种以游戏为娱乐的方式也算是一种放松,据研究表明,爱玩游戏还能锻炼一个人的智力,加速大脑的记忆开发,在游戏中学习、在学习中游戏,也似乎一种让人们在工作学习之余,享受游戏的快乐,也是一款游戏真正成功的意义。
1.3 RPG 特性 游戏发展到今天,种类多种多样,想象力超乎想象,各种类型的游戏带个玩家不一样的视觉和虚拟世界的体验感,作为角色扮演类型的游戏,带给玩家最直接的感觉,暴力和有主宰世界的欲望。RPG 游戏分门别类很多,大致可分为剧情派、战斗派、自由派三类。多变的游戏内容和剧情的多样性使得游戏情节更加
丰富,角色的成长往往也能和玩家产生虚拟的共鸣,沉浸性其中,关卡多样性,特效的丰富性,每次都能有不一样的新鲜感,有充足的想象力强大的 UI 设计扮演着整个游戏的互动性。各种交互事件错综复杂,可触发也可随机产生事件,尤其是对白,以一种最直接、最平滑的方式表白。它的三个基本特征:沉浸性、互动性和想象性,它们三者之间的关系如图:
图 图 1.1 游戏特性 1.4 系统要求 系统要求:Windows10x64 bit。
运行环境配置:DirectX 11 compatible。
CPU 处理器:I5 4200U 或更好。
设备内存:1G。
设备显卡:Intel(R)HD Graphics Family 显存 2 GB 或更好。
设备硬盘:3 GB。
技术支持 2.1 PhotoShop
Adobe Photoshop 主要处理以像素所构成的数字图片或位图构成的图像。本课题以此软件为工具进行图片、图像、贴图的处理。
2.2 3DsMax 它是 Autodesk 3DsMax 的简称,是拥有强大功能的三维动画制作和模型渲染的软件,它强大的工具集种类繁多类型丰富,可扩展性强,自定义工具栏能有助于团队合作开发,加快速度提高运用此引擎的开发速度,本课题以此软件为工具进行模型、动画、渲染的制作。
2.3 Unity3D 简介 此软件由 Unity Technologies 开发的一个轻松创建三维视觉的游戏、游戏可视化、实时三维动画等类型交互内容的多平台的综合型游戏开发引擎游戏工具。Unity 的视图界面简,游戏对象、脚本、事件、地形 简单易懂,并提供了向量等等技术使得开发人员易于理解。此引擎能够一次开发,多平台发布,缩短开发周期更加受到开发人员的青睐。
2.4 脚本语言 Unity 引擎支持多种开发机器语言,目前开发利用最多的语言是由微软开发的 Visual Studio C Sharp 语言,比起自带的 Mono 代码编辑器来说,它具有更强的稳定性,开发速度快,容易上手,易学习,本课题的运行平台是 Windows,利用此编译器是最佳的选择。
需求分析 3.1 功能性需求 本课题采用 3D 的展现方式,是一个基于 Windows平台的单机游戏。
游戏分为两个大的部分:地形和 UI,目前都已经实现了。地形的搭建为 UI的设计做了铺垫,UI 有了地形才能更好的展现它的价值,对于整个游戏所实现的的功能如下:
图 图 3.1 功能模块图 3.3 场景需求 3.3.1 地形 地形是游戏设计的一个重要部分,一个友好的地形能展现给玩家的最直接的心情感受,3D 游戏的视觉场景效果是二维游戏无法与之相比较的,场景搭建和地形设计时要符合现实的比例缩放,有层次的组件场景,即对虚拟场景按照层次结构划组建,模型放置位置合理,理清主次,减少对不必要场景的处理细化,减少运行时渲染对 CPU 资源的占用,对堆积的模型的种类有又明确的有规律可循的命名,便于见名知义。
本课题的场景是中世纪的农场,有房子、草木等地形搭建有关的物体。对于这些导入的资源合理的设置大小在整个农场中所在的位置,比例大小、功能作用等做出合适的调整,如下就是场景的设计图:
图 图 3.2 农场俯瞰图 3.3.2 Player 属性 对于一个游戏中最重要的一个 Object,Player 的各个属性都值的每一个玩家关注。丰富的属性能够增加游戏的乐趣。下图是 Player 属性图:
图 图 3.3 Player 属性图 3.3.3 Enemy 属性 对于一个游戏中最重要的是一个 Object,Enemy 在游戏中扮演者不可缺少的作用,它对于主角的成长、游戏情节的完整有这决定性的作用,对 Enemy 的设计不像 Player 复杂如下图的不完整属性需求:
图 图 3.4 Enemy 属性图 3.4 交互需求 3.4.1 任务 每一个 Player 都扮演着一个主导的作用,都要通过与其它 Object 交互获得信息,游戏中的任务是游戏情节设计的必要的环节,通过接受任务获取必需的物品、金币等,如下的任务图:
图 图 3.5 任务图 3.4.2 商店 作为与主角交互的另一个重要的环节商店,在这里可为其提供需要的物品,当然物品的属性也有多种多样的,如治疗药品、攻击兵器、防御穿戴等,这些物品的属性多种各式,加成攻击、血量增加、蓝量增加、穿戴防御等,这些属性与Player 的属性相对应,就是为其服务的,如下的商店图:
图 图 3.6 商店图 3.4.5 背包 背包系统,顾名思义就是为了存储 Player 的存储物品需求而设计的虚拟存储UI 系统,能够实现对物品的管理、属性信息显示、使用等功能,为 Player 的交互提供了便利。如下图的背包系统图:
图 图 3.7 背包系统 3.5 设计可行性 在整体的设计上,首先场景设计可行性,根据所学的建模软件和绘画技术能够在Unity引擎中利用引擎中强大的地形绘制工具绘制生成合理的适用性的地形场景,完成对场景的建立。
其次对于 Unity 引擎的高级使用,通过 Unity 为开发者提供了 Asset store 更加方便地学习和交流。因此 Unity3D 这款软件能够充分实现系统的需求。
最后 UI 的设计设计,利用 NGUI 的强大功能作为交互的设计,NGUI 稳定安全,当然还是以它的易学习,开发快为主。
对于整个系统还要做到以下:
稳定性:一次开发能够长期运行,不需要后期维护。
简洁性:代码整洁清晰,注释全面,结构明了,逻辑清楚。
易扩展性:一次开发后的框架可对其功能、角色添加。
详细设计 4.1 情节 本课题以中世纪农场为场景,村子受到外敌(狼)的入侵,需要有勇敢的勇士拿起手中的剑,保护村民,选择不同的角色控制不同的人物。与不同的 NPC 互动能够获取任务、金币、药水、武器装备,角色有等级、经验值、生命值、技能值,这些能够使角色获取更高的伤害和防御值,为击杀敌人做好准备并且能获得经验值,提升等级。游戏流程如下:
图 图 4.1 游戏流程 4.2 场景 4.2.1 场景搭建 地形绘制依照 Unity 自带的 Terrain 工具进行绘制简单的地形,大部分的Game Object 由 3Ds Max 导出 Fbx 格式的文件在导入到 Unity 里面进行放置、渲染等,此为静态的 Object,如房子、地板,而动态的树木、花草则由 Terrain 里面的绘制功能进行制作,系统的 Wind Zone 能产生风的效果使得效果更佳显著,Unity 自带的 Directional light 会产生灯光的效果。进而完成场景的搭建。
图 图 4.2 绘制地形工具 4.2.2 Lighting 为了保证场景的渲染稳定性,节约 CPU 效率和静态资源的加载速率才使用烘焙提高可执行性,对 Object 的 Lights、Renders、Terrains 做出烘焙之后,再次运行的时候,显卡和 CPU 不需要进行对环境光效果的运算,插值运算是 Unity的一个特色,在这个过程中速度非常快,即便实时的计算渲染人眼无法分辨,如果烘焙后,在运行时就能避免在游戏卡顿时出现出现不友好的画面,看起来游戏更加流畅,连续性更加明显,如下的设置是对 Scene 之间的加载做了预设性的加载。
图 图 4.3 烘焙图 4.2.3 场景的加载 在 Build Setting 里面加载 Scene 的索引,当某个事件触发时,调用方法就可场景跳转,即可实现对场景的加载。
图 图 4.4 BuildingSetting 图 4.2.4 贴图处理 贴图处理主要以网上下载和 Photoshop 制作的为主,进行修改、剪辑再加工处理,剪裁出适合游戏场景需要的贴图。贴图主要以 PNG 格式为主,利用 NGUI插件的 Atlas Maker 制作图集统一管理。如图:
图 图 4.5 AtlasMaker 4.2.5 静态模型 由3Ds Max导出的Fbx文件再导入到Unity引擎里面的时候贴图和可能会丢失,通过 Untiy 里面的 Texture 选项进行引用和修改贴图,某些模型需要添加 Box Collier 即是添加碰撞体、Rigidbody 等设置静态模型的物理属性,再增加灯光渲染显示出更好的视觉效果。
对导入的模型的进行位置、旋转、大小的再次调整,添加、设置此 Object的 Tag 便于 Object 与 Object 之间的相互引用是可通过这个 Tag 标签的 String 串找到要引用的 Object,而 Layer 的概念是设置不同的层次,根据此层可以让摄像机选择不同的层渲染,如小地图的设置,只能看到主角,而其它的看不到,不同的模型有不同的属性参数,可根据需要进行设置。
4.2.6 动态模型 动态模型主要是 Player 的动画,虽然 NPC 也是动态的,只是简单的 Idle 动画。
首先为导入的模型添加 Aimation 动画,创建有限状态机,在不同状态时可以改变不同的动画状态,如 Player 的 Atack、Death、Cast、Skill-MagicBall 等不同状态的动画,还要对 Player 添加 Character Controller,此 Component 属于控制类型,有模拟控制器的效果它的不同属性用于控制不同的效果。
图 图 4.6 动画图 4.2.7 音效添加 每一个导入 Unity 引擎的格式为 Mp3 的音频都是一个 Audio Clip,每一个声音片段要想播放需要一个声音源 AudioSourse 用于加载这个 Audio Clip,作为一
个 3D 的游戏,声音有远近不同的大小,作为整个游戏最重要的一部分 Main Camera 如同一双眼睛,所以还需要在此 Component 添加一个 Audio Listener 作为声音的监听器,AudioSource 是一个声音源头和 AudioListener 相当于一个喇叭从而共同协作控制整个声音。
4.3 NPC 4.3.1 NPC 作用 NPC 在本此课题中可以当作是一个商店和任务系统,在这个游戏中 NPC 扮演的是一个动态的模型,有简单的 Idle 动画。游戏中 Bar_NPC 是一个任务系统,角色可在此接受任务,并获取金币;Shop Drug_Npc 是一个药品,可在此购买药品;Shop Weapon_Npc 是个武器商店,可在此购买武器装备等。
4.3.2 NPC 事件 事件触发时游戏中最常用的事件判断之一,当检测到鼠标碰到 NPC 时,就会出发脚本里的鼠标检测 OnMouseOver()方法,此时的触发器会出发这个方法,并 不 会 能 让 此 刻 方 法 里 面 的 事 件,当 点 击 了 鼠 标 事 件 后 即 是Input.GetMouseButtonDown(0)事件成立,弹出该事件面板。
4.4 Enemy 4.4.1 Enemy 分类 根据剧情需要,本课题设置了三种 Enemy 类型的狼,根据大小和攻击力分别为 Wol fBaby、Wolf Normal、Wolf Boss,这三种角色都有 7 种不同的动画,可分为 Wolf–Attack1、Wolf–Attack2、Wolf–Idle、Wolf–Take Damage1、Wolf–Take Damage2、Wolf –Death、Wolf –Walk,让狼有不同的丰富状态。
图 图 4.7 动画图
4.4.2 Enemy 攻击值 Enemy 的攻击力是根据脚本定义的如下以 Wolf Baby 的脚本为例分析,State为 Idle,Hp 为 200,Exp 为 40 等等。
图 图 4.8 攻击属性图 4.4.3 Enemy 实例化 首先,建立一个 Create Empty Object,设置它的坐标,作为一个 Spawn 用于产生狼,设置一个时间标识位,计数要产生的狼,把狼做成 Prefabs,在 Update()函数里面实例化 GameObject.Instantiate 函数会在游戏加载的时候按照帧频率执行,能够实时监测。
4.5 Player 4.5.1 Player Player 作为一个游戏的主角之一,它由玩家直接控制,是和主角交互最直接、最频繁的角色,当角色模型导入在之后,CharacterController 是一个控制器能控制物体的移动属性,Animation 动画可根据动画类型加载动画,以便在不同的情景使用不同的动画效果,并把 Player 做成一个 Prefabs,在不同场景中能够节约内存的实例化和加载,添加 GameObject 的 Tag 并指定为是 Player,添加和设置Layer层次为UI,为了让UI的Camera的渲染出效果。通过控制CharacterController控制器控制移动属性,鼠标点击粒子系统实例化位置,它的动画状态机制,Hero类型、等级、名字、血量、蓝药量、获取经验值、攻击力值、防御值、攻击速度、治疗值、攻击状态、粒子系统、渲染、命中率、未命中率、鼠标锁定事件、UI渲染、事件处理等等,丰富角色的状态。
4.5.2 视觉控制 Player 是整个游戏的主角,也是整个设计的重点,主角的合适 3D 的视觉控制是一个游戏的亮点。主角的移动控制,首先获取屏幕的某个点,当鼠标点击屏幕时就会产生一个射线,自动检测屏幕上的点,如果这个射线检测到碰到的物体的 Tag 是 TagsC.ground 即地面时,获取这个点的坐标 Position,并记录下这个点,让主角朝这个点移动,改变状态由 Idle 动画给成 Walk 动画,根据记录的点,实例化一个点击特效,这个特效会即是在 0.38s 内消失,就产生了一个实例化后就消失的状态。
Player 的移动相对复杂,有很多的条件需要判断,而 Player 的视觉围绕和视觉跟随就显得简单了。首先视觉的跟随是获取 Camera 的坐标,在获取 Player 的坐标,两者的位置差就是一个固定的值,在 Update()函数里面,Camera 的位置总是有 Player 的位置加上两者的坐标差,不管 Player 的位置如果移动,Camera的位置总是跟随 Player;其次,视觉的缩放功能,只需要设置 Camera 和 Player插值之间的关系,当滚动鼠标中轮时,根据鼠标中轮返回的值的正负来增大和拉小视觉;最后,要控制 Camera 的 360 度旋转,只需要设置 Component 的 Rotate Around()方法,设置其参数,当按下鼠标右键时不松开时,向左或者向右拖动鼠标时 Input.GetAxis(”Mouse X“)就会返回一个正值或者负值,根据这个差量,改变 Camera 的 Transform 就能实现视觉的 360 度移动,同样的在上下移动时 Input.GetAxis(”Mouse Y“)也会返回相同的数值,实现上下视觉的反转,为了考虑不能看到地面以下的视角,这个旋转值会限制在十度和八十度的范围内,这就是视觉
的效果。
4.5.3 Player 技能 根据角色不同技能也有所不同,角色是剑士和法师,各属性分别如下:
图 图 4.9 技能属性图 4.5.4 Player 等级 Player 的等级共有 10 级,当杀死敌人狼时,角色的 Exp 的经验值会增加,当 Exp 达到 100%时会自动从零再增加,这时角色的等级就会加一,当加到一定的程度时技能键就可以实现。
4.5.5 Player 攻击和受伤害 当技能解锁以后,不用技能打出来的伤害如果能打中敌人伤害是 20,打不中就是 0,如果升级是在后,Player 的技能就会解锁,用技能伤害就会更高,在购买了武器后伤害就会加成,在 Player 技能里面做了详细的介绍。对于 Player上收到的伤害来说,如果是不同的敌人用不同的技能伤害不同,还有 Player 的防御力也会有削弱伤害值得效果,总之比较复杂和多变。
4.5.6 Player 特效 一个游戏的特效是非常重要的,本课题中的特效包括声音特效和粒子特效,音效最基本的作用是视觉的真实感,声音都能传达一定含义的想象力,而粒子特
效给人更多的脑补的场景,增加画面的渲染力和想象力,给予视觉冲击。对于玩家也是一种玩赏的乐趣。
4.5.7 状态转换 根据状态可分为HeroType、AttackState、PlayerState都记录在对应的枚举里面。HeroType有两种枚举类型Swordman、Magician和角色有关,用于区分角色,AttackState共有三种枚举类型的状态,对应着不同的状态,分别为Moving、Idle、Attack是角色正常状态的转换,而PlayerState对应着四种枚举类型的状态,对应着不同的转化的动画状态,这些动画状态对应的名的字分别为:HeroType-Death、HeroType-Control-Walk、HeroType-Normal-Attack、HeroType-Skill-Attack,这四种类型对应着对应的动画控制状态,为状态转化做了准备,也是程序所需要的必须状态。
4.6 系统状态 4.6.1 Cursor 设置 Untiy 引擎提供了强大的鼠标事件,打开 PLayerSettings 在 Dfault Cursor 里面选择一张 2D 的 Texture,即可设置它的默认状态的图标显示状态,这仅仅是简单的设置类型,当 Player 在不同的状态时会有不同的 Cursor 显示 Texture,首先对Texture做简单的设置,既是Cursor的方法SetCursor进行设置Textrre的类型,二维坐标,显示模式。它的显示控制和角色的状态转换有着必然的联系。
图 图 4.10 鼠标箭头图 4.6.2 SkyBox 设置
SkyBox 简称天空盒,是控制摄像机背景的样式的一个 Component,用于渲染天空盒的材质,包括6个纹理。这种材质应该用天空盒着色器(Skybox Shader),而每个纹理应该配置适当的全球的方向,有两种选择添加天空盒(Skyboxes)的方式。可以把他们添加到单独的相机(通常是主要的相机),或者通过渲染设置中(Render Settings”s)的天空盒材质(Skybox Material)属性来建立一个默认设置的天空盒(Skyboxes)。
图 4.11 天空盒图 4.6.3 小地图 首先创建一个 Camera 作为小地图的“眼睛”,放到合适的位置,在 Project面板下创建一个 RenderTexture,它能够实时的渲染出一个动态的视觉显示在一张贴图上,有动画的效果,指定 Camera 的 TargetTexture 属性,把新建立的RenderTexture 赋值给它,此时的 Camera 就会把照射的视觉显示在一个 Texture上,就有了小地图的效果。指定 Camera 的 Layer 属性,让它指定渲染曾,可以过滤掉不想渲染的事物,做到有选择性的交互。
4.6.4 状态机 一个游戏的状体机制简称 FSM 即是(Finite-Dtate Machine,FSM)的简称,是游戏角色状态的一种合理转换,根据场景的需要,有三种类型的角色,分别为玩家控制的角色、狼、NPC,各有不同的状态,下面对此分别作出分析。
对于 NPC 来说,是一个只有两种状态的状态机之间的状态的转化,有静止到抖动再到静止的状态转化,在本课题中,有三个 NPC,它们会在指定的 Position点来回摇摆,间隔一段时间后它自己会停止摇摆,保持静止,而后在间隔一段时
间后就会再摇摆。
图 图 4.12 NPC 状态图 对于 Enemy 狼来说它的动作状态有静止、Idle、攻击、行走、死亡这五种,这几种状态之间的转化有些是双向的,有些是单向的,如图所示:
图 图 4.13 Enemy 状态图 对于 Player 来说是相对比较复杂的状态的转换,由静止、Idle、行走、攻击、技能攻击、死亡这六种状态,这几种状态之间的转化有些是双向的,有些是单向的,如图所示:
图 图 4.14 Player 状态图 4.6.5 数据读取 本课题中的 UI 系统较为复杂,技能、物品以及各种属性种类多且杂,不适合在脚本中定义这些属性值,而且也不利于数据的修改、筛选和新增,为了满足游戏里面的需求,外置文本,只需要对文本进行管理,这种方式对内存的优化、处理速度都起到重要缓解作用,节省了 unity 引擎对游戏的运行的启动时间。
4.7 背包系统 4.7.1 背包 UI 利用 NGUI 的便利,创建相应的图集、字体集,对 UI 界面进行布局,给系统添加物品栏,能够购买、介绍、查看物品属性的面板,设置 Sprite 的属性 Tag的设置和编辑,Layer 的设置为 CameraAnim 即是只对 Camera 所在层进行渲染,给一个精灵添加 Buutton 脚本,添加 BoxCollider 碰撞组件,此时的精灵就是一个按钮了,它有个 OnClick 属性,可为其注册一个 Method,就能监听不同的事件,具有了按钮的功能,能够对事件监听、事件处理,添加一个 PlaySound 脚本,指定其 AudioClip 就能够播放声音。给 Package 添加 NGUI 脚本 UI Drag Object,重写 OnDragDropRelease 方法,能够实现拖拽功能。
4.7.2 背包功能 背包系统包括药品购买,装备购买、装备穿戴状态更新,UI 控制等。
药品的显示在 Shop 面板中,当游戏运行时,对应的物品的 Id、Icon、伤害值、价格、作用、属性都会从外部的数据中读取,读取后实例化加载,根据数据的分类读取到不同的脚本中,在商店中点击购买药瓶后输入数量,计算要购买的总价值,首先会和背包中的金币数值比较,如果小于金币数时就能购买,否则不触发事件,此后,就会在背包中的商店面板中显示购买过的物品和数量,这个过程在背包系统中是同步的,利用 Upadte 函数的实时性检测做到同步,当鼠标放置在物品上面时,触发IsHover的值为真,根据此条件就会显示此物品的属性值,当按下鼠标右键时就可以使用此物品,或穿戴、或恢复发力和血量等等,当物品是药瓶时,右键点击使用就会增加 Player 的属性值,如果是装备,和药瓶不一样的是它会在另一个装备面板中克隆出一个Icon来显示,在当前面板中消失此Icon,此过程就是物品穿戴的经过,穿戴后,Player 的 States 的属性就会增加,当在另一个装备面板中显示的 Icon 在鼠标右击就会卸下此物品的信息,卸下后对应的Player 的 States 的属性就会随之更改状态信息。
4.8 技能系统 4.8.1 技能 Player 的技能分为普通的打击和技能打击,普通的打击不用玩家控制,只需要在一定的范围内,达到命中率即可打出伤害,而对于技能伤害主要是由 UI 触
发控制的,在释放技能前首先得到该技能需要的蓝量,获得 Mp 之后,去释放这个技能,这是设计的思路。
对于技能伤害的制作来说,它是利用 NGUI 的强大功能工具栏实例化出一个工具栏 NGUITools.AddChild(Grid,GameObject,SkillItemPrefab)创建技能栏,建立合适的 Sprite,放置合适的位置,设置技能的等级,根据 Player 的等级来解锁,如果 Player 的等级不够,释放技能的功能就不能实现,如果达到等级时,释放技能前先要判断技能栏里面的技能类型,这里分为药和攻击技能,如果是药品,为Player 增加相应的 MP 和 HP,如果是技能攻击就切换状态,实例化粒子系统释放特效,根据技能的伤害减少敌人的血量。当然释放技能钱还有判断和设置技能的释放地点、持续时间、声音、消失等,丰富技能多样性。
4.8.2 技能特效 技能特效是 Player 是在释放的时候示例化出来的粒子特效,当释放技能的时候就会调用 Player 的 PlayerAttack 脚本的 UseSkill 方法,判断要实例化的特效,这四种状态的形势释放技能:主角活着的时候使用技能、主动地使用技能、鼠标锁定敌人的时候使用技能、被动的释放技能这四种状态,根据这些状态的不同选择不同的特效实例化。
Player 的特效有六中,分别是 CriticalStrike、Heal、BluerHeal、RangeMagic、One-HandQuicken、MageicSpher。首先把这些特效放在一个 Dictionary 字典集里面,然后从里面选择出需要的进行实例化,这样能够准确而且快速的达到效果。
4.8.3 HUDText 它的作用是将 Hudtext 脚本游戏对象在你的 UIRoot 和设置要使用的字体。让它跟着一个对象绘制另一个摄像头,将 UIFollowtarget 对同一对象并设置它的目标。使用 Hudtext 的函数代码,使用添加新的浮动文本条目。可以调整这个按键的 Hudtext 脚本,改变文本的运动适合系统的需求。
4.9 敌人攻击系统 4.9.1 敌人数量 敌人狼分为三种。小狼、正常狼、狼王,跟狼添加脚本对其数量实例化时间,地点进行控制,根据任务量和获取金币的多少在者就是 Player 的低等级的时候能打死的最大数量而定,小狼的数量为 5 只最为合适,在程序运行的时候实例化 5
只,只有当狼的数量减少了才会再次实例化狼的数量,在程序运行中这个数量一直在动态的保持数量的不变,及提高效率,有不会实例化太...
第二篇:幼儿园小班角色扮演游戏教案
幼儿园小班角色扮演游戏教案:小蜜蜂采花蜜 活动目标:
1. 初步学会看图谱并根据图谱进行节奏练习。
2. 乐意与同伴进行节奏活动,并能根据指挥灵活变换节奏。活动准备:
1. 节奏图谱一张
2. 指挥棒一根
3. 录音机 活动过程:
(一)导入部分
1.教师:“春天来了,好多花都开了,小蜜蜂正忙着采蜜呢,我们快点去帮帮它吧!(放〈〈蜜蜂做工〉〉的音乐做律动进场)
(二)出示图谱
1. 教师:“你们看花园的花多美啊,我们快坐下来欣赏一下。”(出示节奏图谱)
2.教师:“他们有什么不一样”(有的是一朵,有的两朵连在一起的)
3.(出示小蜜蜂)“现在小蜜蜂要来教我们采蜜啦!看好。(教师进行完整地示范一 遍 嗡嗡 嗡 嗡嗡 嗡
(1)提问:“刚才小蜜蜂是怎样采蜜的呢?”(引导幼儿说一朵就采一下,两朵就采两下)“谁愿意用你的小手来学一学(老师用口令帮助)
4.教师:“小朋友学的真好!小蜜蜂告诉我们每一朵花都要采到,两朵连在一起时要采快些(模仿嗡嗡),一朵花时可以采慢些(模仿嗡)“我们一起来试试”
(三)完整练习拍节奏
(1)教师:“我们一起听着好听的音乐在来学一学,好吗?(放音乐注意前奏让幼儿准备好)
(2)教师:“小蜜蜂说你们学的太棒了,它还想看一次呢,你们愿意吗?
(3)教师:“今天,我们向小蜜蜂学会了采蜜,真开心,大家一起来和小蜜蜂跳个舞吧!(小蜜蜂头饰)
(四)结束部分
教师:“谢谢你们我又要采蜜了,你们去吗?(出室)
温馨寄语:为了成为帅气漂亮幼师的好朋友,我们中国儿童教育网一直在努力,每天都在更新,下次一定要来哦。
第三篇:最新关于儿童教育角色扮演游戏发展
最新关于儿童教育角色扮演游戏发展
从儿童年龄特征来看,(迪诺少儿素质英语)游戏是儿童有意识有目的地通过模仿和想象反映周围现实的一种社会性活动,它有利于幼儿社会性的发展,因为在游戏中儿童要相互合作、协调,要习惯考虑同伴。
因此,在教育教学活动中重视游戏的发展和指导,具有极其重要的作用,现就对角色游戏对幼儿社会化的作用做简单分析。
角色游戏是幼儿按自己的意愿扮演角色,通过模仿和想象,反映现实生活,这一自然游戏最适合幼儿方面表现出来:
首先,通过角色游戏,可让幼儿掌握良好的社会性行为,学会人际交往的规则,在游戏中幼儿通过扮演角色,体验思想感情,如:扮演“营业员”时要用热情友好的态度对待顾客,扮演“医生”要用认真负责的态度对待病人,在游戏中幼儿能根据角色的行为来调节自己的行为,还能培养幼儿的自制能力。
如自家宝宝想要亲身体验,可到(迪诺少儿英语)和更多的小朋友一起游戏!
网上体验课报名进行中,带上您家的宝宝一起参与迪诺的大家庭吧!
第四篇:角色扮演总结
突发事件应急管理实训报告
一、实训名称:突发事件应急管理
二、实训目的通过角色扮演的实训,在模拟角色扮演,角色定位的情况下,充分发挥管理者在遇到一些突发事件的应对能力和实践能力。在角色扮演中应对突发事件时,使我们体验到管理者所应具备的领导素质和相关管理技能。
三、实训内容
一些群众到乡政府举报某村长违规出租土地给其小舅子投资办厂(印刷厂),请现场模拟该上访事件。
四、实践步骤(详细写出来)(这是重点)
1、确定突发事件。我组的突发事件命题是:一些群众到乡政府举报某村长违规出租土地给其小舅子投资办厂(印刷厂),请现场模拟该上访事件。
2、进行角色定位。根据确定的突发事件,进行组内角色定位。如:本人在此次突发事件中担任的就是某乡镇府的乡长……(此处可进行详细论述)
3、角色扮演演练。小组成员不定期的进行角色扮演的演练,在演练的过程中,能够深刻领会到此次角色扮演的精髓。……(此处可进行详细论述)
4、处理突发事件。根据之前的角色扮演演练,在选定的时间、地点,演示对突发事件的处理过程,将相关步骤及具体内容展现在指导老师廖老师及同学面前……(此处可进行详细论述)
5、组内小结成果。此次的角色扮演,获益匪浅。……(此处可进行详细论述)
五、实训结果
经过大家的讨论、分析以及相互协调配合,并在廖老师的指导下,使我们全面的了解了对突发事件处理的相关方法与步骤。在不同的角色扮演中,使我们对管理者对突发事件的应对能力及领导素质体现有了一个较为清晰的认识,能够将所学的相关知识应用到实际生活当中。
六、实验心得
通过此次的角色扮演,使我懂得了………(此处可详细论述自己的感悟及体会)
汇报人:公事管0901
郑锟
2011年12月12号
第五篇:教育游戏开发
教育游戏开发
张建勇
10100340118
教育技术学
在我看来,教育游戏最主要的作用就是充分引导学生向智力和兴趣方面发展。教育游戏的设计应该朝着什么方面呢?这个问题也就是开发教育游戏的关键,如果能轻易解答,那教育游戏又有多少质量呢?计算机辅助教育的发展和电子游戏在教育领域的逐渐应用,引起了教育游戏研究的升温。教育游戏越来越受到关注,以至于某个人想蒙混过关也是很难得,所以我们所设计的教育游戏也必须要有点水平才行。
教育游戏主要指能够培养游戏使用者的知识、技能、智力、情感、态度、价值观,并具有一定教育意义的计算机游戏类软件和传统的游戏活动。传统的游戏活动在幼儿教育和体育教育活动中经常使用,计算机及网络游戏类教育软件在我国尚属新生事物,但关于教育游戏的理论基础研究却可以追溯到柏拉图、亚里士多德时代。20世纪 80 年代,Bowman 开始尝试将电视游戏(Video Game)整合到教学设计中。
美国著名的游戏设计师、教育专家 Marc Prensky在2000年出版的《Digital Game-Based Learning》一书中详细地论述了基于数字游戏学习的概念、效果以及在教育、军事和培训中的应用和对于孩子们学习、成人的工作产生的作用。并预言21世纪的学习革命不是课程的数字化,学习的网络化,也不是无线、宽带、即时学习或学习管理系统的出现,而是学习不再伴有“痛苦”。游戏与教育的结合将改变“学习是苦差事”的传统看法,实现“在娱乐中学习、在学习中娱乐”的理想状态。国内关于计算机和网络类教育游戏的关注和研究基本上从本世纪初才开始,2004年,上海盛大公司为庆祝中国共产主义青年团成立85周年制作的教育游戏软件《学雷锋》再次引起了教育界人士对教育游戏的普遍注意。为了解我国教育游戏的研究状况,我们采用量化统计的方法,通过对中国知网收录的所有关于教育游戏方面的论文进行统计和分析,探析我国 “教育游戏”理论研究的现状和存在的问题,寻求解决的途径。
教育游戏与素质教育的研究文献只有10篇。研究的主要内容有:教育游戏在素质教育中的作用、教育游戏对素质教育的推动和发展、教育游戏与素质教育的关系等。
教师们打破传统思想品德教育方式,利用教育游戏进行思想品德教育和心理健康教育,通过网络游戏得到启示,促进学生的思想品德教育;运用沙盘游戏、体育游戏、户外游戏等活动对学生心理健康教育的影响和实践,探讨儿童心理游戏辅导的方法,虽然这一领域研究的文献数量不多,但这种新兴的教育方式已在学生的情感、态度、价值观教育中悄然而起,成为基础教育新课程改革形势下,完成“三位一体”教学目标的有效途径。
关于网络游戏、教育软件的研究文献有13篇。研究的主要内容有:教育游戏的开发,网络游戏在网络教育中的角色、教育特点、教育应用和功能、教育案例分析等。
拯救游戏沉迷者的研究主要有:青少年玩游戏的动机分析、影响分析;对游戏者的警惕教育、安全教育、教育策略、教育改革;针对游戏沉迷现象进行游戏 开发的策略研究,救助游戏沉迷者的建议、方法等。
那到底怎么来开发教育游戏呢?这个问题确实很广泛,也没有具体的方法。总之,所作出来的教育游戏能够有创意,有吸引力也还算可以。下面我觉得一般的设计开发教育游戏过程是这样的:
分析学生的教育需求,并对其心理状态加以判断。然后针对学生所需要的开始设计,在设计的过程中要将游戏的吸引力考虑进来。设计完后,那就是开始动手的时候,这段过程可能会很辛苦,但不是最重要的,我认为最重要的过程是设计过程。因为设计的思路和想法才能展现出游戏分量,才能够让学习者不仅可以学习知识,还能够感受游戏的魅力。
那有时候教育游戏和网络游戏却很难分清,那他两到底如何划分的呢? 根据荷兰学者胡伊青加的界定:“游戏是一种自愿的活动或消遣,这种活动或消遣是在某一固定的时空范围内进行的,其规则是游戏者自由接受的,但又有绝对的约束力,游戏以自身为目的而又伴有一种紧张、愉快的情感以及对它‘不同于日常生活’的意识。”网络游戏则指的是通过互联网所进行的一种游戏方式,是传统游戏的一种新形态和发展趋势。通过人与人之间的互动,达到交流、娱乐、休闲目的的新型游戏项目。
在国外,教育游戏的发展是怎样的呢?想要比较客观的认识中国的游戏教育现状首先就要对世界上游戏产品比较发达的地区进行一定的了解,在这些地区存在的游戏教育模式与形式都是我们非常好的教科书。为此,我们特地收集整理了一些资料,罗列出来并与国内的情况加以对比,以便让大家能够更加深入的了解到目前游戏教育的发展情况。
与欧美的对比
欧美游戏制作人才的培训,现在也大多是采用学院制,不过由于欧美的一些情况,他们的学院制与我们略有区别,正如美国的老师在进行教师专业培训之前必须完成大学学业一样,欧美的制作人才培训更注重的是基础和能力。
在欧美的职业教育训练,在游戏制作方面是极少的,很少看到针对游戏制作方面的职业培训机构。
因此欧美的游戏制作人才相对来说有更高的起点和基础能力,也正是因为这个原因,因此欧美专业的策划人才相对较少,欧美的策划人才基本是由程序员转型而成的,这也是欧美的游戏制作在背景创意方面极少具有突破的原因之一。
与日本的对比
日本是一个严谨的国家,同时由于日本的游戏制作业已经发展得非常成熟,因此他们的游戏制作人才,基本上都是由大学输送的,这个过程同样不包括策划人员。
专门的策划者培训专业在日本同样极为少见,日本的游戏策划人员大多由美术人员转型而成,极少有纯粹的游戏策划者,这也是日本的游戏艺术性更为明显的主要原因之一。
日本几乎所有的游戏公司都与某所大学达成了人才培养的合作协议,不论是任天堂还是SEGA,也不论是早稻田大学还是东大等,游戏公司与大学之间有千丝万缕的联系,可以说日本很少有游戏制作爱好者,只有极为庞大的游戏爱好者。
不过与欧美相比,日本存在有不少面向游戏制作的职业培训机构,这应当与日本人就业压力大和整体民族压抑性有关,其中主要的培训方向也是程序和美术。与韩国的对比
韩国有为数众多的游戏制作爱好者,因为他们的产业也非常年轻,因此,韩国的游戏制作业在几年前也没有一个良好的游戏人才培养体系。
不过值得注意的是,现在这样一个学院人才培养体系已经形成了,虽然规模和成熟等方面远不如欧美和日本。
由于韩国面积有限,加上对游戏制作几乎是倾力支持,因此韩国的游戏开发也是一个飞跃的过程,而之所以在这个过程中没有出现中国现在出现的人才断层,是因为韩国游戏开发者之间的沟通交流及资源共享要比国内强很多倍。
以引擎为例,在从国外引入一个引擎之后,韩国会动用官方的力量来对引擎进行综合的学习和分解,并且在分解学习后将所有的心得向所有从业者公开。
这样可以从整体上提升所有游戏制作者的能力,而在中国,虽然也想要这么做,但可行性会相差很多。
韩国同样有面向游戏制作的职业培训机构,不过由于功利问题和类似国内的浮躁心态,韩国也有很多人才方面的问题。相比两三年前,韩国游戏研发群体的整体心态已大不如前了,考虑到本文的着重点,在此略过不提。
由于韩国经历了一个类似的发展过程,因此国内机构在引入外来师资力量和课程体系时,可以适当考虑韩国的一些情况,当然由于跨度较大,可能会付出相对高昂的代价。
对于教育游戏,市场如何我却不是很了解。据我所知道的,国内目前这方面还不是很专业,市场不是很好。可是在国外,教育技术游戏确实非常热门的。相信在将来,教育游戏在我们国内也同样会受到关注,成为热门。
近几十年来,国内外对儿童游戏的大量研究表明:游戏对儿童情感的发展有着重要的影响,它在儿童适应社会,从一个自然的人走向一个社会的人的进程中所起的作用是其他任何手段不能替代的。在幼儿园,游戏是幼儿日常生活中最主要的活动方式,是一项重要的、具有较强意义的实践活动,是一项对幼儿情感影响极为丰富和强烈的实践活动。但是,目前关于发展游戏对幼儿情感影响的研究结果不尽如人意,以及60年代初游戏认知理论影响的不断扩大,导致有关游戏与情感发展关系的研究急剧减少。因此,本文针对此现象以及情感发展的重要性,论述了游戏在幼儿情感发展中的作用,并探讨了如何在游戏中培养幼儿的情感。旨在通过游戏促进幼儿情感全面健康的发展,更重要的是为游戏与幼儿情感关系的研究提供了理论上的依据。
教育游戏真的是很好的发展方向,但途中却是有很多荆棘的。只要你能够坚持下去,未来的世界就是教育的。无论你是谁,无论你是老人小孩,还是少年青年,还是无恶不作的罪犯,都必须要教育。这教育可好可坏,如果能将游戏化作为教育岂不是更好。教育在前行,人类文明在进步。