欢迎光临
免费的PDF电子书下载网站

Unity 游戏开发技术详解与典型案例 PDF下载

编辑推荐

全面讲解了Unity2018的新特性 讲解了在Unity平台下进行3D应用开发各方面的知识,内容由浅入深,案例详细实用。 内容不仅包含了Unity 3D开发的知识,同时也包含了基于着色器语言、光影效果、动画等技术所实现的特效,以及Unity 3D强大的物理引擎与完整的游戏案例,帮助读者进一步提高开发水平。 ;

内容简介

本书对Unity 3D集成开发环境界面、脚本的编写和众多特效的实现进行了详细介绍。全书共分16章。主要内容包括:Unity 3D基础、Unity 3D集成开发环境、Unity脚本的开发、Unity图形用户界面基础、物理引擎、着色器、常用着色器特效、3D游戏开发的常用技术、光影效果的使用、模型与动画、地形与寻路技术、游戏资源的更新、多线程技术与网络开发、Unity 2D游戏开发、常用性能优化技术、休闲游戏等。 本书适合各个层级Unity 3D应用开发人员阅读,也可供相关专业人士参考。

作者简介

吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有10多年的Java开发与培训经验。目前主要的研究方向为OpenGL ES、Vulkan、VR/AR、手机游戏。同时为手机游戏、OpenGL ES独立软件开发工程师,现任职于华北理工大学并兼任华北理工大学以升大学生创新实验中心移动及互联网软件工作室负责人。十多年来不但多次指导学生制作手游作品获得多项学科竞赛大奖,还为数十家企业培养了上千名软件开发人员。曾编写过《OpenGL ES 3.x游戏开发(上下卷)》、《Unity3D游戏开发标准教程》、《Unity 5.x 3D游戏开发技术详解与典型案例》、《Unity 4 3D开发实战详解》、《Android应用案例开发大全》(第一版至第四版)、《Android游戏开发大全》(第一版至第四版)等多本畅销技术书籍图书。2008年初开始关注Android平台下的3D应用开发,并开发出一系列的Android应用程序与3D游戏。

Unity 游戏开发技术详解与典型案例 PDF下载

目录



目 录



第 1章 Unity基础及集成开发环境的

搭建 1

1.1 Unity基础知识概述 1

1.1.1 初识Unity 1

1.1.2 Unity的诞生及发展 1

1.1.3 Unity的市场前景 2

1.1.4 独具特色的Unity 3

1.2 Unity集成开发环境的搭建 10

1.2.1 Windows平台下Unity的

下载及安装 10

1.2.2 Mac OS平台下Unity的下载及安装 14

1.2.3 目标平台的SDK与Unity

集成 16

1.3 第 一个Unity程序 19

1.4 本书案例的导入及运行 24

1.5 本章小结 28

第 2章 Unity集成开发环境详解 29

2.1 Unity集成开发环境的整体布局 29

2.1.1 概述 29

2.1.2 菜单栏 30

2.1.3 工具栏 30

2.1.4 场景设计面板 31

2.1.5 游戏预览面板 35

2.1.6 游戏组成对象列表 36

2.1.7 项目资源列表 37

2.1.8 属性查看器 38

2.1.9 状态栏与控制台 39

2.1.10 动画视图 39

2.1.11 动画控制器编辑视图 39

2.2 菜单栏 40

2.2.1 File菜单 40

2.2.2 Edit菜单 43

2.2.3 Assets菜单 50

2.2.4 GameObject菜单 55

2.2.5 Component菜单 59

2.2.6 Window菜单 66

2.2.7 Help菜单 71

2.3 本章小结 77

第3章 Unity脚本程序的开发 79

3.1 Unity脚本概述 79

3.2 Unity中C#脚本的注意事项 79

3.3 Unity脚本的基础语法 81

3.3.1 常用操作 81

3.3.2 记录时间 81

3.3.3 访问游戏对象组件 82

3.3.4 访问其他游戏对象 83

3.3.5 向量 85

3.3.6 成员变量和静态成员变量 87

3.3.7 实例化游戏对象 88

3.3.8 协同程序和中断 88

3.3.9 一些重要的类 89

3.3.10 特定文件夹 93

3.3.11 脚本编译 94

3.3.12 与销毁相关的方法 94

3.3.13 性能优化 96

3.4 综合示例 97

3.4.1 示例策划及准备工作 97

3.4.2 创建项目及场景搭建 97

3.4.3 飞机控制脚本实现 100

3.4.4 摄像机跟随脚本实现 103

3.5 本章小结 103

第4章 Unity图形用户界面基础 105

4.1 GUI系统 105

4.1.1 GUI组件的变量 105

4.1.2 GUI中的常用控件 113

4.1.3 GUI控件综合示例 141

4.2 UGUI系统 144

4.2.1 创建UGUI控件 144

4.2.2 Canvas 145

4.2.3 EventSystem组件 146

4.2.4 Rect Transform组件 147

4.2.5 Panel控件 147

4.2.6 Button控件 148

4.2.7 Text控件 151

4.2.8 Image控件 152

4.2.9 Raw Image控件 152

4.2.10 Slider控件 153

4.2.11 Scrollbar控件 154

4.2.12 Toggle控件 155

4.2.13 Input Field控件 156

4.2.14 DropDown控件 157

4.2.15 Scroll View控件 157

4.2.16 UGUI布局管理的使用及

 相关组件介绍 159

4.2.17 UGUI中不规则形状的

 按钮的碰撞检测 163

4.2.18 UGUI屏幕自适应和锚点 164

4.2.19 UGUI综合示例—音乐

 播放器的UI搭建 165

4.3 预制件资源的应用 173

4.3.1 预制件资源的创建 173

4.3.2 通过prefab资源进而实例化对象 174

4.4 常用的输入对象 176

4.4.1 Touch输入对象 176

4.4.2 Input输入对象 178

4.5 本章小结 181

第5章 物理引擎 183

5.1 刚体 183

5.1.1 刚体特性 183

5.1.2 物理管理器 190

5.2 碰撞器 192

5.2.1 碰撞器的添加 193

5.2.2 碰撞过滤 195

5.2.3 触发器 199

5.2.4 碰撞检测 199

5.2.5 物理材质 201

5.2.6 碰撞器交互 202

5.3 关节 202

5.3.1 铰链关节的特性 202

5.3.2 铰链关节的创建 203

5.3.3 固定关节的特性 205

5.3.4 固定关节的创建 205

5.3.5 弹簧关节的特性 206

5.3.6 弹簧关节的创建 206

5.3.7 角色关节的特性 207

5.3.8 角色关节的创建 208

5.3.9 可配置关节的特性 208

5.3.10 可配置关节的创建 210

5.3.11 关节综合示例—机械手 211

5.4 交通工具 216

5.4.1 车轮碰撞器的添加 216

5.4.2 车轮碰撞器的特性 217

5.4.3 车轮碰撞器的应用 218

5.5 布料 223

5.5.1 蒙皮网格的特性 223

5.5.2 布料的特性 223

5.5.3 布料简单示例 224

5.6 力场 226

5.6.1 力场的特性 226

5.6.2 力场综合示例 226

5.7 角色控制器 227

5.7.1 角色控制器的特性 227

5.7.2 角色控制器综合示例 228

5.8 粒子系统 229

5.8.1 粒子系统简介 229

5.8.2 粒子系统的特性 230

5.8.3 通过脚本控制粒子系统 242

5.8.4 粒子系统综合示例 249

5.9 物理引擎在动画系统中的使用 254

5.9.1 场景的搭建 254

5.9.2 脚本的开发 257

5.9.3 运行效果 258

5.10 物理引擎综合示例 258

 5.10.1 场景的搭建 258

 5.10.2 界面的搭建 264

 5.10.3 脚本的开发 265

 5.10.4 示例开发总结 267

5.11 本章小结 267

第6章 着色器 269

6.1 初识着色器 269

6.1.1 着色器概述 269

6.1.2 材质、着色器与贴图 270

6.1.3 ShaderLab语法基础 270

6.1.4 着色器中涉及的各种空间

概念 276

6.2 渲染管线 278

6.2.1 OpenGL渲染管线 279

6.2.2 DirectX渲染管线 284

6.2.3 Unity可编程渲染阶段 285

6.3 着色器的形态 286

6.3.1 固定管线着色器 286

6.3.2 顶点片元着色器 286

6.3.3 表面着色器 292

6.4 表面着色器详述 293

6.4.1 表面着色器基础知识 293

6.4.2 通过表面着色器实现

体积雾 298

6.5 渲染通道的通用指令 303

6.5.1 设置LOD数值 304

6.5.2 渲染队列 305

6.5.3 混合模式 307

6.5.4 Alpha测试 309

6.5.5 深度测试 310

6.5.6 模板测试 312

6.5.7 通道遮罩 316

6.5.8 面的剔除操作 317

6.5.9 抓屏操作 319

6.6 曲面细分着色器 320

6.6.1 固定数量的曲面细分 320

6.6.2 基于距离的曲面细分 322

6.6.3 基于边缘长度的

曲面细分 324

6.6.4 Phong曲面细分 325

6.7 几何着色器 326

6.8 Standard Shader 328

6.8.1 基于物理的着色 328

6.8.2 材质编辑器 329

6.9 着色器的组织和优化 331

6.9.1 着色器的组织和复用 331

6.9.2 移动平台的优化 335

6.10 着色器综合示例 337

 6.10.1 示例策划及准备工作 337

 6.10.2 创建项目及场景搭建 339

 6.10.3 着色器及相关脚本的

 开发 340

 6.10.4 节点对象的创建及相关

 脚本的开发 349

 6.10.5 示例运行效果 351

6.11 本章小结 352

第7章 常用着色器特效 353

7.1 顶点动画 353

7.1.1 基本原理 353

7.1.2 开发步骤 354

7.2 纹理动画 356

7.2.1 基本原理 357

7.2.2 开发步骤 357

7.3 边缘发光 358

7.3.1 基本原理 358

7.3.2 开发步骤 359

7.4 描边效果 360

7.4.1 基本原理 360

7.4.2 开发步骤 362

7.5 遮挡透视效果 363

7.5.1 基本原理 363

7.5.2 开发步骤 364

7.6 菲涅尔效果 365

7.6.1 基本原理 365

7.6.2 立方体纹理技术 366

7.6.3 开发步骤 366

7.7 高斯模糊 369

7.7.1 基本原理 369

7.7.2 开发步骤 370

7.8 Bloom效果 372

7.8.1 基本原理 373

7.8.2 开发步骤 373

7.9 景深效果 375

7.9.1 基本原理 375

7.9.2 开发步骤 376

7.10 积雪效果 378

 7.10.1 基本原理 378

 7.10.2 开发步骤 379

7.11 浴室玻璃效果 381

 7.11.1 基本原理 381

 7.11.2 开发步骤 381

7.12 消融效果 383

 7.12.1 基本原理 383

 7.12.2 开发步骤 383

7.13 本章小结 385

第8章 3D游戏开发的常用技术 387

8.1 立方贴图技术的实际应用 387

8.1.1 Unity天空盒 387

8.1.2 Cubemap的应用 390

8.2 3D拾取技术 392

8.3 视频播放器 396

8.3.1 导入视频片段的属性 396

8.3.2 视频播放器示例 397

8.4 动态字体 399

8.5 重力加速度传感器 401

8.6 PlayerPrefs类 403

8.7 虚拟按钮与摇杆的使用 404

8.7.1 标准资源包的下载与导入 404

8.7.2 虚拟按钮和摇杆使用示例 406

8.8 线的渲染 408

8.9 Render Texture的应用 410

8.10 声音 412

 8.10.1 声音类型 412

 8.10.2 音频管理器 412

 8.10.3 音频监听器 413

 8.10.4 音频源 413

 8.10.5 音频效果 417

 8.10.6 音频混响区 420

 8.10.7 简单的声音控制示例 421

 8.10.8 混音器 423

 8.10.9 录音 430

8.11 Cinemachine相机的使用 431

 8.11.1 Cinemachine相机的下载

 与安装 431

 8.11.2 Cinemachine相机的使用 432

8.12 Timeline的使用 433

8.13 多场景编辑 434

 8.13.1 多场景编辑的基础操作 434

 8.13.2 多场景编辑的高级

 操作 436

 8.13.3 还存在的问题 437

8.14 水特效 437

 8.14.1 基础知识 437

 8.14.2 水特效示例 438

8.15 雾特效 440

 8.15.1 示例效果与基本原理 440

 8.15.2 场景搭建与开发步骤 441

8.16 3D场景中的其他特效 444

 8.16.1 光源周围光晕 444

 8.16.2 面板渲染 445

 8.16.3 投影器 446

8.17 本章小结 446

第9章 光影效果的使用 447

9.1 渲染路径与颜色空间 447

9.1.1 渲染路径 447

9.1.2 颜色空间 448

9.2 光源 448

9.2.1 点光源 449

9.2.2 平行光光源 450

9.2.3 聚光灯光源 451

9.2.4 区域光光源 451

9.2.5 发光材质 452

9.2.6 Cookies 452

9.2.7 光照过滤 453

9.3 阴影 454

9.3.1 阴影质量 454

9.3.2 阴影性能 456

9.3.3 阴影的硬件支持 456

9.4 光照贴图 456

9.4.1 对场景进行光照烘焙 457

9.4.2 光照烘焙参数详解 458

9.5 光探头 460

9.5.1 光探头使用示例 460

9.5.2 光探头应用细节 462

9.5.3 光探头代理 462

9.6 法线贴图 465

9.6.1 在Unity中使用法线

贴图 465

9.6.2 在3ds max中制作法线

贴图 468

9.7 镜头光晕 469

9.8 反射探头 470

9.8.1 反射探头的使用 470

9.8.2 反射探头参数详解 472

9.9 镜子的开发 474

9.9.1 场景的搭建 475

9.9.2 镜面着色器的开发 478

9.9.3 C#脚本的开发 479

9.10 真实水面特效的开发 481

9.10.1 基本原理 482

9.10.2 场景的搭建 483

9.10.3 C#脚本的开发 483

9.10.4 镜面着色器的开发 486

9.11 本章小结 488

第 10章 模型与动画 489

10.1 3D模型的导入 489

 10.1.1 主流3D建模软件简介 489

 10.1.2 Unity与建模软件单位的

 比例关系 490

 10.1.3 将3D模型导入Unity 491

10.2 Mesh 492

 10.2.1 网格过滤器 493

 10.2.2 Mesh属性和方法简介 493

 10.2.3 Mesh的使用 494

 10.2.4 使用Mesh使物体变形

 示例 494

10.3 Shatter Toolkit的使用 499

 10.3.1 Shatter Toolkit简介 499

 10.3.2 使用Shatter Toolkit

 示例 500

10.4 旧版动画系统 507

 10.4.1 角色动画资源的导入 507

 10.4.2 动画控制器 508

 10.4.3 动画脚本 509

 10.4.4 使用旧版动画系统示例 510

10.5 动画系统 513

 10.5.1 角色动画的配置 513

 10.5.2 动画控制器的创建 519

 10.5.3 动画控制器的配置 519

 10.5.4 角色动画的重定向 523

 10.5.5 角色动画的混合—创建

 动画混合树 524

 10.5.6 角色动画的混合—混合

 类型介绍 526

 10.5.7 Mecanim动画系统中的

 代码控制 527

 10.5.8 示例分析 532

10.6 动画变形 535

10.7 本章小结 538

第 11章 地形与寻路技术 539

11.1 地形引擎 539

 11.1.1 地形的创建 539

 11.1.2 灰度图的使用 544

11.2 树编辑器 546

 11.2.1 属性参数简介 546

 11.2.2 一个简单的示例 548

11.3 拖尾渲染器 550

 11.3.1 背景简介 550

 11.3.2 拖尾渲染器的属性 551

 11.3.3 拖尾渲染器的使用 552

 11.3.4 产生汽车轮胎刹车痕

 示例 552

11.4 自动寻路系统 556

 11.4.1 基础知识 556

 11.4.2 一个简单的示例 557

11.5 本章小结 562

第 12章 游戏资源的更新 563

12.1 AssetBundle 563

 12.1.1 AssetBundle简介 563

 12.1.2 AssetBundle的创建 563

 12.1.3 AssetBundle的下载 566

 12.1.4 AssetBundle的加载和

 卸载 568

 12.1.5 关于AssetBundle 569

 12.1.6 本节小结 570

12.2 Lua热更新 571

 12.2.1 热更新简介 571

 12.2.2 xLua简介 572

 12.2.3 xLua框架简介 574

 12.2.4 xLua常用方法简介 575

 12.2.5 xLua热更新示例 577

 12.2.6 热更新服务器的配置 581

 12.2.7 本节小结 583

12.3 本章小结 583

第 13章 多线程技术与网络开发 585

13.1 多线程技术 585

 13.1.1 基础知识 585

 13.1.2 多线程技术用于大量

 计算 586

 13.1.3 多线程技术在网络开发中的

 应用 588

13.2 WWW类 592

 13.2.1 用WWW类访问网络

 资源 592

 13.2.2 场景的搭建 592

 13.2.3 C#脚本的编写 592

13.3 JSON简介与应用 593

 13.3.1 基础知识 593

 13.3.2 JSON的解析 593

13.4 网络类 594

 13.4.1 静态变量 594

 13.4.2 静态方法 597

 13.4.3 消息发送 602

13.5 基于Unity Network开发网络

 游戏 604

 13.5.1 非授权服务器和授权

 服务器 604

 13.5.2 网络视图组件 604

 13.5.3 示例的效果预览 604

 13.5.4 示例场景的搭建 605

 13.5.5 项目主体脚本的开发 607

 13.5.6 服务器和客户端的发布 612

13.6 基于Netty开发网络游戏 613

 13.6.1 Netty框架简介 613

 13.6.2 网络游戏架构简介 613

 13.6.3 示例的效果预览 615

 13.6.4 示例场景的搭建 615

 13.6.5 服务器端的开发 616

 13.6.6 客户端的开发 616

13.7 基于KBEngine服务器开发网络

 游戏 620

 13.7.1 环境的搭建 621

 13.7.2 示例的效果预览 623

 13.7.3 示例场景的搭建 623

 13.7.4 服务器端的开发 624

 13.7.5 客户端的开发 624

13.8 本章小结 630

第 14章 Unity 2D游戏开发 631

14.1 Unity 2D简介 631

 14.1.1 Unity 2D项目的创建 631

 14.1.2 Unity 2D的功能 632

 14.1.3 Unity 2D游戏开发的工作

 流程 632

14.2 Unity 2D核心功能对象——

 Sprite 633

 14.2.1 Sprite对象的创建和基本

 用法 633

 14.2.2 换帧动画的制作 634

 14.2.3 制作换帧动画的具体

 步骤 635

14.3 Unity 2D中的物理引擎 639

 14.3.1 2D刚体 640

 14.3.2 2D碰撞器 644

 14.3.3 2D关节 647

 14.3.4 2D效应器 651

 14.3.5 使用2D物理引擎制作撞

 冰块示例 654

14.4 瓦片地图 660

 14.4.1 瓦片资源的创建 660

 14.4.2 瓦片画板与瓦片地图的

 创建与使用 661

14.5 一个完整的2D游戏示例 662

 14.5.1 游戏背景及功能概述 662

 14.5.2 游戏的策划及准备工作 662

 14.5.3 游戏的架构 664

 14.5.4 主菜单场景的开发 664

 14.5.5 游戏场景的开发 666

14.6 本章小结 672

第 15章 常用性能优化技术与编辑器的

 扩展 673

15.1 程序性能的分析 673

 15.1.1 Profiler工具的使用方法 673

 15.1.2 Profiler工具的参数说明 676

15.2 代码的断点调试 677

 15.2.1 通过MonoDevelop调试 678

 15.2.2 通过Microsoft Visual Studio

 Tools for Unity调试 679

15.3 优化事项 680

 15.3.1 遮挡剔除技术 680

 15.3.2 批处理技术 682

 15.3.3 移动平台的优化技巧 682

15.4 编辑器的扩展——Editor 683

 15.4.1 自定义检视面板 683

 15.4.2 序列化检视面板 685

 15.4.3 自定义窗口 687

 15.4.4 自定义菜单项 687

15.5 本章小结 688

第 16章 休闲游戏—平衡球 689

16.1 背景及功能概述 689

 16.1.1 背景概述 689

 16.1.2 功能概述 690

16.2 游戏的策划及准备工作 692

 16.2.1 游戏的策划 692

 16.2.2 使用Unity开发游戏前的

 准备工作 692

16.3 游戏的架构 696

 16.3.1 各个场景简介 696

 16.3.2 游戏架构简介 697

16.4 主菜单场景 698

 16.4.1 场景的搭建 698

 16.4.2 主摄像机的设置及脚本的

 开发 700

16.5 帮助场景 709

 16.5.1 场景的搭建 709

 16.5.2 主摄像机的设置及脚本的

 开发 709

 16.5.3 球的设置及脚本的开发 714

16.6 关卡一场景 715

 16.6.1 场景的搭建 715

 16.6.2 主摄像机的设置及脚本的

 开发 715





























































 16.6.3 有关动画的设置及脚本的

 开发 719

 16.6.4 球的设置及脚本的开发 724

16.7 关卡二场景 724

 16.7.1 场景的搭建 724

 16.7.2 主摄像机的设置及脚本的

 开发 725

 16.7.3 有关动画的设置的及脚本的

 开发 725

 16.7.4 球的设置及脚本的

 开发 725

16.8 场景的加载 725

16.9 游戏的优化与改进 728







Unity 游戏开发技术详解与典型案例 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:Unity 游戏开发技术详解与典型案例