国内畅销Unity品牌图书新版!Unity一线资深开发者倾力打造!融入大量实战经验、知识讲解与设计思路,帮您充分理解Unity的真正精髓!千百万Unity游戏开发读者学习的选择Unity自学教程!
假如你是零基础学Unity的菜鸟,却想用短时间掌握基础技术,请看本书!
假如你有一定的Unity基础,想深入了解Unity游戏开发的奥秘,却不想花天价参加培训,请看本书!
假如你是Unity游戏开发从业者,需要用Unity进行设计,想让同事和老板对你刮目相看,请看本书!
如今游戏市场竞争激烈异常,开发游戏的速度与质量至关重要。Unity游戏引擎完美解决了快速迭代与高质量同步的问题。本书用全实例的方式系统讲解Unity3D与Unity2D的综合实操全流程。本书是动漫、游戏专业学生,以及动漫、游戏开发公司工作人员的生存手册。
《Unity权威指南:Unity 3D与Unity 2D全实例讲解》全面介绍了Unity3D界面、资源管理、场景创建、脚本及变量、GUI图形用户界面、Unity地形引擎系统、输入与控制、角色控制器组件、物理引擎介绍、Unity粒子系统、树效果、射线碰撞检测、Mecanim动画系统、Mecanim高级主题、Mecanim射击类游戏实例、Mecanim与自动寻径应用、UnityNative2D工具、2DrigidBody刚体等内容。
角色控制器
在Unity中有两种常规的角色控制方式,一种是Rigidbody(刚体),而另一种是最常用的也是最标准的就是使用角色控制器组件,角色控制器组件常用于第三人称与第一人称的角色控制中。使用角色控制器,用户可以使游戏中的角色,实现如移动、滑动、上下楼梯等等比较复杂的动作,角色控制器本身并不是纯物理的,但由于其内置一个胶囊状的碰撞体,因此他可以进行碰撞检测。从而实现在某些物体上的滑动或移动等效果,并可以与其他的物体如刚体等发生碰撞反应,例如把其它的刚体推开等等的效果。
第一人称角色控制器
接下来,就以第一人称角色控制器为例,来了解下Unity角色控制器组件。在Unity标准资源包中,提供了第一人称角色控制器预设,在使用时可以直接拖动预设到层次视窗中来进行使用。在标准资源包中的第一人称的角色控制器中,包含有两个子物体,一个是图形子物体,另一个是主摄像机物体,图形子物体主要是一个胶囊状的物体。由于第一人称角色控制器的视角特性是看不到自身,因此,此图形子物体,只是第一人称角色控制器的图形描述,主要帮助用户可在场景视图中查看角色控制器的位置,在实际使用时,用户可以关闭此图形子物体的渲染。而角色控制器中的主摄像机物体,则相当于角色控制器的眼睛,用于观察和渲染当前场景,既可以模拟角色的眼睛,因此它一般处于角色控制器的顶部,此处胶囊物体我们也可以理解为角色的大致外形,用户也可以通过调节来改变主摄像机物体在角色控制器中的位置。而角色控制器中的主摄像机物体,则相当于角色控制器的眼睛,用于观察和渲染当前场景,既可以模拟角色的眼睛,因此它一般处于角色控制器的顶部,此处胶囊物体我们也可以理解为角色的大致外形,用户也可以通过调节来改变主摄像机物体在角色控制器中的位置。
第一人称角色控制器组件构成
对于第一人称角色控制器,在场景中按WASD键可以进行自由的漫游,按空格键可以进行跳
跃,我们还可以拖动鼠标来设置前进的方向等的功能。在层次视图中选中,第一人称角色控制器物体。在它的属性视窗中,我们可以看到除了常规的Transform组件外,它主要由以下组件及几个脚本组件来实现其第一人称场景漫游的效果。
……
第1 章 Unity 3D界面介绍
1.1 Unity 的标题栏
1.2 菜单栏
1.2.1 file 菜单
1.2.2 Edit 菜单
1.2.3 Assets 资源菜单
1.2.4 GameObject 游戏物体菜单
1.2.5 Component 组件菜单
1.2.6 Terrain 菜单
1.2.7 Window 菜单
1.2.8 Help 帮助菜单
1.3 工具栏
1.4 项目视窗
1.5 层次视图
1.6 场景视图
1.6.1 场景变换图标
1.6.2 视图工具条
1.7 游戏视图
1.8 Inspector(属性)视窗
第2 章 资源管理
2.1 内部资源
2.1.1 新建项目
2.1.2 内部资源创建
2.2 外部资源创建及导入
2.2.1 模型输出设置
2.2.2 角色动画的输出及导入
2.3 材质和着色器
2.3.1 材质、纹理、着色器
2.3.2 材质、着色器应用实例
2.4 2D 纹理和Movie 纹理
2.5 声音文件
2.6 Asset Store(资源 Store)
2.7 Prefab( 预设 )
2.7.1 Prefab( 预设) 创建及属性视窗操作
2.7.2 运行实例化
2.8 Project 视窗搜索功能
2.8.1 资源文件显示和管理
2.8.2 资源创建和搜素
2.9 资源输入原理
第3 章 场景创建
3.1 游戏物体与组件
3.1.1 物体和组件
3.2 属性视窗的使用
3.2.1 属性编辑
3.2.3 多物体编辑
3.2.4 属性视窗菜单
3.3 场景视图操作
3.3.1 场景浏览
3.3.2 场景物体定位
3.3.3 场景物体标识
3.4 灯光和摄像机
3.4.1 Unity 灯光
3.4.2 Unity 灯光
第4 章 脚本及变量
4.1 脚本及变量
4.1.1 脚本创建
4.1.2 使用变量
4.2 游戏物体组件访问
4.2.1 游戏对象成员组件的访问
4.2.2 自定义组件访问
4.3 游戏物体间访问
4.3.1 引用物体
第5 章 GUI图形用户界面
5.1 UnityGUI 原理介绍
5.1.1 GUI 控件使用
5.1.2 GUI 控件声明
5.2 常用控件及使用
5.2.1 标签控件
5.2.2 按钮控件
5.2.3 文本输入框控件
5.2.4 开关按钮控件
5.2.5 水平滑块和垂直滑块控件
5.3 复合控件及使用
5.3.1 工具条控件
5.3.2 选择网格控件
5.4 UnityGUI 群组视图控件及使用
5.4.1 UnityGUI 群组视图控件
5.4.2 使用嵌套组
5.5 GUI style 及创建自定义风格组件
5.5.1 使用自定义的GUI 风格
5.5.2 GUI Skin 应用
5.6 GUILayout 控件及使用
5.6.1 GUILayout 控件
5.7 动态窗口添加及使用中文字体
5.7.1 窗口控件使用
5.7.2 窗口控件定制
第6 章 Unity 地形引擎系统
6.1 地形系统工作流程
6.1.1 Unity 中地形创建
6.1.2 Terrain 菜单命令应用
6.2 地形编辑
6.2.1 地形编辑工具
6.2.2 地形纹理绘制
6.2.3 添加树木、植被等地形元素
6.3 地形设置及公路效果创建
6.3.1 地形设置
6.3.2 公路效果创建
第7 章 输入与控制
7.1 Unity 输入管理
7.1.1 虚拟轴定义
7.1.2 虚拟轴选项设置
7.2 虚拟轴应用及键盘事件
7.2.1 虚拟轴应用
7.2.2 键盘检测
7.3 鼠标事件与GUI 系统双击检测
7.3.1 鼠标检测
7.3.2 GUI 系统双击检测
第8 章 角色控制器组件
8.1 角色控制器
8.1.1 第一人称角色控制器
8.2 第一人称角色控制器组件构成
8.2.1 角色控制器组件
8.2.2 Character Motor( 角色引擎) 脚本
第9 章 物理引擎介绍
9.1 物理引擎介绍
9.1.1 刚体使用及选项设置
9.1.2 实施刚体力
9.2 刚体碰撞及消息传递
9.2.1 刚体碰撞器及使用
9.2.2 刚体碰撞及消息传递
9.3 刚体关节
9.3.1 刚体铰链关节的使用
9.3.2 固定和弹簧关节的使用
9.3.3 角色和配置关节的使用
9.4 布料系统的使用
9.4.1 交互布料系统的使用
9.4.2 交互布料系统的属性设置
第10 章 Unity粒子系统
10.1 粒子系统创建和操作方式
10.1.1 粒子系统的创建
10.1.2 粒子属性控制
10.2 粒子属性调节
10.2.1 粒子通用属性调节
10.2.2 粒子扩展属性的调节
10.3 粒子碰撞、渲染和材质
10.3.1 粒子碰撞
10.3.2 粒子渲染
第11章 树效果
11.1 程序自动生成的树效果
11.1.1 创建树前的准备工作
11.1.2 使用程序自动创建树
11.1.3 添加树材质
11.2 手动创建的树效果
11.2.1 手动创建树
11.3 树的基本属性定义
11.3.1 树的“根节点”属性
11.3.2 树枝的属性调节
11.3.3 树叶属性调节及树与地形的搭配使用
第12 章 射线碰撞检测
12.1 射线碰撞简介
12.2 射线碰撞检测应用实例
第13 章 Mecanim 动画系统
13.1 Unity 新的动画系统Mecanim 总览
13.1.1 Mecanim 术语
13.1.2 角色导入及Avatar 工作原理
13.1.3 Mecanim Body Mask 的使用
13.2 Mecanim 的Retargeting
13.2.1 Mecanim 的Retargeting 概念
13.2.2 Mecanim Retargeting 应用
13.3 Mecanim 动画片段循环设置
13.3.1 动画片段循环处理
13.3.2 运动捕捉动画片段循环处理
13.3.3 Mecanim Root Motion 应用
13.4 Animator(动画)组件和动画控制器资源
13.4.1 动画组件及其属性
13.4.2 动画控制器
13.5 Mecanim 动画状态机
13.5.1 动画状态的创建
13.5.2 动画状态的属性
第14 章 Mecanim 高级主题
14.1 角色动画状态机
14.1.1 角色效果调节
14.1.2 创建动画状态机
14.1.3 动画状态机条件控制
14.2 Mecanim Blend tree 应用
14.2.1 Blend Tree 应用
14.2.2 Blend Tree 1D 选项
14.2.3 复合Blend Tree
14.3 Mecanim 动画控制器层应用
14.3.1 Mecanim 层概念
14.3.2 Mecanim 层的执行顺序和权重设置
14.4 2D BlendTree
14.4.1 2D 融和应用
14.4.2 2D Blend Tree 的脚本控制
14.4.3 2D Blend Tree 的选项设置
14.5 Mecanim 的目标匹配功能
14.5.1 目标匹配功能
14.5.2 在脚本中创建位置匹配功能
14.6 Mecanim 一般性动画处理
14.6.1 一般性的动画
14.6.2 一般性动画处理实例
14.7 Mecanim 跟随效果
14.7.1 角色准备
14.8 Mecanim 群体动画
14.8.1 群组动画创建
14.8.2 Mecanim 动画曲线应用
第15 章 Mecanim 射击类游戏实例
15.1 角色及场景准备
15.1.1 角色准备
15.1.2 武器准备
15.1.3 目标物体指定
15.2 角色瞄准和射击逻辑
15.2.1 创建瞄准逻辑
15.2.2 创建IK 手柄匹配
15.2.3 创建射击逻辑
15.2.4 创建射击的动作
15.2.5 目标物体设置
第16 章 Mecanim 与自动寻径应用
16.1 自动寻径功能
16.1.1 Nav Mesh Agent 组件介绍
16.1.2 Nav Mesh 网格创建
16.1.3 寻径功能具体实现
16.2 角色动画逻辑
第17 章 Unity Native 2D 工具
17.1 2D 开发工具总览
17.1.1 2D 开发工具功能
17.1.2 2D 精灵物体创建和编辑
17.2 2D 动画制作及动画事件
17.2.1 2D 动画制作
17.2.2 动画事件
第18 章 2D rigidBody 刚体
18.1 2D 刚体工作流程
18.1.1 2D 精灵物体的输入属性及刚体创建
18.1.2 2D rigidBody 刚体工作流程
18.1.3 2D 刚体属性
18.2 2d Collider 碰撞器属性
18.2.1 添加2D 碰撞器组件
18.2.2 2D 物理系统碰撞方式
18.2.3 实施2D 刚体力及构建二维矢量
18.2.4 2D 碰撞及触发消息传递
18.3 unity 2D 物理系统关节功能
18.3.1 物理关节的使用
18.3.2 2D 关节应用实例
★作为一款强大的游戏引擎,路老师深入浅出地讲解了它的使用,无论从基础的知识点讲解,再到项目实战,还是2D系列部分,都非常完备地突出了Unity强大的功能,使我们从一无所知到能够快速开发上手写出游戏程序。不管你是初学者还是经验丰富的IT从业者,本书都值得引领你实现自己的游戏开发梦想。
——王老吉
★蛮牛第一、二季教程作为国内首套对Unity3D引擎进行系统讲解的视频教程,144集涵盖了引擎的方方面面,同时也凝聚了创作人员的汗水与智慧。更难能可贵的是这套教程不收分文免费发布供大家学习使用,是广大Unity3D用户难得的优秀学习资料。本书作为视频教程的配套书籍,对原有教程进行了补充与完善,相信不会让广大读者失望。希望蛮牛以后可以推出更多精品图书。
——Z.元
★首先祝贺蛮牛自家的公开课书籍终于出版了,当初可盼了好久的。从去年11月开始接触Unity3D与Kinect的学习到现在已经快有半年的时间,也逐渐熟悉了Unity的开发,回想起学习Unity的这些日子,几乎都有游戏蛮牛的影子,直到现在每天都习惯性的逛逛游戏蛮牛论坛。相信国内大多数Unity初学者都或多或少看过第一季和第二季公开课视频。由于自己的专业方向和图形游戏毫不相关,之前也没有接触过游戏方面的开发,第一季的基础教学视频还是让我快速了解了Unity引擎的基础知识,给我带来了非常大的帮助。第二季的公开课视频,UnityNative2D刚刚推出的时候游戏蛮牛更是快人一步,第一个也是惟一一个推出系统教学讲解,减轻了很多初学者的学习负担,使他们能够快速进入到新功能的学习使用当中。现在将第一季和第二季的内容整理成文字稿,希望两者结合学习能够帮助更多的Unity爱好者加入到Unity游戏开发中来。感谢游戏蛮牛的管理员们能够给大家提供一个优秀的Unity开发学习与交流的平台,同样也感谢各位坛友在学习道路上的陪伴。
——烈氏妖焰
★从小有一个梦,想通过自己的手制作出属于自己的游戏。Unity的出现,让我看到了希望!可能是缘份问题,在刚知道Unity的时候,就发现了蛮牛网,惊喜地发现蛮牛有甘为儒子牛的精神,上面的教程全是免费的,从第一季公开课开始到现在的第八季,涵盖了程序、美工、网络、插件等丰富的知识,让我从此可以哪里不懂点哪里,妈妈再也不担心我的学习了。本书的出现,凝聚着蛮牛的心血,经充分提练后再进行完善的。可以说权威二字当之无愧。不管你是初学,还是准备进阶,此书都将是不二的选择。坚信拥了此书后,我的梦再不遥远!我选择!我无悔!
——法澄
★一方面,针对一期较全面的基础课和二期以2D游戏制作为主的视频,不仅对于初学者来说帮助巨大,有经验者也从中受益良多,尤其是当你重新温习这两部视频的时候,会有新的发现和感悟,可谓温故而知新;另一方面看了版主的介绍,提到书中会有3D实例和更丰富、细致的内容,我想说这也正好为两部视频“增光添彩”,学东西在于精,更何况是技术。非常期待本书,也再次感谢蛮牛的无私奉献,造福我等蛮牛粉。另外希望书中可以以简短的篇幅加入一些“Unity知识要点分类”、“学习建议(先后学次序)”、“成功开发者经验(语录、精炼心得)”,不知书中是否有“小贴士”,如若没有,加上的话就再好不过了。最后祝游戏蛮牛越办越好!
——南宫