1、腾讯云游戏应用开发电子游戏概述01任务下载并安装Unity02任务熟悉界面与基本操作03任务准备工作学习图形界面模块04任务学习物理碰撞模块05任务学习UI模块06任务学习动画模块07任务魔盒世界08任务学习目标 了解游戏行业基本信息 了解游戏开发的基本步骤 熟悉Unity引擎的操作方式 熟悉Unity丰富多彩的集成功能 掌握Unity的常用模块1电子游戏概述电子游戏(Electronic Games)又称视频游戏(Video Games)或者电玩游戏(简称电玩),是指所有依托于电子设备平台而运行的交互游戏。根据媒介的不同多分为5种:主机游戏(或称家用机游戏、电视游戏)、掌机游戏、电脑游戏、街
2、机游戏和移动游戏(主要是手机游戏)。1电子游戏概述1.了解游戏类型(1)角色扮演游戏()角色扮演游戏(Role Playing Game),简称),简称RPG。所谓角色扮演游戏,就是指由玩家扮演一个或者数个角色,在世界观和故事背景完整清晰的世界中成长的游戏。1电子游戏概述1.了解游戏类型(2)动作游戏(动作游戏(Action Game),简称),简称ACT。动作游戏的核心玩法主要是由玩家控制游戏人物用各种武器消灭敌人、躲避陷阱等动作元素。1电子游戏概述1.了解游戏类型(3)格斗游戏()格斗游戏(Fighting Game),简称),简称FTG。在格斗游戏中,一般是由玩家操纵各种角色与电脑或另一
3、玩家所控制的角色进行格斗,相互攻击,直到将另外一方打倒。1电子游戏概述2.核心玩法 核心玩法就是在一款游戏中所出现的所有玩法里最频繁发生、有意识的交互行为。例如在角色扮演游戏里,核心玩法是剧情战斗。在跑酷游戏里,核心玩法就是“跑、闪、跳”;在射击游戏里,核心玩法就是射击;在换装游戏中,核心玩法就是换衣服。当然游戏的玩法可能不止一个,比如跑酷游戏里有剧情、射击游戏里有动作等。但是游戏必须有一个核心玩法,使游戏内容更为紧凑,提高用户体验。而非中庸到无法定位,从而丧失特点。1电子游戏概述3.目前流行的开发引擎(1)Cocos2dCocos2d基于MIT协议,开源并且免费。Cocos2d最初只有Coc
4、os2d-iphone版本,基于Objective-C开发,针对苹果平台游戏开发的引擎,之后Cocos2d-iphone引擎被广泛使用,接着派生出了Cocos2d-xC+版本,可以开发跨平台的手机游戏。近几年又出现了Cocos2d-lua和Cocos-js版本,更加丰富了Cocos的产品线,也给开发者更多的选择。1电子游戏概述3.目前流行的开发引擎(2)Unity3DUnity3D是Unity Technologies公司开发的专业3D引擎,开发者可以轻松创建如三维视频游戏、建筑可视化、实时三维动画等类型互动内容,它是多平台综合型游戏开发工具。由此可见,Unity3D并不局限于游戏领域,也满足
5、其他需要进行3D设计和应用的行业。Unity提供了一个功能完善的编辑器,支持运行在Windows和Mac OS X之中,可发布游戏至Windows、Mac、Wii、iPhone和Android平台。也可以利用Unity Web Player插件发布网页游戏,支持Mac和Windows的网页浏览。1电子游戏概述3.目前流行的开发引擎(3)Unreal虚幻引擎是由全球顶级游戏EPIC公司开发的为DirectX 9/10 PC、Xbox 360、PlayStation 3平台准备的完整的游戏开发架构,提供了游戏开发者需要的大量的核心技术、数据生成工具和基础支持。特点是开发相对简单,制作出的游戏画面较
6、好而且对硬件要求不高,很多经典游戏都是由虚幻引擎制作,包括荣誉勋章、战地之王等。1电子游戏概述4.美术风格从画面表现上来看,2D游戏至今仍然具备一些绝大多数3D游戏无法媲美的优点,最显而易见的一点就是:静态画面细腻精致,表现方式多样,容易做出独具特色的风格。而缺点便是:动态画面的表现资源量太大,如果做人物动作、角色换装就会消耗太大的资源量,且动态实现效果不如3D游戏好。1电子游戏概述4.美术风格1电子游戏概述4.美术风格Q版意味着可爱、精炼、活泼,头身比越接近1:1越趋向低龄化。写实意味着严肃、仿真、复杂。1电子游戏概述4.美术风格1电子游戏概述4.美术风格精度对于2D游戏来说,主要是指图片的
7、精度、细节的多少、分辨率的大小等。有传统意义上的“像素风”、“像素画”。这种风格在早期的掌机时代被广泛采用,其最大优势是风格化明显、节省资源、概括能力强并且开发成本低。1电子游戏概述4.美术风格1电子游戏概述4.美术风格3D游戏的中精度泛指红极一时的手绘贴图时代,采用平涂或是厚涂的原画、设计感高、唯美细腻、极具细节表现力,往往适合用来故事背景完整庞大或涉及多角色的大中型游戏中。由于手绘工作多,人力成本较高。1电子游戏概述4.美术风格1电子游戏概述4.美术风格高精度有人们常说的矢量图、全局光照、次时代技术,其画面效果更适宜表现出商业感和潮流感,对性能要求较高。1电子游戏概述4.美术风格2下载并安
8、装Unity2下载并安装Unity2下载并安装Unity2下载并安装Unity2下载并安装Unity2下载并安装Unity2下载并安装Unity2下载并安装Unity2下载并安装Unity2下载并安装Unity2下载并安装Unity2下载并安装Unity2下载并安装Unity3熟悉界面与基本操作1.Unity界面介绍GameSceneInspectorHierarchyProjectToolBar3熟悉界面与基本操作2.Unity基本操作操作名称操作方法平移视角方法一:当光标落在场景视图上时,按住鼠标中键拖动,可平移视角。方法二:选择抓取工具(或按Q键),按住鼠标左键拖动,可平移视角缩放视角方
9、法一:当光标落在场景视图上时,滚动鼠标中键,可缩放视角。方法二:当光标落在场景视图上时,按住Alt键再按住鼠标右键拖动,可缩放视角旋转视角方法一:当光标落在场景视图上时,按住鼠标右键拖动,可旋转视角。方法二:当光标落在场景视图上时,按住Alt键再按住鼠标左键拖动,可旋转视角 飞行模式当光标落在场景视图上时,按住鼠标右键,可以通过WASD进入飞行模式3熟悉界面与基本操作2.Unity基本操作操作名称操作方法快捷键复制选中物体,右键唤出快捷菜单,选择Copy命令或在主菜单栏中选择EditCopy命令Ctrl+C粘贴选中物体,右键唤出快捷菜单,选择Paste命令或在主菜单栏中选择EditPaste命
10、令Ctrl+V直接复制选中物体,右键唤出快捷菜单,选择Duplicate命令或在主菜单栏中选择EditDuplicate命令Ctrl+D删除选中物体,右键唤出快捷菜单,选择Delete命令或在主菜单栏中选择EditDelete命令Delete重命名选中物体,再单击物体(并非双击物体)F2移动直接拖动物体到指定位置 查找在搜索框中输入查找对象的名称或者输入“t:查找类型名称”用来查找某一类型的所有资源,例如t:cameraCtrl+F全选在主菜单栏中选择EditSelect All命令Ctrl+A保存场景在主菜单中选择FileSave Scene命令Ctrl+S新建场景在主菜单中选择FileNe
11、w Scene命令Ctrl+N3熟悉界面与基本操作2.Unity基本操作操作名称操作方法快捷键创建物体在主菜单栏中的GameObject下拉菜单中选择要创建的物体,或通过Create列表选择需要创建的物体或通过右键唤出快捷菜单再选择要创建的物体无移动在工具栏中选择移动命令,再通过鼠标左键编辑指示器W旋转在工具栏中选择旋转命令,再通过鼠标左键编辑指示器E缩放在工具栏中选择缩放命令,再通过鼠标左键编辑指示器R变换在工具栏中选择变换命令,再通过鼠标左键编辑指示器T聚焦双击某游戏对象,或者在主菜单中选择EditFrame SelectedF顶点捕捉只有在移动模式下使用V对齐到视图在主菜单中选择Game
12、ObjectAlign With ViewCtrl+Shift+F移动到视图在主菜单中选择GameObjectMove To ViewCtrl+Alt+F移动视图到选择对象在主菜单中选择GameObjectAlign View to Selected无取消激活在主菜单中选择GameObjectToggle Active State或在监视面板中关闭名称前面的对勾Alt+Shift+A4学习图形界面模块1.照明光源类型描述Directional Light平行光一个照亮整个场景的方向光,没有范围,没有衰减,常用来模拟天光Point Light点光光源是一个点,照亮四周,有范围,可以有衰减Spot
13、light聚光灯光源是一个点,承锥形照亮一片区域,有范围,可以有衰减Area Light区域光光源是一个面,照亮面朝的方向,相当于有范围的平行光,有衰减Reflection Probe反射探针记录一片区域的环境,当具有反射能力的物体进入区域时,会为其提供实时的反射影像Light Probe Group光探针组记录一片区域的灯光信息,当有物体进入区域时,会为其提供实时光照自发光使物体本身具备发光能力,照亮四周4学习图形界面模块1.照明4学习图形界面模块1.照明4学习图形界面模块1.照明4学习图形界面模块1.照明4学习图形界面模块1.照明4学习图形界面模块1.照明Unity可以计算复杂的静态照明效
14、果,通过使用一种叫做全局照明(Global Illumination,简称GI)的技术,并将照明结果存储在一个名为灯光贴图(lightmap)的参考纹理图中。这个计算过程被称为烘烤(Bake)。4学习图形界面模块2.材质、着色器和纹理 材质材质定义了一个表面(surface)应该如何渲染,为其设置了纹理、平铺信息(Tiling and Offset)、颜色(Color Tints)等选项。材质具体的可用选项取决于它所使用的着色器。着色器是一些小的脚本,它包含根据照明输入和材质配置得到每个像素的颜色所用到的计算过程和算法。纹理是一批位图图像。着色器会在计算一个游戏对象的表面颜色时用到材质所引用的
15、纹理。除了物体表面的基本颜色(Albedo),纹理还可以代表材质表面的许多其他方面,比如反射率或粗糙度。5学习物理碰撞模块1.刚体(RigidBody)概述刚体是使游戏物体(GameObject)拥有物理行为的主要组件(Component)。添加刚体时,物体会立即响应重力(gravity)。如果还添加了一个或多个碰撞器(Collider)组件,游戏物体将接收物理碰撞。5学习物理碰撞模块2.碰撞器(Collider)碰撞器(Collider)组件定义了物体在计算物理碰撞时的形状。碰撞器是不可见的,不需要与游戏对象的网格形状(Mesh Filter)完全相同。事实上,一个碰撞器的形状只需要粗略地近
16、似游戏对象的网格形状,在游戏中往往发现不了区别而且更有效率。5学习物理碰撞模块3.物理材质(Physics material)当碰撞器相互作用时,它们的表面需要模拟它们所代表的物质的性质。例如,一块冰会很滑,而橡胶球则会产生很多摩擦力(Friction),而且非常有弹性(Bounciness)。虽然碰撞时碰撞器的形状并没有改变,但它们的摩擦和反弹可以用物理材质来配置。5学习物理碰撞模块4.触发器(Trigger)当发生碰撞时,脚本系统可以检测到并触发OnCollisionEnter函数。然而,也可以使用物理引擎来检测当一个碰撞器进入另一个的空间而非产生碰撞的情况。一个碰撞器配置为触发器(使用I
17、s Trigger属性)后并不表现为一个实体对象,只会让其他碰撞器通过。当碰撞器进入空间时,在触发对象的脚本上调用OnTriggerEnter函数。5学习物理碰撞模块5.脚本操作上采取的碰撞当发生碰撞时,物理引擎会在涉及对象的脚本上调用具有特定名称的某些函数。开发者可以将任何代码放置在这些函数中,以响应碰撞事件。例如,当一辆车撞到障碍物时,需要播放碰撞音效。在探测到碰撞的第一帧,调用OnCollisionEnter函数。在保持接触后的每一帧,会调用OnCollisionStay。最后,OnCollisionExit表示这一帧离开接触。触发器碰撞器调用类似的OnTriggerEnter、OnTr
18、iggerStay和OnTriggerExit函数。注意,对于二维物理,有等价的函数,例如OnCollisionEnter2D。在正常的非触发器碰撞中,有一个额外的细节,那就是涉及碰撞的对象中至少有一个必须具有非运动学刚体(即Is Kinematic必须关闭)。如果两个物体都是运动学刚体,OnCollisionEnter就不会被唤起。但是触发碰撞中并没有这种限制,运动学和非运动学刚体都将在进入触发碰撞器时调用OnTriggerEnter。6学习UI模块1.画布Canvas是所有UI组件的容器,所有UI组件都必须是画布的子物体。Canvas对应了3种Render Mode(渲染模式)渲染模式说明
19、Screen Space-OverlayUI元素相对于屏幕空间,以2D方式显示在任何相机画面的上面。这就是标准的UI模式Screen Space-CameraUI元素相对于屏幕空间,由指定的相机负责显示,相机的参数会影响显示的结果,可以把Canvas理解为相机的子物体World SpaceUI元素相对于世界空间,和其他场景里的物体一样,也有世界位置、遮挡关系,可以把界面当做3D空间中的面片6学习UI模块2.EventSystem事件系统创建Panel后,Canvas和EventSystem都会被自动创建。EventSystem负责监听用户的输入,监听的内容包括键盘、鼠标和触摸屏幕。当需要屏蔽用
20、户输入时,只要将EventSystem关闭即可。6学习UI模块3.RectTransformRectTransform是UGUI元素所特有的组件,它继承自Transform,用于实现界面的布局和层次控制。相比于Transform,RectTransform增加了一些元素。属性说明Pivot轴心表示UI元素的中心,使用相对于自身矩形范围百分比表示的点位置,如默认的(0.5,0.5)表示正中心Anchor锚点锚点是UI对象相对于父矩阵中固定的量,在属性面板中用anchor.Min和anchors.Max表示UI对象各个边界的百分比位置SizeDelta尺寸变化量尺寸变化量sizeDelta是UI对
21、象的尺寸变化量,可以将其理解为锚点固定UI对象的位置,sizeDelta将控制UI对象的尺寸6学习UI模块4.事件触发如果界面上有按钮,一般单击按钮理应发生某种事情,这便会涉及UGUI的事件触发。触发事件可以有多种方法,下面先介绍一种“用Unity3D编辑器操作”的方法。以Button为例,属性面板中有OnClick()一栏,代表按钮被按下的事件,只要编写该按钮事件,然后设置OnClick()属性即可实现触发事件。7学习动画模块1.动画系统概述Unity具有丰富而复杂的动画系统,称为Mecanim系统。它提供了:为人形角色提供的简易的工作流和动画创建能力。Retargeting(运动重定向)功
22、能,即把动画从一个角色模型应用到另一个角色模型上。针对Animation Clips(动画片段)的简易工作流,即针对动画片段以及它们之间的过渡和交互过程的预览能力。这样可以使动画师更加独立地进行工作,而不用过分地依赖于程序员,从而在编写游戏逻辑代码之前即可预览动画效果。一个用于管理动画间复杂交互作用的可视化编程工具。通过不同逻辑来控制不同身体部位运动的能力。7学习动画模块1.动画系统概述7学习动画模块2.Mecanim工作流Mecanim工作流被分割为3个主要阶段:(1)资源的准备和导入)资源的准备和导入这一阶段由美术师或动画师通过第三方工具来完成,例如3ds Max或Maya。(2)角色的建
23、立,主要有以下两种方式)角色的建立,主要有以下两种方式 人形角色的建立。Mecanim通过扩展的图形操作界面和动画重定向功能,为人形模型提供了一种特殊的工作流,它包括Avatar的创建和对肌肉定义(Muscle Definitions)的调节。一般角色的建立。这是为处理任意的运动物体和四足动物而设置的。动画重定向和IK功能对此并不适用。(3)角色的运动)角色的运动这里包括设置动画片段及其相互间的交互作用,也包括建立状态机和混合树、调整动画参数以及通过代码控制动画等。7学习动画模块3.动画剪辑Animation Clip动画剪辑是Unity动画系统的核心元素之一。Unity支持从外部源导入动画,
24、并且能够使用动画窗口在编辑器中从头创建动画剪辑。从外部来源导入的动画剪辑可以包括:从人形动画中捕捉。由艺术家在外部3D应用程序(如3ds Max或Maya)中创建的动画。来自第三方图书馆的动画集(比如Unity的商店)。从导入的时间轴中切割出来。Unity的Animation窗口也允许创建和编辑动画剪辑。以下这些属性可以创建动画:游戏对象的位置、旋转和缩放。成分属性,如材料的颜色,光的强度,声音的体积。开发者自己的脚本中的属性包括浮点数、整数、向量和布尔变量。在开发者自己的脚本中调用函数的时间。7学习动画模块3.动画剪辑Animation Clip7学习动画模块4.Animator组件任何一个
25、拥有Avatar的游戏对象都同时需要有一个Animator组件,该组件是关联角色及其行为的纽带。7学习动画模块4.Animator组件Animator组件中还引用了一个Animator Controller,它被用于为角色设置行为,这里所说的行为包括状态机、混合树(Blend Trees)以及通过脚本控制的事件(Events),具体包括:Controller:关联到该角色的Animator控制器。Avatar:该角色的Avatar。Apply Root Motion:是使用动画本身还是使用脚本来控制角色的位置。Update Mode:动画的更新模式。Normal:同步更新,动画速度与运行速度相
26、匹配,运行速度慢,动画慢。Animate Physics:动画是有物理的相互作用时用此模式。例如,人物可以推动周围的刚体。Unscaled Time:不成比例的时间,动画忽略当前的运行速度。Culling Mode:动画的裁剪模式。Always Animate:总是启用动画,不进行裁剪。Cull Update Transforms:更新裁切。Cull Completely:完全裁切。7学习动画模块5.Animator窗口动画窗口允许创建、查看和修改动画控制的资源。在菜单栏选择WindowAnimator可以打开Animator窗口。窗口有两个主要部分:主网格布局区域和左侧的层/参数面板。主网格
27、布局中可以创建动画状态机,动画状态机可以是一个动画剪辑(Clip)也可以是一个动画混合树(Blend Trees)。每一个层中有唯一的默认动画状态机,作为整个动画的起点。动画状态机之间会有过渡来控制它们之间的切换。参数视图允许开发者创建、查看和编辑动画控制器参数,这些参数可以被脚本调用,然后来控制动画状态机之间的过渡。层视图允许开发者创建多个层。层常见的用法就是用一个层控制角色下半身的动画,一个层控制角色上半身的动画。8魔盒世界1.游戏定位游戏名称BoxWorld(魔盒世界)类型定位多人在线第一人称视角射击游戏技术选型Unity3D核心玩法通过控制蓄力时间、移动跳跃、瞄准预判、穿越地形、与队友配合来对敌人造成打击美术风格3D、Q版、低精度8魔盒世界2.游戏流程8魔盒世界3.客户端运行效果8魔盒世界3.客户端运行效果8魔盒世界3.客户端运行效果8魔盒世界3.客户端运行效果8魔盒世界3.客户端运行效果8魔盒世界3.客户端运行效果8魔盒世界3.客户端运行效果ThankYOU!