《Unity3D/2D游戏开发从0到1》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:刘国柱编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121262395
  • 页数:472 页
图书介绍:本书分实战项目篇与开发理论篇。其中,开发理论篇,从初学者容易入门的角度分为上部分(1~14章)与下部分(15~29章)。上部分内容包括游戏历史与Unity发展概述、Unity界面与3D模型入门、Unity地形光源音频系统、脚本基础、GUI、3D模型与动画制作等;下部分内容包括3D数学、图形学、粒子系统、Mecanim动画系统、导航寻路、项目研发优化策略、游戏移植与手指触控技术、光照烘焙、UGUI等。

实战项目篇 3

项目一 疯狂酷跑:跑酷类实战项目 3

1.游戏背景 3

2.功能介绍 3

3.技术架构 5

项目二 生化危机:射击类实战项目 7

1.游戏背景 7

2.功能介绍 7

3.技术架构 9

开发理论篇上部分 13

第1章 游戏历史与Unity发展概述 13

1.1 “钱途”无限的游戏开发领域 13

1.1.1 Unity版本快速迭代升级 14

1.1.2 Unity技术应用范围 15

1.1.3 强大的跨平台性 15

1.2 电子游戏发展史 16

1.3 游戏引擎与Unity的发展历程 19

1.3.1 什么是游戏引擎 19

1.3.2 游戏引擎的功能 20

1.3.3 为什么需要使用游戏引擎 21

1.3.4 游戏引擎的发展 21

1.3.5 Unity游戏引擎的特点 22

1.3.6 Unity游戏引擎的主要特性 22

1.3.7 Unity游戏引擎的发展历史 23

1.4 Unity安装 25

1.4.1 Unity下载与安装 25

1.4.2 Unity的资源商店(Asset Store) 26

第2章 Unity界面与3D模型入门 27

2.1 了解Unity编辑器界面 27

2.1.1 掌握Unity编辑器的布局与调整 28

2.1.2 了解Unity编辑器各个重要视图与作用 31

2.2 3D模型入门操作 33

2.2.1 3D模型的位移旋转与缩放 33

2.2.2 3D模型操作快捷方式 36

2.2.3 选择3D模型的“正”方向 36

2.2.4 使用属性窗口进行精确调整 38

2.3 开发Unity“Hello World” 39

2.4 本章练习与总结 43

第3章 3D模型基础 44

3.1 Unity编辑器进一步讲解 44

3.1.1 Unity菜单 44

3.1.2 项目(Project)视图 48

3.1.3 场景(Scene)视图 50

3.1.4 视图显示模式 53

3.1.5 场景视图的查看与导航 53

3.2 世界、局部与左手坐标系 53

3.2.1 现实世界的“世界坐标”与“局部坐标” 53

3.2.2 演示两种坐标的差异 54

3.2.3 使用脚本方式演示差异 55

3.2.4 什么是“左手坐标系” 55

3.2.5 使用控制台(Console)窗口进行代码调试 56

3.3 脚本知识入门 56

3.3.1 键盘与鼠标输入代码 56

3.3.2 环绕旋转 57

3.4 小项目开发:地球环绕太阳旋转 57

3.5 本章练习与总结 61

3.6 案例开发任务 62

第4章 地形编辑器 63

4.1 创建基本地形 63

4.1.1 绘制贴图纹理 67

4.1.2 制作各种地形 68

4.1.3 种植树木与花草 72

4.2 观察虚拟世界 72

4.3 扩展地形编辑 73

4.4 本章练习与总结 76

4.5 案例开发任务 76

第5章 光源 81

5.1 概述 81

5.2 光源的分类与重要参数 83

5.3 典型光源场景制作 84

5.4 本章练习与总结 87

5.5 案例开发任务 88

第6章 音频 89

6.1 概述 89

6.2 音频剪辑属性 90

6.3 音频监听与音频源组件 91

6.4 音频混响器与滤波器组件 92

6.5 本章练习与总结 93

6.6 案例开发任务 94

第7章 Unity脚本程序基础 96

7.1 Unity脚本编辑器介绍 96

7.1.1 什么是.Net框架 96

7.1.2 什么是Mono与MonoDevelop 97

7.1.3 什么是Visual Studio 97

7.2 脚本程序基础 98

7.2.1 建立脚本的重要注意事项 98

7.2.2 项目工程分层设计 99

7.2.3 如何更改脚本模版 99

7.3 Unity重要脚本函数 100

7.3.1 Unity事件函数 100

7.3.2 Untiy重要核心类学习 101

7.3.3 GameObject类 101

7.3.4 MonoBehaviour类 105

7.3.5 Transform类 106

7.3.6 Time类 106

7.4 本章练习与总结 107

7.5 案例开发任务 108

第8章 GUI 111

8.1 概述 111

8.2 GUI脚本控件 112

8.3 GUILayout自动布局 115

8.4 帧的概念 116

8.5 绘制贴图 117

8.6 GUI皮肤 118

8.7 本章练习与总结 120

8.8 案例开发任务 120

第9章 3D模型与动画制作 126

9.1 概述 127

9.2 3DMax软件基本使用 127

9.3 3D模型尺寸单位设置 130

9.4 3DMax模型制作与导出Unity流程 130

9.5 模型导出丢失贴图问题 134

9.6 3D文字的制作与动画 135

9.7 角色Legacy动画 136

9.8 Animation动画工具 138

9.9 自定义资源包的导入与导出 142

9.10 本章练习与总结 145

9.11 案例开发任务 145

第10章 物理学模拟(初级) 149

10.1 概述 149

10.2 刚体与碰撞体 150

10.3 物理材质 153

10.4 脚本控制刚体 154

10.5 本章练习与总结 155

10.6 案例开发任务 155

第11章 碰撞体与触发器 160

11.1 概述 160

11.2 碰撞体的分类与作用 161

11.3 碰撞检测事件函数 163

11.4 触发检测事件函数 164

11.5 本章练习与总结 166

11.6 案例开发任务 166

第12章 协程与调用函数 172

12.1 协程定义与功能 172

12.2 调用函数定义与功能 173

12.3 协程与调用函数的区别与适用范围 174

12.4 本章练习与总结 175

12.5 案例开发任务 175

第13章 数据传值技术 182

13.1 概述 182

13.2 SendMessage简单传值 183

13.3 SendMessage高级传值 185

13.4 本章练习与总结 186

13.5 案例开发任务 187

第14章 Unity核心类与脚本生命周期 195

14.1 概述 195

14.2 GameObject核心类 196

14.3 Transform核心类 197

14.4 Time核心类 198

14.5 MonoBehaviour核心类 198

14.6 Unity脚本生命周期 200

14.6.1 Unity事件函数调用顺序 201

14.6.2 事件函数禁用与启用规律 203

14.7 Unity伪多线程揭秘 206

14.8 Unity重要应用类 207

14.9 Unity输入管理器 209

14.10 本章练习与总结 211

14.11 案例开发任务 212

开发理论篇下部分 223

第15章 3D数学与3D图形学 223

15.1 3D数学 223

15.1.1 坐标系统 223

15.1.2 向量 228

15.2 3D图形学 236

15.3 Unity 3D图形渲染 237

15.3.1 网格过滤器(Mesh Fillter) 237

15.3.2 网格渲染器(Mesh Renderer) 238

15.3.3 蒙皮网格渲染器(Skinned Mesh Renderer) 239

15.4 贴图 239

15.4.1 二维贴图 240

15.4.2 立方体贴图(Cubemap) 245

15.4.3 视频贴图 246

15.4.4 渲染贴图 249

15.5 材质 251

15.5.1 材质球 251

15.5.2 材质球属性 251

15.5.3 材质球分类 251

15.6 着色器(Shader) 256

15.6.1 概述 256

15.6.2 基本原理:图形渲染管线 257

15.6.3 着色器的分类与基本结构 258

15.6.4 固定渲染管线着色器 262

15.6.5 表面着色器 263

15.7 本章练习与总结 272

第16章 物理学模拟(高级) 273

16.1 铰链关节 273

16.2 弹簧关节 275

16.3 固定关节 276

16.4 角色关节 277

16.5 布料模拟 278

16.6 本章练习与总结 279

第17章 粒子系统 280

17.1 概述 280

17.2 基本粒子组件属性 281

17.3 基本粒子系统示例 284

17.4 Unity内置粒子系统包 286

17.5 粒子系统的脚本调用方式 287

17.6 本章练习与总结 290

第18章 Mecanim动画系统 291

18.1 概述 291

18.2 制作Mecanim动画系统 292

18.2.1 步骤1:制作Avatar替身 292

18.2.2 步骤2:设置动画状态机(Animator Controller) 295

18.2.3 步骤3:设置动画循环 299

18.2.4 步骤4:使用代码控制角色动画 299

18.3 融合术技术 300

18.4 动画层与身体蒙版 304

18.5 动画复用技术 308

18.6 本章练习与总结 310

第19章 导航寻路 311

19.1 基本导航寻路 311

19.2 斜坡与跳跃 314

19.3 使用OffMeshLink组件 316

19.4 网格分层 317

19.5 Nav Mesh Obstacle组件 319

19.6 本章练习与总结 321

第20章 项目研发常用优化策略 322

20.1 遮挡剔除(Occlusion Culling) 322

20.2 层级细节(LOD) 326

20.3 项目调优工具数据分析器(Profiler) 329

20.4 项目优化策略 331

20.4.1 项目优化之Draw Call 332

20.4.2 项目优化之模型与图像方面 334

20.4.3 项目优化之光照与摄像机方面 336

20.4.4 项目优化之程序优化方面 338

20.4.5 项目优化之Unity系统设置方面 339

20.4.6 项目优化之良好开发与使用习惯 341

20.5 本章练习与总结 341

第21章 Unity游戏移植与手指触控识别 342

21.1 JDK安装与环境参数配置 342

21.1.1 下载与安装JDK 342

21.1.2 设置JDK环境 347

21.2 Android虚拟机的安装与配置 350

21.2.1 下载Android SDK 350

21.2.2 更新环境变量 351

21.2.3 配置Android SDK的API版本 351

21.2.4 配置Android SDK(模拟器) 353

21.2.5 启动Android SDK(模拟器) 355

21.3 Unity相应配置 356

21.4 手指触控识别 361

21.4.1 手指触控API 361

21.4.2 手指触控常见方式 362

21.5 本章练习与总结 365

第22章 光照烘焙技术 366

22.1 概述 366

22.2 静态光照烘焙(Lightmapping) 366

22.3 灯光探测器(Light Probes) 369

22.4 本章练习与总结 373

第23章 UGUI界面开发技术 374

23.1 概述 374

23.2 UGUI基础控件 376

23.2.1 Canvas画布控件 376

23.2.2 EventSystem控件 377

23.2.3 Panel控件 378

23.2.4 Text控件 379

23.2.5 Image控件 380

23.2.6 Button控件 383

23.2.7 Button事件系统 385

23.3 Anchor锚点与屏幕自适应 388

23.4 UGUI高级控件 389

23.4.1 Toggle控件 390

23.4.2 Slider控件 391

23.4.3 Scrollbar控件 392

23.4.4 Scroll Rect复合控件 393

23.4.5 TabPage标签页面 395

23.5 本章练习与总结 398

第24章 软件重构思想 399

24.1 软件重构的重要性 399

24.2 项目示例 400

24.3 本章练习与总结 403

第25章 射线 404

25.1 射线概述 404

25.2 项目示例讲解 405

25.2.1 射击场景开发 405

25.2.2 角色寻路开发 406

25.3 本章练习与总结 408

第26章 数据持久化技术 409

26.1 PlayerPrefs持久化技术 409

26.2 XML持久化技术 411

26.3 本章练习与总结 416

第27章 预加载与对象缓冲池技术 417

27.1 概述 417

27.2 简单对象缓冲池技术 418

27.3 高级对象缓冲池技术 423

27.4 本章练习与总结 431

第28章 Unity2D 432

28.1 概述 432

28.2 项目示例讲解 432

28.3 本章练习与总结 437

第29章 网络基础与资源动态加载技术 438

29.1 网络概述 438

29.2 多线程技术 439

29.2.1 多线程的定义 439

29.2.2 多线程的优先级 440

29.2.3 多线程的状态控制 441

29.2.4 多线程的线程同步 442

29.3 Socket(套接字)技术 444

29.3.1 网络基础知识 444

29.3.2 Socket定义 445

29.3.3 面向连接的Socket 445

29.3.4 无连接的Socket 446

29.3.5 同步Socket 446

29.3.6 异步Socket 448

29.4 网络下载WWW类 451

29.5 资源动态加载AssetBundle技术 453

29.6 本章练习与总结 458

附录A 全国Unity游戏研发职位笔试面试真题集锦 459

A.1:算法题库集锦 459

A.2:C#语言基础题库集锦 460

A.3:Unity基础理论题库集锦 461

A.4:Unity实践类题库集锦 463

A.5:逻辑推理/智力题库集锦 463

附录B Unity开发常见错误与分析 465

附录C 游戏开发职位简历模板 468