商品参数
| Unity 5.x 完全自学手册 |
| | 定价 | 99.00 |
| 出版社 | 电子工业出版社 |
| 版次 | 1 |
| 出版时间 | 2016年08月 |
| 开本 | 16开 |
| 作者 | 商宇浩,李—帆,张吉祥 编 |
| 装帧 | 平装 |
| 页数 | 424 |
| 字数 | |
| ISBN编码 | 9787121297304 |
内容介绍
《Unity 5.x 完全自学手册》是初学者快速自学Unity 5.0软件及以上版本的实用全面教程。全书共分21章,从Unity 5.x 软件的安装和使用方法开始讲起,以循序渐进的方式详细讲解Unity视图与基础操作、资源导入流程、场景创建、GUI图形与用户界面基础、粒子系统、Mecanim动画系统、物理引擎、光照烘焙技术、遮挡剔除技术、地形系统、脚本语言开发基础、Shader开发、脚本调试优化与内存管理、跨平台发布、重力感应技术、AR(增强现实)技术、Leap Motion技术等内容,并深入剖析了塔防类游戏、跑酷类游戏,以及射击类游戏的开发与制作,内容基本涵盖了Unity 5.x全部的工具和命令。书中每章精心安排了具有针对性的实例,不仅可以帮助读者轻松掌握软件的使用方法,更能应对各种实际工作需要。为了便于读者学习,本书还附赠教学视频,能够帮助读者快速掌握游戏开发技术。下载地址:http://www.broadview.com.cn/29730。本书适用于广大Unity 初学者,以及有志于从事Unity 3D 工作的人员使用,同时也适合高等院校相关专业的学生和各类培训班的学员参考阅读。
作者介绍
本书的作者和编审会成员均是多年从事多媒体应用教学和科研的专家或学者,有着丰富的教学经验和实践经验,这些作品都是他们的科研成果和教学经验的结晶。本成果受《3D技术在多媒体课件中的应用》科研项目(项目编号08150114/173)资助出版。本书由北京印刷学院严晨教授主审,商宇浩、李—帆、张吉祥主编,刘怡、潘伟东等参编。其中商宇浩编写第6、11、15、20、21章的内容,李—帆编写第1、2、3、8、19章的内容,刘怡编写第7、13、18章的内容,张吉祥编写第4、5、9、12、16章的内容,潘伟东编写第10、14、17章的内容。
关联推荐
本书附赠超过400分钟的教学视频,学习知识更加轻松自如!
媒体评论
编辑推荐
如果你想快速掌握Unity的使用,《Unity 5.x 完全自学手册》将会带给你意想不到的收获。因为本书具有众多突出的优势。
专为Unity初学者量身打造
本书面向Unity的初学者,无论是对Unity—无所知的初学者,还是有—定基础、想要了解更多知识的Unity用户,都可以从书中轻松获取需要的内容。
图书结构科学合理
凭借深入细致的市场调查和研究,我们针对Unity初学者的特点和需求,精心安排了zui优的学习结构,通过将知识点和实例相结合帮助读者轻松快速地进行学习。
学练结合,理论联系实际
本书以实用为宗旨,大量知识点都融入贴近实际应用的案例讲解,并提供了众多精彩、颇具实用价值的综合实例,有助于读者轻而易举地理解重点和难点,并能有效地提高动手能力。
配有精彩、超值的教学视频
本书附赠超过400分钟的教学视频,学习知识更加轻松自如!
目录
第1章 Unity 5.x简介 1
1.1 Unity 5.x概述 1
1.1.1 Unity 功能概述 1
1.1.2 Unity 5.x重点新增功能 6
1.2 Unity在游戏领域的应用 8
1.3 Unity软件安装 10
1.4 购买Unity许可证 12
1.5 本章小结 16
第2章 Unity视图与基础操作 17
2.1 Unity的界面布局 17
2.2 菜单栏 19
2.2.1 File(文件菜单) 19
2.2.2 Edit(编辑菜单) 22
2.2.3 Assets(资源菜单) 32
2.2.4 GameObject(游戏物体菜单) 36
2.2.5 Component(组件菜单) 47
2.2.6 Window(窗口菜单) 54
2.2.7 Help(帮助菜单) 55
2.3 Project(项目)视图 56
2.3.1 视图布局 56
2.3.2 操作介绍 56
2.4 Hierarchy(层次)视图 57
2.4.1 视图布局 57
2.4.2 操作介绍 58
2.5 Scene(场景)视图 58
2.5.1 视图布局 59
2.5.2 操作介绍 59
2.6 Game(游戏)视图 62
2.6.1 视图布局 62
2.6.2 操作介绍 62
2.7 Inspector(检视)视图 63
2.7.1 视图布局 63
2.7.2 操作介绍 64
2.8 本章小结 64
第3章 资源导入流程 65
3.1 媒体导入 65
3.1.1 3D模型、材质与动画导入 65
3.1.2 模型、材质与动画的导入 65
3.1.3 图片资源导入 70
3.1.4 音频、视频媒体资源导入 75
3.2 创建Prefab(预置体) 77
3.2.1 创建Prefab(预置体)操作介绍 77
3.2.2 Prefab(预置体)的应用 79
3.3 Unity Asset Store资源商店 82
3.3.1 Unity Asset Store资源商店介绍 83
3.3.2 Unity Asset Store资源商店使用方法 84
3.4 游戏资源导入实例――《宁静秋野》 84
3.5 本章小结 89
第4章 场景创建 90
4.1 创建工程和游戏场景 90
4.2 创建基本几何体 91
4.3 创建组件 92
4.4 创建脚本 93
4.5 创建光源 94
4.6 创建摄像机 95
4.7 创建角色 96
4.8 粒子系统 98
4.9 声音效果 102
4.10 创建UGUI 104
4.11 天空盒 107
4.12 雾效果 109
4.13 拓展训练――游戏地图的制作 109
4.14 本章小结 111
第5章 Unity图形与用户界面基础 112
5.1 Unity GUI简介 112
5.2 UI概要 112
5.2.1 Canvas(画布) 112
5.2.2 Render Mode(渲染模式) 113
5.2.3 Canvas Scaler组件 114
5.2.4 Graphic Raycaster组件 115
5.2.5 EventSystem(事件系统) 115
5.3 UGUI的基本布局 116
5.3.1 The Rect Tool(矩形工具) 116
5.3.2 Rect Transform(矩形变换组件) 117
5.3.3 Resizing Versus Scaling(调整与扩展) 117
5.3.4 Pivot(中心点) 118
5.3.5 Anchors(锚点) 118
5.4 UGUI核心控件 119
5.4.1 UGUI Panel组件 119
5.4.2 Text(文本) 120
5.4.3 Image(图像) 121
5.4.4 Raw Image 124
5.4.5 Button(按钮) 125
5.4.6 Slider(滑动条) 128
5.4.7 Scrollbar(滚动条) 129
5.4.8 Scroll Rect(滑动区域) 129
5.4.9 Toggle(切换)组件 130
5.4.10 Toggle Group(切换组) 131
5.4.11 Input Field(输入字段) 131
5.5 拓展训练――游戏主界面的创建 133
5.6 本章小结 141
第6章 新版粒子系统 142
6.1 粒子系统的创建 142
6.2 粒子系统的控制面板 143
6.3 粒子系统参数 144
6.3.1 Initial(初始化)模块 144
6.3.2 Emission(发射)模块 147
6.3.3 Shape(形状)模块 147
6.3.4 Velocity over Lifetime(生命周期速度)模块 150
6.3.5 Limit Velocity over Lifetime(生命周期速度限制)模块 150
6.3.6 Force over Lifetime(生命周期作用)模块 151
6.3.7 Color over Lifetime(生命周期颜色)模块 151
6.3.8 Color by Speed(颜色的速度控制)模块 151
6.3.9 Size over Lifetime(生命周期粒子大小)模块 151
6.3.10 Size by Speed(粒子大小的速度控制)模块 151
6.3.11 Rotation Over Lifetime(生命周期旋转)模块 151
6.3.12 Rotation by Speed(旋转的速度控制)模块 151
6.3.13 External Force(外部作用力)模块 152
6.3.14 Collision(碰撞)模块 152
6.3.15 Sub Emitters(子发射器)模块 153
6.3.16 TextureSheet Animation(序列帧动画纹理)模块 153
6.3.17 Renderer(粒子渲染器)模块 153
6.3.18 粒子编辑器 156
6.4 拓展训练――粒子系统实例 159
6.5 本章小结 165
第7章 Mecanim动画系统 166
7.1 Mecanim动画系统简介 166
7.1.1 Mecanim动画系统术语 166
7.1.2 角色导入及Animators工作原理 167
7.2 使用人形角色动画 170
7.2.1 创建Avatar 170
7.2.2 配置Avatar 171
7.2.3 BodyMask(身体遮罩) 172
7.2.4 人形动画的重定向功能 172
7.2.5 非人形动画 174
7.3 在游戏中使用角色动画 174
7.3.1 Mecanim系统逆向运动学功能 174
7.3.2 Animator组件 175
7.3.3 Animator Controller 175
7.3.4 Animator动画状态机 176
7.3.5 Blend Trees(混合树) 178
7.3.6 1D混合 179
7.3.7 2D混合 180
7.4 拓展训练――游戏动画案例 180
7.5 本章小结 185
第8章 物理引擎 186
8.1 刚体 186
8.1.1 刚体基本使用方法 186
8.1.2 刚体选项设置 187
8.2 碰撞体 188
8.2.1 使用碰撞体 188
8.2.2 碰撞体选项设置 189
8.3 角色控制器 192
8.3.1 添加角色控制器 192
8.3.2 角色控制器选项设置 192
8.4 关节 193
8.4.1 铰链关节 193
8.4.2 固定关节 194
8.4.3 弹簧关节 195
8.4.4 角色关节 196
8.4.5 可配置关节 197
8.5 布料World Acceleration Scale 200
8.5.1 添加布料系统 200
8.5.2 布料系统属性设置 201
8.6 力场 202
8.6.1 添加力场组件 202
8.6.2 力场组件属性设置 203
8.7 拓展训练――《彩豆迷宫》 203
8.8 本章小结 206
第9章 光照烘焙技术 207
9.1 Unity 5.x光照烘焙参数 207
9.1.1 Object面板参数 207
9.1.2 Scene面板参数 208
9.2 实时全局光照 209
9.3 实时光照贴图预览 210
9.4 “高动态光照”反射探头技术 211
9.5 Light Probes概述 213
9.6 本章小结 216
第10章 遮挡剔除技术 217
10.1 使用遮挡剔除 217
10.2 烘焙参数设置 220
10.3 使用Occlusion Area组件 221
10.4 使用Occlusion Portals组件 222
10.5 拓展训练――遮挡剔除技术应用实例 222
10.6 本章小结 227
第11章 地形系统 228
11.1 地形系统工作流程 228
11.1.1 创建地形 228
11.1.2 地形参数调整 229
11.2 地形编辑工具 230
11.2.1 地形高度绘制 230
11.2.2 地形纹理绘制 231
11.2.3 种植树木 233
11.2.4 地形细节绘制 235
11.2.5 地形设置 238
11.3 拓展训练――地形系统实例 239
11.5 本章小结 246
第12章 Unity脚本语言开发基础 247
12.1 脚本更新 247
12.2 C#脚本语法 247
12.2.1 变量 247
12.2.2 数组 248
12.2.3 算术、关系、逻辑运算符 249
12.2.4 语句 249
12.2.5 函数 252
12.2.6 C#脚本 253
12.3 创建脚本 253
12.3.1 MonoDevelop编辑器 254
12.3.2 脚本必然事件 255
12.3.3 MonoBehaviour类 256
12.3.4 访问组件 257
12.3.5 访问游戏对象 258
12.4 常用脚本API 258
12.4.1 Transform组件 258
12.4.2 Time类 259
12.4.3 Random类 260
12.4.4 Mathf类 260
12.4.5 Coroutine 协同程序 261
12.5 拓展训练――游戏实例 262
12.6 本章小结 267
第13章 Shader开发 268
13.1 Shader简介 268
13.2 创建Shader 272
13.2.1 Tags 273
13.2.2 LOD 274
13.2.3 Shader本体 275
13.3 ShaderLab基础语法 276
13.3.1 Shader范例讲解 276
13.3.2 Shader中的Properties属性 277
13.4 本章小结 280
第14章 脚本调试优化与内存管理 281
14.1 脚本调试 281
14.2 脚本优化 283
14.2.1 跨平台综合优化方案 283
14.2.2 物理性能和脚本性能优化 283
14.3 内存管理 284
14.3.1 Profiler 285
14.3.2 iOS设备启用运程分析 292
14.3.3 Android设备启用运程分析 292
14.4 本章小结 292
第15章 跨平台发布 293
15.1 网页平台发布 293
15.2 Android平台发布 298
15.2.1 Java SDK 的安装与环境配置 298
15.2.2 Android SDK的安装与项目发布 299
15.3 iOS平台发布 302
15.3.1 Xcode 下载及安装 303
15.3.2 iOS开发者账号申请 304
15.3.3 iOS平台项目发布 306
15.4 本章小结 309
第16章 塔防类游戏设计 310
16.1 塔防类游戏设计说明 310
16.2 游戏环境设定 310
16.3 游戏开始界面UGUI的制作 312
16.4 游戏开始界面脚本设计 315
16.5 游戏场景设计 318
16.6 主角动作脚本设计 319
16.7 子弹脚本设定 322
16.8 NPC怪物诞生脚本设计 325
16.9 NPC怪物动作脚本设计 326
16.10 角色血量脚本设计 331
16.11 角色得分及过关脚本设计 332
16.12 游戏界面制作 333
16.13 游戏结束及暂停界面制作 336
16.14 游戏发布测试 341
第17章 跑酷类游戏设计 343
17.1 游戏架构 343
17.2 游戏环境设定 344
17.3 游戏开始界面制作 345
17.4 商店场景设计 348
17.5 游戏场景设计 350
17.6 游戏发布测试 356
第18章 射击类游戏设计 358
18.1 角色与场景准备 358
18.2 角色的运动控制 361
18.3 相机脚本编写 365
18.4 敌人角色创建及脚本编写 366
18.5 制作角色血条 370
18.6 本章小结 372
第19章 重力感应技术 373
19.1 重力感应技术介绍 373
19.2 重力感应开发案例讲解及源代码介绍 374
19.3 本章小结 378
第20章 Unity AR(增强现实)技术 379
20.1 AR(增强现实)技术介绍 379
20.1.1 技术原理 379
20.1.2 主要元素与特点 379
20.1.3 应用领域 380
20.2 高通AR与Unity联合开发案例 382
20.2.1 下载高通AR套件 382
20.2.2 License Manager设置 384
20.2.3 Target Manager设置 385
20.2.4 Unity中AR的基本设置 388
20.3 本章小结 392
第21章 Leap Motion技术 393
21.1 Leap Motion技术介绍 393
21.1.1 技术原理 393
21.1.2 技术特点 393
21.1.3 应用领域 394
21.2 Leap Motion的安装 394
21.2.1 Leap Motion的驱动安装 394
21.2.2 Leap Motion的SDK安装 395
21.3 Leap Motion的功能与技术构架 396
21.3.1 Leap Motion的Driver功能 396
21.3.2 Leap Motion对Unity的支持信息 397
21.3.3 Leap Motion的手势识别种类 398
21.3.4 Leap For Unity API架构 401
21.3.5 Leap Motion的资料取得过程 402
21.4 Leap Motion开发实例 403
21.4.1 初始Leap For Unity范例 403
21.4.2 判断Leap Motion手势范例 407
21.5 本章小结 410
《Unity 5.x 完全自学手册》是一本旨在帮助初学者乃至有一定基础的开发者掌握Unity 5.x游戏开发核心技术的实用教程。本书内容全面,循序渐进,从Unity 5.0软件的基本介绍入手,逐步深入到场景搭建、脚本编程、UI设计、物理模拟、动画制作、多人联网以及性能优化等各个关键领域,力求为读者打造一个完整、高效的学习路径。 第一章:Unity 5.x 基础入门 本章将带领读者走进Unity 5.x的世界。首先,我们会详细介绍Unity Hub的安装与使用,它是管理Unity版本和项目的重要工具。接着,深入讲解Unity 5.x编辑器界面的布局与功能,包括Scene视图、Game视图、Hierarchy窗口、Project窗口、Inspector窗口等核心区域的用途。读者将学习如何创建新项目,理解Unity的项目结构,并掌握基本的场景操作,如物体创建、移动、旋转、缩放以及材质的初步应用。此外,还会简要介绍Unity 5.x在光照、渲染方面的重大更新,为后续章节的学习打下基础。 第二章:Unity 5.x 场景与物体构建 本章将聚焦于游戏场景的搭建和物体管理。读者将学习如何创建和组织复杂的场景,包括地形的生成与编辑,使用Unity内置的ProBuilder工具进行模型创建,以及导入外部3D模型。我们会深入讲解各种游戏对象(GameObject)的组成部分,如Transform组件(位置、旋转、缩放)、Mesh Filter和Mesh Renderer(渲染模型),以及Collider组件(碰撞检测)。本章还将探讨物理材质的使用,让物体拥有真实的物理属性。此外,还会介绍常用的3D模型导入格式及其在Unity中的设置。 第三章:C 脚本编程基础 脚本是Unity游戏的核心驱动力。本章将系统介绍C编程语言在Unity中的应用。读者将从零开始学习C的基础语法,包括变量、数据类型、运算符、条件语句(if-else)、循环语句(for, while)以及函数。随后,我们将讲解Unity脚本的生命周期(Awake, Start, Update, FixedUpdate, LateUpdate等)及其调用顺序,让读者理解脚本何时何地执行。我们将通过大量的实例,演示如何通过脚本控制游戏对象的移动、旋转、触发事件、响应输入等。最后,还会介绍Unity提供的常用API,如Input类、Transform类、Rigidbody类等。 第四章:Unity 5.x 物理引擎 真实的物理交互是游戏沉浸感的重要来源。本章将深入剖析Unity 5.x强大的物理引擎。读者将学习如何为游戏对象添加Rigidbody组件,理解质量、重力、阻力等参数的作用。我们将详细介绍各种碰撞器(Collider)类型,如Box Collider, Sphere Collider, Capsule Collider, Mesh Collider等,并讲解它们在碰撞检测中的原理和应用。本章还将深入讲解碰撞事件(OnCollisionEnter, OnCollisionStay, OnCollisionExit)和触发事件(OnTriggerEnter, OnTriggerStay, OnTriggerExit)的处理,让读者能够编写出能够响应物理碰撞的脚本。此外,还会介绍关节(Joint)组件,实现物体间的复杂物理连接。 第五章:Unity 5.x UI 系统 用户界面(UI)是玩家与游戏互动的主要途径。本章将全面介绍Unity 5.x的UI系统。读者将学习如何使用Canvas组件创建UI画布,并掌握UGUI(Unity UI)的各种常用控件,如Text(文本)、Image(图像)、Button(按钮)、Slider(滑块)、Toggle(开关)、InputField(输入框)等。我们将讲解UI元素的布局与对齐方式,以及如何通过脚本与UI控件进行交互,例如点击按钮触发事件,更新文本显示分数等。本章还会探讨UI的响应式设计,确保UI在不同屏幕分辨率下都能良好显示。 第六章:Unity 5.x 动画系统 生动的动画能够赋予游戏角色和场景生命力。本章将详细讲解Unity 5.x的动画系统。读者将学习如何创建和编辑动画剪辑(Animation Clip),包括关键帧的设置、曲线编辑器的使用以及动画事件的添加。我们将重点讲解Animator组件及其工作流程,包括Animator Controller的创建,状态机的设计,以及参数的设置,实现动画的切换和混合。本章还会介绍蒙皮动画(Skinned Mesh Animation)的导入与使用,以及如何通过脚本控制动画播放。 第七章:Unity 5.x 音频系统 声音是营造游戏氛围、增强玩家体验的重要元素。本章将介绍Unity 5.x的音频系统。读者将学习如何导入音频文件,并在场景中添加Audio Source组件来播放声音。我们将讲解Audio Clip、Audio Mixer以及Audio Listener的概念,以及它们在音频处理中的作用。本章还会探讨3D空间音频的实现,让声音具有方向感和距离感。此外,还会介绍如何通过脚本控制音频的播放、暂停、音量调节等,并演示如何使用Audio Mixer实现背景音乐和音效的混合与切换。 第八章:Unity 5.x 粒子系统 绚丽的粒子效果能够极大地提升游戏的视觉表现力。本章将深入讲解Unity 5.x的粒子系统(Particle System)。读者将学习如何创建和配置粒子发射器(Emitter),设置粒子的形状、颜色、大小、生命周期、速度、力场以及纹理。我们将详细介绍粒子系统的各种模块,如Emission, Shape, Velocity over Lifetime, Color over Lifetime, Size over Lifetime, Renderer等,并演示如何利用它们创建火焰、烟雾、爆炸、魔法效果等。本章还会探讨粒子系统与脚本的结合,实现动态的粒子效果。 第九章:Unity 5.x 摄像机与渲染 摄像机是玩家观察游戏世界的窗口,而渲染则决定了游戏的视觉质量。本章将深入探讨Unity 5.x的摄像机设置和渲染管线。读者将学习如何创建和配置摄像机,理解不同的投影模式(透视、正交),以及如何调整摄像机的视角、视野范围、深度等参数。我们还会介绍Unity 5.x引入的基于物理的渲染(PBR)流程,讲解Metallic(金属度)和Smoothness(光滑度)等材质属性,以及它们对模型外观的影响。本章还会介绍光照贴图(Lightmapping)和实时光照的设置,提升场景的真实感。 第十章:Unity 5.x 性能优化 游戏性能直接影响玩家的游戏体验。本章将重点讲解Unity 5.x的性能优化技巧。读者将学习如何使用Unity Profiler工具来检测和分析游戏的性能瓶颈,包括CPU和GPU的使用情况。我们将探讨各种优化策略,如Draw Call的合并、LOD(Level of Detail)的应用、遮挡剔除(Occlusion Culling)、静态批处理(Static Batching)、动态批处理(Dynamic Batching)等。此外,还会讲解如何优化脚本代码,减少内存分配,以及如何有效地管理资源。 第十一章:Unity 5.x 进阶应用 本章将介绍一些Unity 5.x的高级应用和开发技巧。包括: 多场景管理: 如何在大型项目中管理多个场景,以及场景加载与卸载的策略。 对象池(Object Pooling): 提高游戏性能,减少实例化和销毁对象开销的重要技术。 数据持久化: 如何保存和加载游戏数据,如玩家进度、设置等。 Shader编程初步: 简要介绍Unity Shader Lab,让读者了解如何自定义材质效果。 版本控制(Git): 讲解如何使用Git等版本控制工具进行团队协作和项目管理。 第十二章:多人游戏开发基础 本章将为读者打开多人游戏开发的大门。我们将介绍Unity 5.x中用于多人游戏开发的基本概念和常用解决方案。读者将了解客户端-服务器架构、网络同步、帧同步等基本原理。虽然本书不深入到复杂的网络编程细节,但会提供相关的Unity网络组件(如UNET,虽然在后续版本中已被弃用,但其理念仍有借鉴意义)或第三方网络解决方案的介绍,帮助读者理解多人游戏的基本架构和实现思路。 第十三章:项目实战 理论结合实践是最好的学习方式。本章将通过一个完整的项目实战,将前面章节所学的知识融会贯通。读者将跟随指导,从零开始构建一个小型游戏,例如一个简单的2D平台跳跃游戏或一个3D射击游戏。通过实际动手操作,读者将亲身体验场景搭建、角色控制、敌人AI、关卡设计、UI交互、音效配合等整个游戏开发流程,加深对Unity 5.x的理解,并积累宝贵的项目经验。 附录:Unity 5.x 常用资源与社区 本书最后将提供一份实用的附录,推荐一些Unity 5.x开发过程中常用的资源网站、插件商店、技术论坛以及官方文档链接,帮助读者在学习过程中遇到问题时能够找到解决方案,并鼓励读者积极参与Unity社区,与其他开发者交流学习。 本书特色: 内容全面: 涵盖Unity 5.x游戏开发的各个关键环节,适合不同水平的读者。 循序渐进: 从基础概念到高级技巧,章节安排合理,易于理解和掌握。 实例丰富: 大量贴近实际开发的代码示例和项目演示,帮助读者学以致用。 实用性强: 侧重于实际操作和项目开发,帮助读者快速上手,独立完成游戏项目。 与时俱进: 重点介绍Unity 5.x版本的特性和更新,确保知识的有效性。 通过阅读本书,您将能够系统地掌握Unity 5.x游戏开发的核心技术,并具备独立开发小型至中型游戏的实力。