《Unity 4 3D开发实战详解》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:吴亚峰等编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115329233
  • 页数:478 页
图书介绍:本书结合unity 4最新的版本,对这种多平台的集成引擎和编辑器知识进行讲解,介绍如何使用unity创建游戏、添加交互性,以及修饰游戏并发布游戏的所有知识。每一章都介绍一个独立的案例和开发技术,并且循序渐进地讲述新的知识,并用综合的游戏项目贯穿全书,使读者学以致用。

第1章 Unity 3D基础以及开发环境的搭建 1

1.1 Unity 3D基础知识概览 1

1.1.1 初识Unity 3D 1

1.1.2 Unity的诞生及发展 1

1.1.3 Unity 3D广阔的市场前景 2

1.1.4 独具特色的Unity 3D 2

1.2 开发环境的搭建 7

1.2.1 Unity集成开发环境的安装 7

1.2.2 目标平台的SDK与Unity 3D的集成 11

1.3 第一个Unity 3D程序 15

1.4 导入案例项目 21

1.5 本章小结 22

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

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

2.1.1 Unity集成开发环境的整体布局 23

2.1.2 标题栏 23

2.1.3 菜单栏 24

2.1.4 工具栏 24

2.1.5 场景设计面板 25

2.1.6 游戏预览面板 29

2.1.7 游戏组成对象列表 30

2.1.8 项目资源列表 31

2.1.9 属性查看器 32

2.1.1 0状态栏与控制台 33

2.1.1 1动画视图 33

2.2 菜单栏 34

2.2.1 文件(File) 34

2.2.2 编辑(Edit) 36

2.2.3 资源(Assets) 41

2.2.4 游戏对象(GameObject) 52

2.2.5 组件(Component) 60

2.2.6 地形(Terrain) 63

2.2.7 窗口(Window) 64

2.2.8 帮助(Help) 69

2.3 本章小结 72

第3章 Unity 3D脚本程序开发 73

3.1 Unity脚本概述 73

3.2 Unity中专用JavaScript与通用JavaScript的区别 73

3.2.1 在运行过程中性能的差异 73

3.2.2 在语法上的区别 74

3.3 使用C#脚本的注意事项 76

3.4 Unity脚本的基本语法 77

3.4.1 常用操作 77

3.4.2 记录时间 78

3.4.3 访问其他组件 79

3.4.4 访问其他游戏对象 81

3.4.5 向量 85

3.4.6 成员变量和全局变量 86

3.4.7 实例化 87

3.4.8 协同程序和中断 88

3.4.9 一些重要的类 90

3.4.10 性能优化 93

3.4.11 脚本编译 94

3.4.12 泛化方法 95

3.5.JavaScript脚本综合案例 95

3.5.1 球转场景实现 96

3.5.2 球走场景实现 100

3.6 C#脚本综合案例 103

3.6.1 立方体旋转场景实现 103

3.6.2 球走场景实现 106

3.7 本章小结 107

第4章 Unity 3D图形用户界面基础及常用对象 108

4.1 图形用户界面组件 108

4.1.1 图形用户界面组件的变量 108

4.1.2 图形用户界面中的常用控件 115

4.1.3 图形用户界面控件综合案例 139

4.2 预制件prefab资源的应用 143

4.2.1 预制件prefab资源的创建 143

4.2.2 通过prefab资源进而实例化对象 144

4.3 常用的输入对象 145

4.3.1 Touch输入对象 146

4.3.2 Input输入对象 147

4.4 与销毁相关的方法 154

4.4.1 Object.Destroy方法 154

4.4.2 Network.Destroy方法 155

4.4.3 EditorWindow.OnDestroy方法 155

4.4.4 MonoBehaviour.OnDestory方法 156

4.4.5 ScriptableObject.OnDestory方法 156

4.4.6 Object.DestoryImmediate方法 156

4.5 本章小结 157

第5章 Unity 3D第三方2D组件库——NGUI 158

5.1 初识NGUI 158

5.1.1 NGUI背景概述 158

5.1.2 NGI的导入 159

5.1.3 NGI菜单 160

5.1.4 UI层简介 162

5.2 控件工具的使用 164

5.2.1 文本标签——Label 164

5.2.2 图片精灵——Sprite 166

5.2.3 按钮——Button 168

5.2.4 复选框——Checkbox 171

5.2.5 滑块——Slider 174

5.2.6 文本输入框——Input 177

5.2.7 弹出列表——Popup List 180

5.3 杂项 184

5.3.1 Atlas图集制作 184

5.3.2 中文字体制作 187

5.3.3 法线贴图与动画曲线编辑 189

5.4 一个NGI的综合案例 192

5.4.1 制作布局界面 192

5.4.2 实现窗口的拖曳和动态效果 197

5.4.3 制作灯光效果 200

5.5 本章小结 204

第6章 物理引擎 205

6.1 刚体 205

6.1.1 刚体特性 205

6.1.2 物理管理器 209

6.1.3 碰撞与休眠 212

6.2 碰撞器 213

6.2.1 碰撞器的添加 214

6.2.2 碰撞过滤 218

6.2.3 物理材质 223

6.3 粒子系统 224

6.3.1 粒子系统的简介 225

6.3.2 粒子系统的特性 226

6.3.3 粒子系统的组合使用 228

6.4 关节 231

6.4.1 铰链关节的特性 231

6.4.2 铰链关节的创建 233

6.4.3 固定关节的特性 235

6.4.4 固定关节的创建 235

6.4.5 弹簧关节的特性 236

6.4.6 弹簧关节的创建 236

6.4.7 角色关节的特性 237

6.4.8 角色关节的创建 237

6.4.9 可配置关节的特性 238

6.4.1 0可配置关节的创建 243

6.4.1 1 关节综合案例——机械手 244

6.5 交通工具 249

6.6 布料 257

6.6.1 布料特性 258

6.6.2 布料的简单案例 263

6.7 物理引擎综合案例 265

6.8 本章小结 274

第7章 3D游戏开发的常用技术 275

7.1 天空盒的应用 275

7.1.1 Unity内置的天空盒资源 275

7.1.2 开发实际需要的天空盒 277

7.2 虚拟按钮与摇杆使用 279

7.2.1 Unity内置的虚拟按钮与摇杆资源 279

7.2.2 虚拟按钮与摇杆使用的案例 280

7.3 声音 283

7.3.1 音频管理器(AudioManager) 284

7.3.2 音频监听器(Audio Listener) 284

7.3.3 音频源(Audio Source) 285

7.3.4 音频效果(Audio Effects) 287

7.3.5 音频混响区(Audio Reverb Zones) 290

7.3.6 简单的声音控制案例 291

7.4 光源 292

7.4.1 点光源(Point light) 292

7.4.2 平行光光源(Directional light) 294

7.4.3 聚光灯光源(Spotlight) 295

7.4.4 区域光光源(Area Light) 296

7.4.5 光照过滤 297

7.5 3D拾取技术 298

7.6 地形引擎 301

7.6.1 创建地形 301

7.6.2 编辑地形 302

7.6.3 添加树木和草 306

7.6.4 添加水 309

7.6.5 地形参数 309

7.7 角色动画 310

7.7.1 导入角色动画 310

7.7.2 动画脚本 311

7.7.3 状态机动画系统(Mecanim) 312

7.8 角色控制器 317

7.8.1 添加角色控制器 317

7.8.2 角色控制器的使用 318

7.8.3 角色导入案例 318

7.9 实时阴影技术 322

7.1 0本章小结 324

第8章 着色器——Shaders 325

8.1 着色器概述 325

8.2 ShaderLab语法基础 326

8.2.1 Shader 326

8.2.2 Properties 326

8.2.3 SubShader 327

8.2.4 SubShader Tags 327

8.2.5 Pass 328

8.2.6 Fallback 330

8.2.7 Category 330

8.3 通道渲染命令(ShaderLab) 330

8.3.1 颜色、材质和光照 330

8.3.2 剪裁和深度测试 332

8.3.3 纹理处理 333

8.3.4 雾 335

8.3.5 Alpha测试 335

8.3.6 混合 337

8.3.7 通道标签 338

8.3.8 绑定通道 339

8.4 表面着色器的基础知识 339

8.5 通过表面着色器实施顶点变换 342

8.5.1 二维变形 342

8.5.2 扭扭糖 345

8.5.3 吹气膨胀效果 348

8.6 通过表面着色器实施片元变换 350

8.6.1 沙滩球 350

8.6.2 砖块球 354

8.7 顶点片元着色器 358

8.7.1 顶点片元着色器的基础知识 358

8.7.2 带光照的沙滩球 359

8.8 本章小结 363

第9章 杂项 364

9.1 PlayerPrefs类 364

9.2 网络——Network 366

9.2.1 消息发送——Messages Sent 366

9.2.2 类变量——Class Variables 369

9.2.3 类方法——Class Functions 375

9.3 加速度传感器 382

9.4 模型导入 385

9.5 动态字体 386

9.6 视频贴图 388

9.6.1 基础知识 388

9.6.2 案例 388

9.7 本章小结 390

第10章 综合案例——火力篮球 391

10.1 火力蓝球游戏背景以及功能概述 391

10.1.1 火力蓝球游戏背景概述 391

10.1.2 火力蓝球功能简介 391

10.2 游戏的策划及准备工作 393

10.2.1 游戏的策划 393

10.2.2 使用Unity开发游戏前的准备工作 393

10.3 游戏的架构 395

10.3.1 各个场景的简要介绍 395

10.3.2 游戏架构简介 397

10.4 主菜单界面 398

10.5 游戏界面 402

10.5.1 场景搭建 402

10.5.2 篮球及其脚本 409

10.5.3 计分触发器开发 413

10.5.4 主摄像机设置及脚本开发 416

10.6 设置界面 417

10.7 关于界面 420

10.8 帮助界面 421

10.8.1 场景搭建 421

10.8.2 篮球脚本开发 422

10.8.3 计分触发器的脚本开发 424

10.8.4 主摄像机脚本开发 426

10.9 记录界面 428

10.10 游戏结束界面 432

10.11 游戏的优化与改进 433

第11章 综合案例——3D保龄球 434

11.1 3D保龄球游戏背景及功能概述 434

11.1.1 3D保龄球背景概述 434

11.1.2 3D保龄球功能简介 434

11.2 游戏的策划及准备工作 436

11.2.1 游戏的策划 436

11.2.2 使用Unity开发游戏前的准备工作 436

11.3 游戏的架构 439

11.3.1 各个场景的简要介绍 439

11.3.2 游戏架构简介 441

11.4 主菜单界面 442

11.5 游戏界面 448

11.5.1 场景搭建 448

11.5.2 保龄球瓶及其脚本 451

11.5.3 初始化与得分计算 454

11.5.4 瓶子碰撞体的组装 460

11.5.5 得分的绘制,储存和返回键的开发 462

11.5.6 瓶子下降和下降台控制 465

11.6 设置界面 466

11.7 统计界面 469

11.8 帮助界面 473

11.9 游戏结束界面 476

11.10 游戏的优化与改进 478