《Unity3D/2D游戏开发从0到1(第二版本)》 书稿完结总结

时间:2023-03-08 16:49:51
《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#语言知识点基础要求》等实用化较强的内容。

《Unity3D/2D游戏开发从0到1(第二版本)》 书稿完结总结

书籍部分目录结构如下:

实战项目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….版本的推出,又会促使本书籍第三版本的编写与发行。最后谢谢广大小伙伴们的关心与爱戴。马上双十一了,大家可以多围观下个人视频教学课程。谢谢!