《Unity3D/2D游戏开发从0到1(第二版本)》 书稿完结总结
前几天,个人著作《Unity3D/2D游戏开发从0到1(第二版)》经过七八个月的技术准备以及近3个月的日夜编写,在十一长假后终于完稿。今天抽出一点时间来,给广大热心小伙伴们汇报一下书籍概况。
17年初,随着Unity5.6以及Unity2017 Beta快速迭代发布,我感觉应该就第一版本做深度改版升级。首先针对广大Unity 初学者、游戏研发人员、高校讲师、培训机构等都做了部分调查,对于收到的建议、吐槽等反馈意见,做了细心记录与针对性更新与改写。书籍采用Unity2017 版本进行教学,在第一版基础之上60%内容按照新版本进行重写。理论篇增加所有Unity2017重要知识点,总体确定如下编写原则: “更新”、“更多”、“更实用”
1: “更新”:
采用最新2017版本进行讲解,其中涉及Unity2017最新的光影效果、光影调试LightExplorer预览技术、强大的影视动画编辑Timeline功能、全新的动态烘焙NavMesh技术等。
2: “更多”:
本版本针对广大Untiy初学者、高校与培训机构反馈意见,对于基础且重要核心章节(例如Unity2D技术)大幅增加理论讲解、核心API总结、最新版本增加的组件与详细使用范例等。针对第一版,在游戏教学案例上增加到了四个项目的详细讲解,且最后两个大型3D游戏,换装了全新的场景与道具素材,以接近上线商业游戏的品质,更具高可玩性与实战性。
3: “更实用”
针对老读者而言,本版本还着重强化与更新了3D图形学、资源动态加载AssetBundle技术的讲解深度与广度。 尤其对于AssetBundle技术,本书还提供了商业级AssetBundle框架封装,不仅针对初学者,对于广大Unity开发人员也具备很高的实用与参考价值。
针对广大高校与培训机构老师意见,对部分章节的讲解顺序与内容做了更加合理的安排,以期达到更佳的学习体验。
最后对于Unity初学者与就业为目的广大学员,书籍附录部分在第一版本基础之上还增加了:《Unity4.x/5.x/2017.x 升级差异总结》、《Unity特殊文件夹一览表》、《游戏开发对C#语言知识点基础要求》等实用化较强的内容。
书籍部分目录结构如下:
实战项目1: 记忆卡牌... 18
实战项目2: Flappy Bird. 23
实战项目3: 不夜城跑酷... 32
1:策划... 32
2:场景搭建... 35
3:主角... 37
4:道具开发... 40
5:场景与道具的动态生成算法... 47
6:UI界面与游戏周期管理... 51
7:对象缓冲池管理... 55
实战项目4: 生化危机... 58
1: 策划... 58
2: 场景搭建... 62
3: 主角... 63
4:道具开发... 64
5: UI界面与游戏周期管理... 67
第1章 游戏历史与Unity发展概述... 70
第2章 Unity2017.x 安装与3D模型入门... 85
第3章 3D模型基础... 110
第4章 地形编辑器... 130
第5章 光源... 146
第6章 光照烘焙... 154
第7章 音频... 173
第8章 Unity脚本程序设计... 187
8.1 Unity 脚本编辑器介绍... 188
8.2 脚本程序基础... 190
8.3 Unity 重要脚本函数... 192
8.4 Unity脚本生命周期... 205
8.5 Unity伪多线程揭秘... 211
8.6 修改Unity脚本执行顺序... 213
8.7 Unity 重要应用类... 215
8.8 Unity 输入管理器... 217
8.9 本章练习与总结... 220
第9章 UI界面开发... 221
9.1 概述... 222
9.2 基础控件... 224
9.3 Anchor锚点与屏幕自适应... 235
9.4 UGUI高级控件... 237
9.5 UGUI布局管理控件... 244
9.6 本章练习与总结... 247
9.7 案例开发任务... 248
第10章 3D模型与动画制作... 249
第11章 物理学模拟... 272
第12章 碰撞体与触发器... 295
第13章 Unity2D技术... 307
13.1 概述... 308
13.2 项目示例讲解... 308
13.3 Untiy2D物理引擎... 313
13.3.1 2D刚体... 313
13.3.2 2D 碰撞体... 314
13.3.3 2D 关节系统... 315
13.4 Unity2D特效功能... 317
13.4.1 Sprite Mask 功能... 317
13.4.2 精灵效应器组件... 319
13.5 本章练习与总结... 324
第14章 协程与调用函数... 325
第15章 数据传值技术... 331
第16章 3D数学... 338
16.1 坐标系统... 339
16.2 向量... 346
16.3 本章练习与总结... 356
第17章 3D图形学... 357
17.1 3D图形学... 358
17.2 Unity 3D图形渲染... 359
17.2.1 Mesh Fillter 网格过滤器... 359
17.2.2 Mesh Renderer 网格渲染器... 359
17.2.3 Skinned Mesh Renderer蒙皮网格渲染器... 361
17.3 贴图... 362
17.3.1 二维贴图... 363
17.3.2 视频贴图... 369
17.3.3 渲染贴图... 373
17.4 材质... 375
17.4.1 基于物理着色(PBS)的材质系统... 375
17.4.2 材质球属性... 377
17.4.3 材质球分类... 378
17.5 着色器(Shader) 385
17.5.1 概述... 385
17.5.2 基本原理:图形渲染管线... 386
17.5.3 着色器的分类与基本结构... 388
17.5.4 固定渲染管线着色器... 391
17.5.5表面着色器... 393
17.6 本章练习与总结... 402
第18章 TimeLine& Cinemachine 技术... 403
18.1 TimeLine 时间线... 404
18.2 Cinemachine 虚拟摄像机... 408
18.3 Frame Recorder 帧录制器... 410
18.4 本章练习与总结... 412
第19章 粒子系统... 413
19.5 粒子系统的脚本调用方式... 424
19.6 LineRenderer & TrailRenderer 426
19.7 本章练习与总结... 429
第20章 Mecanim 动画系统... 430
20.1: 概述... 431
20.2: 制作Mecanim 动画系统... 431
20.3: 融合术技术... 440
20.4: 动画层与身体蒙版... 445
20.5: 动画复用技术... 448
20.6: StateMachineBehaviour脚本... 449
20.7: 本章练习与总结... 451
第21章 导航寻路... 452
21.1 基本导航寻路... 453
21.2斜坡与跳跃... 456
21.3使用Off Mesh Link 组件... 458
21.4 网格分层... 459
21.5 Navmesh Obstacle组件... 461
21.6 基于组件NavMesh新特性... 463
21.7 NavMesh定向3D空间任何方向新特性... 465
21.8 NavMesh动态烘焙新特性... 466
21.9本章练习与总结... 468
第22章 项目研发常用优化策略... 469
22.1 遮挡剔除(Occlusion Culling) 470
22.2 层级细节(LOD)... 474
22.3 项目调优工具数据分析器(Profiler)... 477
22.4 项目优化策略... 479
22.4.1 项目优化之DrawCall 479
22.4.2 项目优化之模型与图像方面... 481
22.4.3 项目优化之光照与摄像机方面... 483
22.4.4 项目优化之程序优化方面... 486
22.4.5 项目优化之Unity系统设置方面... 487
22.4.6 项目优化之良好开发与使用习惯... 488
22.5 本章练习与总结... 489
第23章 Unity 游戏移植与手指触控识别... 490
23.1:JDK 安装与环境参数配置... 491
23.2: Android 虚拟机的安装与配置... 498
23.3: Unity相应配置... 501
23.4: 手指触控识别... 505
23.5本章练习与总结... 509
第24章 软件重构思想... 510
第25章 射线... 516
第26章 数据持久化技术... 522
第27章 预加载与对象缓冲池技术... 531
27.1 概述... 532
27.2 简单对象缓冲池技术... 533
27.3 高级对象缓冲池技术... 538
27.4 本章练习与总结... 544
第28章 网络基础... 545
28.1 网络概述... 546
28.2 多线程技术... 546
28.3 套接字Socket技术... 552
28.4 网络下载WWW类... 559
28.5 本章练习与总结... 561
第29章 AssetBundle资源动态加载... 562
29.1 AssetBundle概述... 563
29.2 创建AssetBundle. 563
29.3 下载AssetBundle. 564
29.4 AssetBundle的加载与卸载... 566
29.5 AssetBundle依赖关系... 567
29.6 本章练习与总结... 568
第30章 AssetBundle框架设计... 569
30.1 AssetBundle框架整体设计... 570
30.2 自动化创建AssetBundle. 572
30.2.1 自动给资源文件添加标记... 572
30.2.2 打包资源且输出路径... 574
30.2.3 删除路径中所有资源... 575
30.3 单一AssetBundle包的加载与管理... 576
30.4 AssetBundle整体管理... 578
30.4.1:读取项目清单文件... 578
30.4.1: AssetBundle关系类... 579
30.4.3: AssetBundle总管理类... 580
30.4.4: 多AssetBundle管理类... 581
30.5 本章练习与总结... 583
附录A 全国Unity游戏研发职位笔试面试真题集锦... 584
附录B Unity开发常见错误与分析... 589
附录C 游戏开发职位简历模板... 591
附录D Unity4.x/5.x/2017.x升级差异总结... 596
附录E Unity特殊文件夹一览表... 599
附录F 游戏开发对C#语言知识点基本要求... 601
笔者估算,本书籍大约2018年1月份可以面市发行,到时大家多给支持一下奥 :)
IT技术发展日新月异,相信Unity技术会发展的越来越好。可能两三年之后Unity2019、2020….版本的推出,又会促使本书籍第三版本的编写与发行。最后谢谢广大小伙伴们的关心与爱戴。马上双十一了,大家可以多围观下个人视频教学课程。谢谢!