专题栏目:ARVRMR虚拟现实

《 Unity3D/2D游戏开发从0到1(第二版)》

书籍简介:

本书为第二版,采用Unity 2017。全书分为实战项目篇与开发理论篇进行系统讲解。实战项目篇由浅入深提供四个教学案例:2D小游戏两个和两款3D大型教学案例。通过本篇的认真学习,读者可以达到优秀开发者的水平。开发理论篇,从初学者容易入门的角度把全书分为上、下两篇各15章。上篇完全是为零基础游戏爱好者或者在校大学生所准备,采用“案例化”教学思路,所学知识点与游戏案例紧密结合。下篇是理论进阶篇,主要学习3D数学、3D图形学(3D图形渲染/贴图/PBS材质/Shader)、TimeLine& Cinemachine、Unity2017新导航寻路、项目优化策略、游戏移植与手指触控、对象缓冲池、网络Socket、AssetBundle资源动态加载与AssetBundle框架设计等。

作者简介:

刘国柱

拥有十多年的软件、游戏研发与教学经验,具备深厚语言基础。早年在国内上市企业做研发经理,熟悉企业大型软件运作管理过程、软件架构设计理论。精通与熟悉Unity3D、XNA等3D与2D 游戏开发技术,教学语言思路清晰,循循善诱的教学方法深受广大学子欢迎。

出版时间:

2018年01月

章节目录:

项目实战篇
实战项目1:记忆卡牌 3
1.策划3
2.场景搭建4
3.游戏核心逻辑5
实战项目2:FlappyBird8
1.策划 8
2.场景搭建 9
3.主角 10
4.道具开发 12
5.UI界面与游戏周期管理 15
实战项目3:不夜城跑酷 17
1.策划 17
2.场景搭建 19
3.主角 21
4.道具开发 24
5.场景与道具的动态生成算法 31
6.UI界面与游戏周期管理 34
7.对象缓冲池管理 38
实战项目4:生化危机 41
1.策划 41
2.场景搭建 45
3.主角 47
4.道具开发 47
5.UI界面与游戏周期管理 51
开发理论篇上篇
第1章游戏历史与Unity发展概述 54
1.1“钱途”无限的游戏开发领域 54
1.1.1Unity版本快速迭代升级 55
1.1.2Unity技术应用范围 56
1.1.3强大的跨平台性 56
1.2电子游戏发展史 57
1.3游戏引擎与Unity的发展历程 60
1.3.1什么是游戏引擎 60
1.3.2游戏引擎的功能 61
1.3.3为什么需要使用游戏引擎 61
1.3.4游戏引擎的发展 62
1.3.5Unity游戏引擎的特点 62
1.3.6Unity引擎的主要特性 63
1.3.7Unity游戏引擎的发展历史 64
1.4Unity下载与安装 65
1.4.1Unity下载与安装 65
1.4.2Unity的资源商店(AssetStore) 66
第2章Unity2017.x安装与3D模型入门 67
2.1Unity2017.x版本的下载安装 67
2.2Unity编辑器界面 75
2.2.1掌握Unity编辑器的布局与调整 77
2.2.2了解Unity编辑器各个重要视图与作用 78
2.33D模型入门操作 80
2.3.13D模型的位移、旋转与缩放 80
2.3.23D模型操作快捷方式 82
2.3.3选择3D模型的“正”方向 82
2.3.4使用属性窗口进行精确调整 84
2.4开发Unity“HelloWorld” 85
2.5本章练习与总结 88
第3章3D模型基础 89
3.1Unity编辑器进一步讲解 89
3.1.1Unity菜单 89
3.1.2项目(Project)视图 93
3.1.3场景(Scene)视图 95
3.1.4视图显示模式 96
3.1.5场景视图的查看与导航 97
3.2世界、局部与左手坐标系 98
3.2.1现实世界的“世界坐标”与“局部坐标” 98
3.2.2演示两种坐标的差异 98
3.2.3使用脚本方式演示差异 99
3.2.4什么是“左手坐标系” 100
3.2.5使用控制台(Console)窗口进行代码调试 100
3.3脚本知识入门 101
3.3.1键盘与鼠标输入代码 101
3.3.2环绕旋转 101
3.4小项目开发:地球环绕太阳旋转 101
3.5本章练习与总结 105
3.6案例开发任务 105
第4章地形编辑器 106
4.1创建基本地形 106
4.1.1绘制贴图纹理 109
4.1.2制作各种地形 110
4.1.3种植树木与花草 113
4.2观察虚拟世界 113
4.3扩展地形编辑 115
4.4本章练习与总结 116
4.5案例开发任务 117
第5章光源 118
5.1概述 118
5.2光源的分类与重要参数 120
5.3典型光源场景制作 121
5.4本章练习与总结 123
5.5案例开发任务 123
第6章光照烘焙 124
6.1概述 124
6.2光照烘焙 125
6.3反射探针(ReflectionProbe) 132
6.4光照探头(LightProbe) 134
6.5光照预览窗口(LightExplorer) 137
6.6本章练习与总结 138
6.7案例开发任务 138
第7章音频 139
7.1概述 139
7.2音频剪辑属性 140
7.3音频监听与音频源组件 140
7.4音频混响器与滤波器组件 143
7.5音频混音器(AudioMixer) 144
7.6本章练习与总结 151
7.7案例开发任务 151
第8章Unity脚本程序设计 153
8.1Unity脚本编辑器介绍 153
8.1.1什么是.Net框架 153
8.1.2什么是Mono与MonoDevelop 154
8.1.3什么是VisualStudio 154
8.2脚本程序基础 155
8.2.1创建脚本注意事项 155
8.2.2项目工程分层设计 156
8.2.3如何更改脚本模板 157
8.3Unity重要脚本函数 157
8.3.1Unity事件函数 157
8.3.2Untiy重要核心类学习 158
8.3.3GameObject类 158
8.3.4MonoBehaviour类 162
8.3.5Transform类 165
8.3.6Time类 166
8.4Unity脚本生命周期 167
8.4.1Unity事件函数调用顺序 168
8.4.2事件函数禁用与启用规律 169
8.5Unity伪多线程揭秘 172
8.6修改Unity脚本执行顺序 173
8.7Unity重要应用类 175
8.8Unity输入管理器 176
8.9本章练习与总结 178
第9章UI界面开发 179
9.1概述 179
9.2基础控件 182
9.2.1Canvas画布控件 182
9.2.2EventSystem控件 183
9.2.3Panel控件 184
9.2.4Text控件 184
9.2.5Image控件 185
9.2.6Button控件 187
9.2.7Button事件系统 189
9.3Anchor锚点与屏幕自适应 191
9.4UGUI高级控件 193
9.4.1Toggle控件 193
9.4.2Slider控件 194
9.4.3Scrollbar控件 194
9.4.4ScrollRect复合控件 195
9.4.5TabPage标签页面 197
9.5UGUI布局管理控件 199
9.6本章练习与总结 202
9.7案例开发任务 202
第10章3D模型与动画制作 204
10.1概述 205
10.23DMax软件基本使用 205
10.33D模型尺寸单位设置 207
10.43DMax模型制作与导出Unity流程 208
10.5模型导出丢失贴图问题 212
10.63D文字的制作与动画 212
10.7角色Legacy动画 213
10.8Animation动画编辑工具 216
10.9自定义资源包的导入与导出 219
10.10本章练习与总结 222
10.11案例开发任务 222
第11章物理学模拟 223
11.1概述 223
11.2刚体 223
11.3物理材质 227
11.4脚本控制刚体 229
11.5关节系统 230
11.5.1铰链关节 230
11.5.2弹簧关节 232
11.5.3固定关节 232
11.5.4角色关节 233
11.5.5布料模拟 235
11.6物理管理器(PhysicsManager) 237
11.7本章练习与总结 238
第12章碰撞体与触发器 239
12.1概述 239
12.2碰撞体的分类与作用 240
12.3碰撞检测事件函数 241
12.4触发检测事件函数 242
12.5碰撞过滤 244
12.6本章练习与总结 246
12.7案例开发任务 247
第13章Unity2D技术 248
13.1概述 248
13.2项目示例讲解 248
13.3Untiy2D物理引擎 253
13.3.12D刚体 253
13.3.22D碰撞体 254
13.3.32D关节系统 256
13.4Unity2D特效功能 256
13.4.1SpriteMask功能 256
13.4.2精灵效应器组件 258
13.5本章练习与总结 263
13.6案例开发任务 263
第14章协程与调用函数 264
14.1协程定义与功能 264
14.2调用函数定义与功能 265
14.3协程与调用函数区别与适用范围 266
14.4本章练习与总结 267
14.5案例开发任务 267
第15章数据传值技术 268
15.1概述 268
15.2SendMessage简单传值 269
15.3SendMessage高级传值 271
15.4本章练习与总结 272
开发理论篇下篇
第16章3D数学 274
16.1坐标系统 274
16.2向量 279
16.3本章练习与总结 287
第17章3D图形学 288
17.13D图形学概述 288
17.2Unity3D图形渲染 289
17.2.1MeshFillter网格过滤器 289
17.2.2MeshRenderer网格渲染器 290
17.2.3SkinnedMeshRenderer蒙皮网格渲染器 291
17.3贴图 292
17.3.1二维贴图 292
17.3.2视频贴图 297
17.3.3渲染贴图 301
17.4材质 302
17.4.1基于物理着色(PBS)的材质系统 303
17.4.2材质球属性 305
17.4.3材质球分类 306
17.5着色器(Shader) 313
17.5.1概述 313
17.5.2基本原理:图形渲染管线 314
17.5.3着色器的分类与基本结构 315
17.5.4固定渲染管线着色器 318
17.5.5表面着色器 320
17.6本章练习与总结 327
第18章TimeLine&Cinemachine技术 328
18.1TimeLine时间线 328
18.2Cinemachine虚拟摄像机 332
18.3FrameRecorder帧录制器 335
18.4本章练习与总结 336
第19章粒子系统 337
19.1概述 337
19.2基本粒子组件属性 338
19.3粒子系统示例 344
19.4Unity内置粒子系统包 346
19.5粒子系统的脚本调用方式 347
19.6LineRenderer&TrailRenderer 348
19.7本章练习与总结 351
第20章Mecanim动画系统 352
20.1概述 352
20.2制作Mecanim动画系统 353
20.2.1步骤一:制作Avatar替身 353
20.2.2步骤二:设置动画状态机(AnimatorController) 356
20.2.3步骤三:设置动画循环 359
20.2.4步骤四:使用代码控制角色动画 359
20.3融合术技术 360
20.4动画层与身体蒙版 365
20.5动画复用技术 367
20.6StateMachineBehaviour脚本 368
20.7本章练习与总结 370
第21章导航寻路 371
21.1基本导航寻路 371
21.2斜坡与跳跃 374
21.3使用OffMeshLink组件 375
21.4网格分层 376
21.5NavMeshObstacle组件 378
21.6基于组件NavMesh的新特性 380
21.7NavMesh定向3D空间任何方向新特性 382
21.8NavMesh动态烘焙新特性 383
21.9本章练习与总结 385
第22章项目研发常用优化策略 386
22.1遮挡剔除(OcclusionCulling) 386
22.2层级细节(LOD) 390
22.3项目调优工具数据分析器(Profiler) 393
22.4项目优化策略 395
22.4.1项目优化之DrawCall 395
22.4.2项目优化之模型与图像方面 397
22.4.3项目优化之光照与摄像机方面 399
22.4.4项目优化之程序优化方面 401

封面图:

发表评论

相关文章