Unity3D开发标准教程(第2版)

Unity从入门到精通 适合虚拟现实、数字媒体、游戏开发方向使用 业界游戏开发专家力作 配套资源丰富
分享 推荐 0 收藏 59 阅读 6.1K
吴亚峰 (作者) 978-7-115-56550-1

关于本书的内容有任何问题,请联系 刘博

1.作者是资深的游戏开发专家,写作了多本畅销书,案例都是来自自己的商业项目。
2.配套资源丰富,视频、课件、源代码、习题解答。
3.适合数字媒体、虚拟现实、游戏开发专业的Unity3D教材。

内容摘要

本书本着“起点低、重点高”的原则,内容覆盖了从学习Unity必知必会的基础知识到能够熟练使用Unity制作简单3D游戏的每一个阶段。全书共分为12章,前11章按照由易到难的顺序依次介绍了Unity基础与开发环境配置、脚本程序的开发、图形用户界面、物理引擎、着色器基础、3D游戏开发常用技术、光影效果、模型与动画、地形与寻路技术、游戏资源更新及多人联网系统的开发。最后一章给出了一个完整的游戏案例,既可以作为课程最后的总结与提高,也可以作为课程设计。

目录

第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集成开发环境的搭建 4
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 Unity游戏预览面板 8
1.3.6 Unity项目资源列表面板 9
1.3.7 Unity属性查看器 9
1.3.8 Unity状态栏与控制台 10
1.3.9 Unity菜单栏常用菜单命令 10
1.4 本章小结 14
1.5 习题 14
第2章 Unity脚本程序基础
知识 15
2.1 Unity脚本概述 15
2.2 Unity中C#脚本的注意事项 15
2.3 Unity脚本的基础语法 17
2.3.1 位移与旋转 17
2.3.2 记录时间 18
2.3.3 访问游戏对象组件 20
2.3.4 访问其他游戏对象 22
2.3.5 向量 26
2.3.6 私有变量和公有变量 28
2.3.7 实例化游戏对象 29
2.3.8 协同程序和中断 30
2.3.9 一些重要的类 31
2.3.10 性能优化 35
2.3.11 脚本编译 37
2.4 本章小结 37
2.5 习题 37
第3章 Unity图形用户界面
基础 39
3.1 GUI系统 39
3.1.1 Button控件 39
3.1.2 Label控件 42
3.1.3 DrawTexture控件 44
3.1.4 Box控件 46
3.1.5 TextField控件 48
3.1.6 PasswordField控件 51
3.1.7 TextArea控件 52
3.1.8 Toggle控件 53
3.1.9 SelectionGrid控件 55
3.1.10 HorizontalScrollbar控件与
VerticalScrollbar控件 57
3.1.11 HorizontalSlider控件与
VerticalSlider控件 58
3.1.12 BeginGroup控件和EndGroup
控件 60
3.1.13 BeginScrollView控件和
EndScrollView控件 62
3.1.14 Window控件 64
3.1.15 Skin设置 65
3.1.16 GUI系统的变量 68
3.2 UGUI系统 71
3.2.1 UGUI控件的创建及案例 71
3.2.2 Panel控件和Text控件 74
3.2.3 Button控件 76
3.2.4 Image控件和RawImage控件 78
3.2.5 Toggle控件 80
3.2.6 Slider控件和Scrollbar控件 81
3.2.7 InputField控件 83
3.2.8 UGUI布局管理 85
3.2.9 UGUI中不规则形状按钮的碰撞
检测 87
3.2.10 ScrollView的制作 90
3.3 Prefab资源的应用 92
3.3.1 Prefab资源的创建 92
3.3.2 通过Prefab资源实例化对象 93
3.4 常用的输入对象 94
3.4.1 Touch输入对象 94
3.4.2 Input输入对象的主要变量 97
3.4.3 Input输入对象的主要方法 98
3.5 与销毁相关的方法 100
3.5.1 Object.Destroy方法 100
3.5.2 MonoBehavior.OnDestroy方法 102
3.6 本章小结 103
3.7 习题 103
第4章 物理引擎 105
4.1 刚体 105
4.1.1 刚体特性 105
4.1.2 物理管理器 111
4.2 碰撞器 113
4.2.1 碰撞器的添加 113
4.2.2 碰撞过滤 116
4.2.3 物理材质 120
4.3 粒子系统 122
4.3.1 粒子系统的创建 122
4.3.2 粒子系统的特性 123
4.4 关节 127
4.4.1 铰链关节 127
4.4.2 固定关节 130
4.4.3 弹簧关节 132
4.4.4 可配置关节 134
4.5 车轮碰撞器 137
4.5.1 车轮碰撞器的创建 137
4.5.2 车轮碰撞器的特性 138
4.6 布料 144
4.7 角色控制器 149
4.7.1 角色控制器的特性 149
4.7.2 角色控制器的应用 150
4.8 本章小结 153
4.9 习题 153
第5章 着色器编程基础 154
5.1 初识着色器 154
5.1.1 着色器简介 154
5.1.2 ShaderLab语法基础 154
5.2 表面着色器 160
5.2.1 着色器的3种形态 160
5.2.2 表面着色器基础知识 160
5.3 渲染通道的通用指令 167
5.3.1 设置LOD数值 167
5.3.2 渲染队列 170
5.3.3 Alpha测试 172
5.3.4 深度测试 174
5.3.5 通道遮罩 177
5.4 通过表面着色器实现边缘光渲染 178
5.5 简单的UV帧动画效果 181
5.6 可视化着色器编程 183
5.7 本章小结 186
5.8 习题 186
第6章 3D游戏开发常用技术 187
6.1 天空盒的应用 187
6.1.1 天空盒基础知识 187
6.1.2 天空盒案例 189
6.2 3D拾取技术 192
6.2.1 3D拾取技术基础知识 193
6.2.2 3D拾取案例 193
6.3 虚拟摇杆与按钮的使用 197
6.3.1 下载并导入标准资源包 198
6.3.2 虚拟摇杆与按钮的案例 199
6.4 加速度传感器 203
6.5 动态字体 208
6.6 声音 212
6.6.1 声音类型和音频侦听器 212
6.6.2 音频源 212
6.6.3 音频效果 214
6.6.4 声音案例 216
6.7 雾特效和水特效 221
6.7.1 雾特效和水特效的基础知识 221
6.7.2 雾特效和水特效的案例 223
6.8 SQLite数据库 226
6.8.1 SQLite数据库的基础知识 226
6.8.2 SQLite数据库的案例 227
6.9 本章小结 230
6.10 习题 231
第7章 光影效果的使用 232
7.1 光源 232
7.1.1 点光源和定向光源 232
7.1.2 聚光灯光源和区域光源 235
7.2 光照贴图的烘焙和使用 236
7.2.1 光照设置 237
7.2.2 光照烘焙案例 241
7.3 反射探头 242
7.3.1 反射探头基础知识 242
7.3.2 反射探头案例 245
7.4 法线贴图 248
7.4.1 法线贴图基础知识 248
7.4.2 在Unity中使用法线贴图 248
7.5 Unity光照系统中的高级功能 250
7.5.1 光照系统中的小功能 250
7.5.2 阴影的设置 255
7.5.3 光探头 257
7.5.4 Cookies 259
7.5.5 光照过滤 260
7.5.6 基于物理的着色 261
7.5.7 材质编辑器 263
7.6 本章小结 265
7.7 习题 265
第8章 模型与动画 266
8.1 3D模型背景知识 266
8.1.1 主流3D建模软件的介绍 266
8.1.2 Unity与建模软件单位的比例
关系 267
8.1.3 将3D模型导入Unity 267
8.2 网格—— Mesh 269
8.2.1 网格过滤器 269
8.2.2 Mesh的属性和方法介绍 269
8.2.3 Mesh的使用 270
8.3 骨骼结构映射—— Avatar 276
8.3.1 Avatar的创建 276
8.3.2 Avatar的配置 277
8.3.3 Muscle的配置 279
8.4 动画控制器 281
8.4.1 创建动画控制器 281
8.4.2 动画控制器的配置 281
8.5 角色动画的重定向 287
8.5.1 重定向的原理 287
8.5.2 重定向的应用 287
8.6 本章小结 291
8.7 习题 291
第9章 地形与寻路技术 292
9.1 地形引擎 292
9.1.1 地形的创建 292
9.1.2 地形的基本操作 293
9.1.3 地形的纹理添加及参数设置 295
9.1.4 高度图的使用 300
9.2 拖痕渲染器 302
9.2.1 拖痕渲染器基础知识 302
9.2.2 刹车痕案例 304
9.3 自动寻路技术 308
9.3.1 自动寻路技术基础知识 308
9.3.2 小球寻路案例 311
9.4 本章小结 314
9.5 习题 314
第10章 游戏资源更新 315
10.1 初识AssetBundle 315
10.2 AssetBundle的基本使用 315
10.2.1 AssetBundle的打包 316
10.2.2 下载AssetBundle 318
10.2.3 AssetBundle的加载和卸载 320
10.3 AssetBundle相关知识 322
10.3.1 管理依赖 322
10.3.2 存储和加载二进制文件 322
10.3.3 资源中的脚本 323
10.4 本章小结 324
10.5 习题 324
第11章 网络开发基础 325
11.1 多人联网—— Multiplayer
Networking 325
11.1.1 网络管理器 325
11.1.2 网络管理器HUD 327
11.1.3 网络身份标识 328
11.1.4 联网变换组件 329
11.1.5 NetworkBehaviour类 330
11.1.6 多人高层API及架构 330
11.2 Unity Network开发案例 330
11.2.1 场景搭建 331
11.2.2 脚本开发 332
11.2.3 服务器和客户端的发布和使用 334
11.3 本章小结 335
11.4 习题 336
第12章 课程设计—— 探险
飞机 337
12.1 背景及功能概述 337
12.1.1 游戏背景简介 337
12.1.2 游戏功能简介 338
12.2 游戏的策划及准备工作 338
12.2.1 游戏的策划 338
12.2.2 使用Unity开发游戏前的准备
工作 339
12.3 游戏的架构 340
12.3.1 游戏中各场景简介 340
12.3.2 游戏架构简介 341
12.4 游戏场景 341
12.4.1 游戏主菜单场景 341
12.4.2 游戏障碍物的创建与移动脚本
开发 345
12.4.3 游戏对象的创建和运动控制脚本
开发 347
12.4.4 游戏场景主摄像机脚本开发 350
12.4.5 游戏计分板的创建和脚本
开发 351
12.5 游戏的优化与改进 353
12.6 本章小结 354
12.7 习题 354

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有十多年的Java开发与培训经验,是最早关注Android开发的人员,并开发出一系列优秀的Android应用程序与游戏。主要的研究方向为OpenGL ES、手机游戏、Java EE、搜索引擎,同时为手机游戏、Java EE独立软件开发工程师,并兼任百纳科技Java培训中心首席培训师。近10年来为数十家著名企业培养了上千名软件开发人员,曾编写过《Android 2.0游戏开发实战宝典》、《Android核心技术与实例详解》、《Android 3D游戏开发—技术详解与典型案例》、《Android应用案例开发大全》和《Android游戏开发大全》等多本畅销书籍。

购买本书用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部