《Unity 4.X从入门到精通》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:优美缔软件(上海)有限公司主编;吴彬,黄赞臻,郭雪峰,刘向群
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2013
  • ISBN:9787113175573
  • 页数:728 页
图书介绍:本书主要从Unity官方第一次就Unity游戏引擎的开发和主要功能做主要介绍,这本书主要基于Unity软件4.0及以上版本,书中将详细介绍Unity环境搭建、编辑器和GUI游戏界面相关的知识,以及每一个图标、按钮的功能和作用。

操作篇 1

第1章 Unity介绍 1

1.1 Unity简介 2

1.2 Unity的历史 9

1.3 Unity游戏介绍 11

1.4 Unity在严肃游戏领域的应用 13

1.5 软件安装 15

1.5.1 在Windows下的安装 16

1.5.2 在Mac下的安装 20

1.6 购买许可证 23

1.7 Unity相关资源与本书约定 27

1.7.1 Unity相关资源 27

1.7.2 本书约定 27

第2章 Unity编辑器 29

2.1 界面布局 30

2.2 工具栏 32

2.3 菜单栏 34

2.3.1 File(文件)菜单 35

2.3.2 Edit(编辑) 39

2.3.3 Assets(资源) 48

2.3.4 GameObiect(游戏对象/物体) 58

2.3.5 Component(组件) 64

2.3.6 Terrain(地形) 68

2.3.7 Window(窗口) 72

2.3.8 Help(帮助) 73

2.4 Project(项目)视图 73

2.4.1 视图简介 73

2.4.2 视图操作 74

2.5 Hierarchy(层级)视图 76

2.5.1 视图简介 76

2.5.2 视图操作 77

2.6 Inspector(检视)视图 77

2.6.1 视图简介 77

2.6.2 基本属性 78

2.7 Game(游戏)视图 80

2.7.1 视图简介 80

2.7.2 视图控制 80

2.8 Scene(场景)视图 81

2.8.1 视图简介 81

2.8.2 视图控制 83

2.9 Profiler(分析器)视图 85

2.10 Console(控制台)视图 86

2.11 界面定制 87

2.11.1 Unity编辑器布局设置介绍 87

2.11.2 Unity编辑界面色彩设置介绍 88

第3章 资源导入流程 89

3.1 3D模型、材质与动画的导入 90

3.1.1 主流三维软件简介 90

3.1.2 模型、材质以及动画导入前的设置、准备工作 94

3.1.3 将模型、材质、动画导入到Unity中 107

3.2 图片资源的导入 119

3.2.1 Unity所支持的图片格式以及尺寸要求 120

3.2.2 图片资源导入后的设置 120

3.2.3 图片资源类型的设定 123

3.3 音频、视频的导入 128

3.3.1 Unity支持的音频、视频格式 128

3.3.2 音频资源的导入 129

3.3.3 视频资源的导入 131

3.4 创建Prefab 132

3.4.1 Prefab的概念 132

3.4.2 Prefab的创建以及相关操作说明 133

3.4.3 Prefab的应用案例 136

3.5 Unity Asset Store资源商店 141

3.5.1 Asset Store简介 141

3.5.2 Asset Store的使用方法 142

第4章 创建基本游戏场景 147

4.1 创建工程和游戏场景 148

4.2 创建基本几何体 150

4.2.1 基本几何体简介 151

4.2.2 创建基本几何体 151

4.3 创建组件 152

4.3.1 组件的含义及其作用 152

4.3.2 如何添加组件 153

4.3.3 组件类型介绍 155

4.3.4 为游戏对象增加组件 160

4.4 创建脚本 167

4.4.1 Unity支持的脚本类型 167

4.4.2 创建脚本的方式 168

4.4.3 脚本资源包概述 170

4.4.4 自定义新建脚本的模板内容 174

4.5 创建光源 176

4.5.1 Unity的光源类型 176

4.5.2 光源属性讲解 177

4.5.3 光源场景案例 182

4.6 创建摄像机 185

4.6.1 摄像机类型 186

4.6.2 摄影机参数 187

4.6.3 摄影机案例 189

4.7 地形编辑器 192

4.7.1 地形编辑器概述 192

4.7.2 地形的创建方式以及 193

相关参数设定 193

4.7.3 地形编辑器参数讲解案例 206

4.8 创建角色 217

4.8.1 角色控制资源包概述 217

4.8.2 在场景中使用角色控制预设体 218

4.9 粒子系统 221

4.9.1 粒子系统简介 221

4.9.2 粒子资源包的概述 222

4.9.3 粒子系统参数讲解 223

4.10 天空盒 234

4.10.1 天空盒资源包的概述 235

4.10.2 天空盒的两种应用方式及其区别 239

4.10.3 创建天空盒的方法 242

4.11 雾效 246

4.11.1 雾效的添加方法 246

4.11.2 雾效的参数讲解 246

4.12 水效果 247

4.12.1 水资源包的概述 247

4.12.2 水效果的创建实例 252

4.13 音效 254

4.13.1 添加音效 254

4.13.2 音效设置 259

第5章 Shuriken粒子系统 261

5.1 Shuriken粒子系统概述 262

5.2 Shuriken粒子系统的控制面板 263

5.3 Shuriken粒子系统的参数讲解 267

5.4 粒子系统案例 295

第6章 Mecanim动画系统 305

6.1 Mecanim概述 306

6.1.1 Mecanim工作流 306

6.1.2 旧版动画系统 307

6.2 资源的准备和导入 307

6.2.1 如何获取人形网格模型 307

6.2.2 如何导入动画 308

6.2.3 动画分解 309

6.3 使用人形角色动画 310

6.3.1 创建Avatar 311

6.3.2 配置Avatar 312

6.3.3 设置Muscle参数 313

6.3.4 Avatar Body Mask 315

6.3.5 人形动画的重定向 316

6.3.6 逆向运动学功能(Pro only) 319

6.3.7 一般动画 321

6.4 在游戏中使用角色动画 321

6.4.1 循环动画片段 322

6 4.2 Animator组件 322

6.4.3 Animator Controller 323

6.4.4 动画状态机 323

6.4.5 混合树 327

6.4.6 1D混合 327

6.4.7 2D混合 328

6.5 案例分析 329

第7章 物理引擎 339

7.1 Rigidbody:刚体 340

7.2 Colliders:碰撞体 342

7.2.1 碰撞体型介绍 343

7.2.2 碰撞体相关的知识点介绍 347

7.3 Character Controller:角色控制器 349

7.4 布料 351

7.4.1 Interactive Cloth:交互布料 351

7.4.2 Skinned Cloth:蒙皮布料 353

7.4.3 Cloth Renderer:布料渲染器 355

7.5 关节 356

7.5.1 Hinge Joint:铰链关节 356

7.5.2 Fixed Joint:固定关节 358

7.5.3 Spring Joint:弹簧关节 359

7.5.4 Character Joint:角色关节 361

7.5.5 Configurable Joint:可配置关节 363

7.6 力场 368

7.7 物理引擎实例 369

第8章 光照贴图技术 387

8.1 概述 388

8.2 烘焙Lightmap的简单示例 388

8.3 烘焙相关的参数详解 391

8.4 三种Lightmapping方式的比较 396

8.5 Light Probes 399

8.5.1 Light Probes概述 399

8.5.2 Light Probes使用示例 399

8.5.3 Light Probes应用细节 402

第9章 导航网格寻路 405

9.1 概述 406

9.2 导航网格寻路系统简单示例 406

9.3 导航网格寻路系统相关参数详解 411

9.4 进阶使用 413

9.4.1 使用Off-Mesh Link组件 413

9.4.2 为网格分层 415

9.4.3 动态更改可行进层 417

9.4.4 使用Navmesh Obstacle组件 418

第10章 遮挡剔除技术 421

10.1 概述 422

10.2 使用遮挡剔除 422

10.3 设置烘焙参数 424

10.4 使用Occlusion Area组件 425

10.5 使用Occlusion Portals组件 426

第11章 后期屏幕渲染特效 427

11.1 后期屏幕渲染特效的作用 428

11.2 后期屏幕渲染特效资源包概述 428

11.3 后期屏幕渲染特效参数详解及效果展示 430

11.4 后期屏幕渲染特效展示 450

开发篇 459

第12章 游戏开发基础知识 459

12.1 3D数学基础知识 460

12.1.1 向量 460

12.1.2 矩阵 465

12.1.3 齐次坐标 466

12.2 四元数 466

12.3 渲染管线 472

12.4 常见游戏类型 473

12.4.1 按游戏方式分类 473

12.4.2 按游戏运行平台划分 481

第13章 Unity脚本开发基础 483

13.1 脚本介绍 484

13.2 Unity脚本语言 485

13.3 Javascript基本语法 485

13.3.1 变量 486

13.3.2 数组 486

13.3.3 运算、比较、逻辑操作符 488

13.3.4 语句 489

13.3.5 函数 491

13.3.6 JavaScript脚本 492

13.4 C#基本语法 493

13.4.1 变量 493

13.4.2 数组 493

13.4.3 运算、比较、逻辑操作符 495

13.4.4 语句 495

13.4.5 函数 495

13.4.6 C#脚本 497

13.5 Boo基本语法 498

13.5.1 变量 498

13.5.2 数组 499

13.5.3 运算、比较、逻辑操作符 499

13.5.4 语句 499

13.5.5 函数 503

13.5.6 Boo脚本 504

13.6 创建脚本 504

13.6.1 MonoDevelop编辑器 505

13.6.2 脚本必然事件(Certain Event) 506

13.6.3 MonoBehaviour类 508

13.6.4 访问组件 509

13.6.5 访问游戏对象 511

13.7 常用脚本API 512

13.7.1 Transform组件 512

13.7.2 Time类 514

13.7.3 Random类 514

13.7.4 Mathf类 515

13.7.5 Coroutine协同程序 515

第14章 输入与控制 519

14.1 Input类方法和变量 520

14.2 鼠标输入 521

14.3 键盘输入 523

14.4 游戏外设输入 525

14.5 移动设备输入 526

14.6 自定义输入 528

第15章 GUI开发 529

15.1 Unity GUI介绍 530

15.2 GUI控件 530

15.2.1 Label控件 532

15.2.2 Box控件 533

15.2.3 Button控件 534

15.2.4 RepeatButton控件 535

15.2.5 TextField控件 536

15.2.6 PasswordField控件 537

15.2.7 TextArea控件 538

15.2.8 Toggle控件 539

15.2.9 ToolBar控件 540

15.2.10 Slider控件 541

15.2.11 Scrollbar控件 542

15.2.12 ScrollView控件 543

15.2.13 Window窗口 545

15.3 GUISkin控件样式 546

15.4 GUILayout自动布局 548

15.4.1 区域Area 549

15.4.2 水平组和垂直组 550

15.4.3 GUILayout参数 551

15.5 GUI应用实例 552

第16章 Shader开发 565

16.1 内建Shader介绍 566

16.2 Unity里的三种自定义Shader 569

16.3 创建Shader 570

16.4 ShaderLab基础语法 571

16.4.1 Properties属性 572

16.4.2 SubShader子着色器视图 574

16.4.3 Pass 574

16.4.4 备用着色器Fallback 575

16.4.5 Category分类 576

16.5 固定功能管线着色器(Fixed Function Shaders) 576

16.6 表面着色器(Surface Shaders) 577

16.7 顶点片段着色器(Vertex And Fragment Shaders) 582

第17章 开发进阶 587

17.1 Batching技术 588

17.1.1 Draw Call Batching使用与限制 588

17.1.2 Static Batching(静态批处理) 589

17.1.3 Dynamic Batching(动态批处理) 589

17.2 基于Unity的网络解决方案 590

17.2.1 授权服务器 590

17.2.2 非授权服务器 591

17.2.3 Network View(网络视图组件) 592

17.3 多人网络游戏案例 593

17.4 编辑器扩展 635

17.4.1 编辑器脚本介绍 636

17.4.2 创建编辑器窗口 636

17.4.3 自定义Inspector视图 638

17.4.4 自定义场景视图 639

17.4.5 第三方编辑器插件 640

第18章 工作流程 641

18.1 AssetBundle 643

18.1.1 BuildPipeline.BuildAsset-Bundle 643

18.1.2 BuildPipeline.BuildStreamed-SceneAssetBundle 644

18.1.3 BuildPipeline.BuildAsset-BundleExplicitAssetNames 644

18.1.4 BuildAssetBundleOptions选项 644

18.1.5 如何创建AssetBundle之间的依赖 645

18.2 如何下载AssetBundle 646

18.3 AssetBundle的加载与卸载 647

18.3.1 如何加载AssetBundle 647

18.3.2 如何从AssetBundle中加载Assets 649

18.3.3 如何从场景AssetBundle中加载Assets 650

18.3.4 如何卸载AssetBundle 651

18.4 AssetBundle的内存管理 651

18.4.1 下载和加载AssetBundle时对内存的影响 652

18.4.2 AssetBundle以及Asset的卸载 653

18.5 WWW、AssetBundle及Asset的关系 653

第19章 脚本调试与优化 655

19.1 脚本调试 656

19.2 Profiler 661

19.2.1 Profiler的使用 661

19.2.2 IOS设备启用远程分析 671

19.2.3 Android设备的远程分析 672

19.3 优化建议 672

19.3.1 各个平台通用的优化方案 672

19.3.2 移动设备的优化 674

第20章 跨平台发布 677

20.1 发布到网页平台 678

20.1.1 如何将项目发布到Web 678

20.1.2 自定义Unity Web Player的屏幕加载 685

20.1.3 自定义Unity Web Player的行为 688

20.1.4 JavaScript与Unity的通信 689

20.2 发布到Android平台 690

20.2.1 Java SDK的环境配置 690

20.2.2 Android SDK的安装与项目发布 691

20.3 iOS平台的发布 696

20.3.1 发布前的准备工作 697

20.3.2 发布iOS平台的设置 698

20.3.3 项目工程输出与发布 702

第21章 经典案例分析之Angrybots 703

21.1 资源准备 704

21.1.1 静态3D资源(无动画)导出 704

21.1.2 动态3D资源导出 706

21.2 导入资源到项目工程 708

21.3 角色分析 709

21.4 自定义复活位置 712

21.5 角色射击 715

21.6 碰撞检测 717

21.7 自定义路径曲线 718

21.8 降雨效果 720

21.9 静态批处理 723

21.10 相机屏幕的后处理特效 724

21.10.1 地面反射特效 724

21.10.2 Bloom特效 725

21.10.3 景深特效(Depth of Field) 725

21.10.4 色彩噪声特效 725

21.11 Profile游戏分析器 726