编辑推荐
1.游戏开发专家力作,作者培训和讲授此课程多年,案例都是来自于实际的商业项目。
2.配套资源丰富,视频、课件、源代码、习题解答。
3. 印刷精美,案例效果均配有彩插。
内容简介
本书本着“起点低、终点高”的原则,内容覆盖了从学习Unity3D开发引擎必知必会的基础知识到能够熟练使用Unity 3D开发引擎制作简单3D游戏的每一个阶段。全书共分为12章,前11章按照由易到难的顺序依次介绍了Unity基础与开发环境配置、脚本程序的开发、图形用户界面、物理引擎、着色器基础、3D游戏开发常用技术、光影效果、模型与动画、地形与寻路技术、游戏资源更新及网络开发。结尾一章给出了一个完整的游戏案例,既可以作为课程的总结与提高,也可以作为课程设计。
本书既可以作为高等院校计算机相关专业计算机游戏或多媒体虚拟现实及增强现实相关课程的教材,也可以作为相关领域开发人员的参考用书。
作者简介
吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有十多年的Java开发与培训经验,是关注Android开发的人员,并开发出一系列的Android应用程序与游戏。主要的研究方向为OpenGL ES、手机游戏、Java EE、搜索引擎,同时为手机游戏、Java EE独立软件开发工程师,并兼任百纳科技Java培训中心首席培训师。近10年来为数十家企业培养了上千名软件开发人员,曾编写过《Android 2.0游戏开发实战宝典》、《Android核心技术与实例详解》、《Android 3D游戏开发—技术详解与典型案例》、《Android应用案例开发大全》和《Android游戏开发大全》等多本畅销书籍。
目录
第1章 Unity基础与开发环境配置 1
1.1 初识Unity游戏开发引擎 1
1.1.1 Unity简介 1
1.1.2 Unity的诞生与发展 1
1.1.3 Unity的特色 2
1.2 Unity集成开发环境的搭建 3
1.3 Unity集成开发环境的配置 6
1.3.1 Unity集成开发环境的整体布局 6
1.3.2 Unity菜单栏 7
1.3.3 Unity工具栏 7
1.3.4 Unity场景设计面板 8
1.3.5 游戏预览面板 8
1.3.6 Unity项目资源列表 9
1.3.7 Unity属性查看器 9
1.3.8 Unity状态栏与控制台 10
1.3.9 菜单栏 10
1.4 本章小结 14
1.5 习题 14
第2章 Unity脚本程序基础知识 15
2.1 Unity脚本概述 15
2.2 Unity中C#脚本的注意事项 15
2.3 Unity脚本的基础语法 16
2.3.1 位移与旋转 17
2.3.2 记录时间 18
2.3.3 访问游戏对象组件 20
2.3.4 访问其他游戏对象 21
2.3.5 向量 25
2.3.6 成员变量和全局变量 27
2.3.7 实例化游戏对象 28
2.3.8 协同程序和中断 29
2.3.9 一些重要的类 30
2.3.10 性能优化 34
2.3.11 脚本编译 35
2.4 本章小结 36
2.5 习题 36
第3章 Unity 3D图形用户界面
基础 37
3.1 GUI图形用户界面系统 37
3.1.1 Button控件 37
3.1.2 Label控件 40
3.1.3 DrawTexture控件 42
3.1.4 Box控件 44
3.1.5 TextField控件 46
3.1.6 PasswordField控件 48
3.1.7 TextArea控件 50
3.1.8 Toggle控件 51
3.1.9 SelectionGrid控件 53
3.1.10 HorizontalScrollbar控件与
VerticalScrollbar控件 54
3.1.11 BeginGroup容器和EndGroup
容器 56
3.1.12 BeginScrollView控件和
EndScrollView控件 58
3.1.13 Window控件 60
3.1.14 skin皮肤 61
3.1.15 GUI图形用户界面的变量 64
3.2 UGUI图形用户界面系统 67
3.2.1 UGUI控件的创建及案例 67
3.2.2 Panel控件和Text控件 70
3.2.3 Button控件 72
3.2.4 Image控件和RawImage控件 74
3.2.5 Toggle控件 76
3.2.6 Slider控件和Scrollbar控件 77
3.2.7 InputField控件 79
3.2.8 UGUI布局管理 81
3.2.9 UGUI中不规则形状按钮的碰撞
检测 83
3.2.10 Scroll View的制作 86
3.3 预制件Prefab资源的应用 88
3.3.1 预制件Prefab资源的创建 88
3.3.2 通过Prefab资源进而实例化对象 89
3.4 常用的输入对象 90
3.4.1 Touch输入对象 90
3.4.2 Input输入对象的主要变量 93
3.4.3 Input输入对象的主要方法 94
3.5 与销毁相关的方法 96
3.5.1 Object.Destroy方法 96
3.5.2 MonoBehavior.OnDestroy方法 97
3.6 本章小结 99
3.7 习题 99
第4章 物理引擎 100
4.1 刚体 100
4.1.1 刚体特性 100
4.1.2 物理管理器 106
4.2 碰撞器 107
4.2.1 碰撞器的添加 108
4.2.2 碰撞过滤 111
4.2.3 物理材质 114
4.3 粒子系统 117
4.3.1 粒子系统的创建 117
4.3.2 粒子系统特性 118
4.4 关节 121
4.4.1 铰链关节 121
4.4.2 固定关节 124
4.4.3 弹簧关节 126
4.4.4 可配置关节 128
4.5 车轮碰撞器 131
4.5.1 车轮碰撞器的创建 131
4.5.2 车轮碰撞器的特性 131
4.6 布料 137
4.7 角色控制器 142
4.7.1 角色控制器的特性 142
4.7.2 角色控制器的应用 143
4.8 本章小结 145
4.9 习题 146
第5章 着色器编程基础 147
5.1 初识着色器 147
5.1.1 着色器概述 147
5.1.2 ShaderLab语法基础 147
5.2 表面着色器 152
5.2.1 着色器的三种形态 153
5.2.2 表面着色器基础知识 153
5.3 渲染通道的通用指令 159
5.3.1 设置LOD数值 160
5.3.2 渲染队列 162
5.3.3 Alpha测试 164
5.3.4 深度测试 166
5.3.5 通道遮罩 169
5.4 通过表面着色器实现体积雾 170
5.5 本章小结 176
5.6 习题 176
第6章 3D游戏开发常用技术 177
6.1 天空盒的应用 177
6.1.1 天空盒基础知识 177
6.1.2 天空盒案例开发 179
6.2 3D拾取技术 182
6.2.1 3D拾取技术基本知识 182
6.2.2 3D拾取案例开发 183
6.3 虚拟摇杆与按钮的使用 187
6.3.1 下载并导入标准资源包 187
6.3.2 虚拟摇杆与按钮的案例开发 189
6.4 加速度传感器 193
6.5 动态字体 198
6.6 声音 201
6.6.1 声音类型和音频侦听器 201
6.6.2 音频源 201
6.6.3 音频效果 203
6.6.4 案例开发 205
6.7 雾特效和水特效 209
6.7.1 雾特效和水特效的基础知识 210
6.7.2 雾特效和水特效的案例开发 211
6.8 SQLite数据库 214
6.8.1 SQLite数据库的基本知识 214
6.8.2 SQLite数据库的案例开发 215
6.9 本章小结 219
6.10 习题 219
第7章 光影效果的使用 220
7.1 光源 220
7.1.1 点光源和定向光源 220
7.1.2 聚光灯光源和区域光源 222
7.2 光照贴图的烘焙和使用 224
7.2.1 光照设置 225
7.2.2 光照烘焙案例 228
7.3 反射探头 230
7.3.1 反射探头基本知识 230
7.3.2 反射探头案例开发 233
7.4 法线贴图 235
7.4.1 法线贴图的基本知识 235
7.4.2 在Unity中使用法线贴图 236
7.5 Unity 3D光照系统中的高级功能 237
7.5.1 光照系统中的小功能 238
7.5.2 阴影的设置 242
7.5.3 Light Probes光探头 244
7.5.4 材质编辑器 246
7.6 本章小结 248
7.7 习题 248
第8章 模型与动画 249
8.1 3D模型背景知识 249
8.1.1 主流3D建模软件的介绍 249
8.1.2 Unity与建模软件单位的比例关系 250
8.1.3 将3D模型导入Unity 250
8.2 网格——Mesh 252
8.2.1 网格过滤器(Mesh Filter) 252
8.2.2 Mesh属性和方法介绍 252
8.2.3 Mesh的使用 253
8.3 骨骼结构映射——Avatar 259
8.3.1 Avatar的创建 259
8.3.2 Avatar的配置 259
8.3.3 Muscle的配置 261
8.4 动画控制器 263
8.4.1 创建动画控制器 263
8.4.2 动画控制器的配置 263
8.5 角色动画的重定向 269
8.5.1 重定向的原理 269
8.5.2 重定向的应用 269
8.6 本章小结 273
8.7 习题 273
第9章 地形与寻路技术 274
9.1 地形引擎 274
9.1.1 地形的创建 274
9.1.2 地形的基本操作 275
9.1.3 地形的纹理添加及参数设置 277
9.1.4 高度图的使用 282
9.2 拖痕渲染器——Trail Renderer 283
9.2.1 拖痕渲染器的基础知识 283
9.2.2 刹车痕案例制作 285
9.3 自动寻路技术 289
9.3.1 自动寻路技术基础知识 289
9.3.2 小球寻路案例 292
9.4 本章小结 295
9.5 习题 295
第10章 游戏资源更新 296
10.1 初识AssetBundle 296
10.2 AssetBundle的基本使用 296
10.2.1 AssetBundle的打包 297
10.2.2 下载AssetBundle 299
10.2.3 AssetBundle的加载和卸载 301
10.3 AssetBundle相关知识 303
10.3.1 管理依赖 303
10.3.2 储存和加载二进制文件 303
10.3.3 在资源中包含脚本 304
10.4 本章小结 305
10.5 习题 305
第11章 网络开发基础 306
11.1 网络类——Network基础 306
11.1.1 Network类 306
11.1.2 Network View组件 307
11.2 Unity Network开发案例 308
11.2.1 场景搭建 308
11.2.2 脚本开发 311
11.2.3 服务器和客户端的发布 316
11.3 本章小结 317
11.4 习题 317
第12章 课程设计——趣味小球 318
12.1 背景及功能概述 318
12.1.1 游戏背景概述 318
12.1.2 游戏功能简介 319
12.2 游戏的策划及准备工作 320
12.2.1 游戏的策划 320
12.2.2 使用Unity 3D开发游戏前的
准备工作 320
12.3 游戏的架构 322
12.3.1 游戏中各场景的简要介绍 322
12.3.2 游戏的架构简介 323
12.4 游戏场景 324
12.4.1 游戏主菜单场景 324
12.4.2 游戏UI层控制脚本开发 326
12.4.3 游戏物体运动控制脚本开发 329
12.4.4 游戏场景3D拾取和实例化脚本
开发 331
12.4.5 输赢场景开发 334
12.5 游戏的优化与改进 337
12.6 本章小结 337
参考文献 338
前言/序言
Unity3D游戏开发标准教程 下载 mobi epub pdf txt 电子书 格式