内容简介 · · · · · ·
本书通过实例详细介绍了如何使用Unity 进行游戏开发,书中先简要介绍了Unity 环境搭建、编辑器和GUI 游戏界面相关的知识,接着介绍了如何使用C# 和JavaScript 构建游戏脚本,添加树、草、石头等模型以及键盘事件、鼠标事件和3D 模型动画相关的内容,然后介绍了持久化数据、音频与视频播放等内容,最后以一款第一人称射击类游戏为原型,向读者详细介绍游戏制作的整个过程。
本书适合具备一些JavaScript 与C# 语言基础,并且想快速入门Unity 3D 游戏开发的人员阅读。
作者简介 · · · · · ·
作者简介:
宣雨松,网名雨松MOMO。首款入驻美国苹果店数字体育产品GolfSense Unity3D主程,CSDN博客专家,51CTO博客之星,51CTO移动开发论坛版主,Unity圣典开发论坛版主,5年以上移动游戏与软件开发经验。曾经领导与参与的游戏项目包括:GolfSense、新少林寺、天降少女、游龙戏凤西门庆等。个人独立博客地址http://www.xuanyusong.com/。
目录 · · · · · ·
第1章 基础知识 1
1.1 Unity简介 1
1.2 下载与安装 2
1.3 游戏界面对比 8
1.4 购买许可证 10
1.5 打包与发布 13
1.6 本章小结 16
第2章 编辑器的结构 17
2.1 游戏工程 17
2.1.1 创建工程 17
2.1.2 打开工程 19
2.2 Project视图 20
2.3 Hierarchy视图 23
2.4 Inspector视图 24
2.4.1 简介 24
2.4.2 平台设定 25
2.5 Scene视图 26
2.5.1 视图介绍 27
2.5.2 移动视图 28
2.5.3 场景工具 32
2.5.4 Scene视图控制条 33
2.6 Game视图 35
2.6.1 运行游戏 35
2.6.2 Game视图控制条 35
2.6.3 导出与导入 38
2.7 第一个游戏实例(拓展训练) 38
2.8 本章小结 42
第3章 GUI游戏界面 43
3.1 GUI高级控件 43
3.1.1 Label控件 43
3.1.2 Button控件 46
3.1.3 TextField控件 48
3.1.4 ToolBar控件 50
3.1.5 Slider控件 52
3.1.6 ScrollView控件 53
3.1.7 群组视图 55
3.1.8 窗口 56
3.1.9 GUI Skin 58
3.1.10 自定义风格组件 62
3.2 GUILayout游戏界面布局 64
3.2.1 GUI与GUILayout的区别 64
3.2.2 GUILayoutOption界面布局
设置 66
3.2.3 线性布局 67
3.2.4 控件偏移 68
3.2.5 对齐方式 69
3.2.6 实例——添加与关闭窗口 71
3.2.7 设置字体 73
3.2.8 显示中文 75
3.3 2D贴图与帧动画 77
3.3.1 绘制贴图 77
3.3.2 绘制动画 79
3.3.3 实例——人物移动 81
3.3.4 实例——用Unity开发2D
游戏 83
3.4 游戏实例——游戏主菜单 88
3.5 本章小结 90
第4章 Unity游戏脚本 91
4.1 MonoDevelop脚本编辑器 91
4.1.1 编辑器简介 91
4.1.2 调试 92
4.2 Unity脚本的生命周期 95
4.3 利用脚本来操作游戏对象 95
4.3.1 创建游戏对象 96
4.3.2 获取游戏对象 97
4.3.3 添加组件与修改组件 102
4.3.4 发送广播与消息 104
4.3.5 克隆游戏对象 105
4.3.6 脚本组件 106
4.4 用脚本来控制对象的变换 108
4.4.1 改变游戏对象的位置 109
4.4.2 旋转游戏对象 110
4.4.3 平移游戏对象 112
4.4.4 缩放游戏对象 113
4.5 用C#编写脚本 115
4.5.1 继承MonoBehaviour类 115
4.5.2 声明变量 116
4.5.3 调用方法 116
4.5.4 JavaScript与C#脚本之间的
通信 119
4.6 工具类 122
4.6.1 时间 122
4.6.2 等待 123
4.6.3 随机数 124
4.6.4 数学 124
4.6.5 四元数 125
4.7 游戏实例——小地图的制作 126
4.8 本章小结 130
第5章 游戏元素 131
5.1 游戏地形 131
5.1.1 创建地形 131
5.1.2 地形参数 132
5.1.3 编辑地形 133
5.1.4 地形贴图 136
5.2 地形元素 140
5.2.1 树元素 140
5.2.2 草与网格元素 142
5.2.3 其他设置 144
5.3 光源 145
5.3.1 点光源(Point Light) 146
5.3.2 聚光灯 147
5.3.3 平行光 148
5.4 天空盒子 149
5.4.1 Skybox组件 149
5.4.2 在场景中添加天空盒子 151
5.5 常用编辑器组件 152
5.5.1 摄像机 152
5.5.2 摄像机的类型 153
5.5.3 定制导航菜单栏 155
5.5.4 预设 157
5.5.5 抗锯齿 159
5.6 游戏实例——摄像机切换镜头 162
5.7 本章小结 164
第6章 物理引擎 165
6.1 刚体 165
6.1.1 简单使用 165
6.1.2 物理管理器 167
6.1.3 力 168
6.1.4 碰撞与休眠 169
6.2 碰撞器 170
6.2.1 添加碰撞器 171
6.2.2 物理材质 171
6.3 角色控制器 173
6.3.1 第一人称 173
6.3.2 第三人称 175
6.3.3 控制组件 176
6.3.4 移动与飞行 178
6.3.5 碰撞监测 180
6.4 射线 182
6.4.1 射线的原理 182
6.4.2 碰撞监测 183
6.5 关节 185
6.5.1 关节介绍 185
6.5.2 实例——关节组件 186
6.6 粒子特效 188
6.6.1 粒子发射器 188
6.6.2 粒子动画 189
6.6.3 粒子渲染器 190
6.6.4 粒子效果实例 191
6.6.5 布料 193
6.6.6 路径渲染 196
6.7 游戏实例——击垮围墙 198
6.8 本章小结 200
第7章 输入与控制 201
7.1 键盘事件 201
7.1.1 按下事件 201
7.1.2 抬起事件 203
7.1.3 长按事件 205
7.1.4 任意键事件 205
7.1.5 实例——组合按键 206
7.2 鼠标事件 211
7.2.1 按下事件 211
7.2.2 抬起事件 212
7.2.3 长按事件 213
7.3 自定义按键事件 214
7.3.1 输入管理器 214
7.3.2 按键事件 215
7.3.3 按键轴 216
7.3.4 实例——观察模型 217
7.4 模型与动画 219
7.4.1 模型的载入 219
7.4.2 设置3D动画 220
7.4.3 播放3D动画 221
7.4.4 动画剪辑 222
7.4.5 动画的帧 224
7.5 GL图像库 226
7.5.1 绘制线 226
7.5.2 实例——绘制曲线 228
7.5.3 绘制四边形 230
7.5.4 绘制三角形 232
7.5.5 绘制3D几何图形 233
7.5.6 线渲染器 236
7.5.7 网格渲染 239
7.6 游戏实例——控制人物移动 241
7.7 本章小结 243
第8章 持久化数据 244
8.1 PlayerPrefs类 244
8.1.1 保存与读取数据 244
8.1.2 删除数据 245
8.1.3 实例——注册界面 245
8.2 自定义文件 247
8.2.1 文件的创建与写入 247
8.2.2 文件的读取 248
8.2.3 实例——读取笑话 250
8.3 应用程序 253
8.3.1 创建关卡 253
8.3.2 切换关卡 253
8.3.3 截屏 254
8.3.4 打开网页 255
8.3.5 退出游戏 256
8.4 资源数据库 256
8.4.1 加载资源 256
8.4.2 创建资源 257
8.4.3 创建文件夹 258
8.4.4 移动与复制 260
8.4.5 删除与刷新 260
8.4.6 实例——鼠标拖动模型 261
8.4.7 实例——鼠标拣选 264
8.5 游戏实例——接受任务 265
8.6 本章小结 270
第9章 多媒体与网络 271
9.1 游戏音频 271
9.1.1 音频介绍 271
9.1.2 添加音频 271
9.1.3 播放音频 273
9.2 游戏视频 275
9.2.1 创建视频 275
9.2.2 播放视频 276
9.2.3 GUI播放视频 278
9.3 网络 279
9.3.1 下载文件 279
9.3.2 自定义资源包 281
9.3.3 下载资源包 283
9.3.4 创建本地服务器 285
9.3.5 客户端连接服务器 289
9.3.6 实例——多人聊天服务器端 290
9.3.7 实例——多人聊天客户端 292
9.4 游戏实例——简单的网络游戏 297
9.5 本章小结 304
第10章 游戏实例——突出重围 305
10.1 游戏状态机 305
10.2 游戏界面 307
10.2.1 游戏主菜单 307
10.2.2 制作角色血条 311
10.2.3 制作图片数字 312
10.3 游戏逻辑 314
10.3.1 发射子弹与击打目标 314
10.3.2 敌人的AI 318
10.3.3 增加敌人预设 321
10.4 完整的游戏 322
10.5 本章小结 334
· · · · · · (收起)
"Unity 3D游戏开发"试读 · · · · · ·
近年来,游戏行业出现了前所未有的震荡期,各种平台的涌现使得行业内部的竞争愈演愈烈。前几年,要想制作好的游戏,肯定就需要强大硬件的支持,所以大部分3D游戏都出现在PC或PS3、Xbox等专业游戏主机上,其他平台则由于受硬件条件的限制而无法制作出较好的游戏。 目前基于iOS、Android、Windows Phone 7等移动平台的智能手机迅速崛起,它们的硬件配置已经得到大幅提升,目前的硬件条件已...
原文摘录 · · · · · ·
-
``` javascript function Update() { //移动模型 transform.Translate(Vector3.forward * Time.deltatime); } ``` 这里的`Updata()`方法为系统所调用,**系统在每一帧都会调用该方法**。该方法前面的function关键字为JavaScript语言的标准用法,表示后面跟随的`Update()`是一个方法。 `transform.Translate()`方法用于设置游戏对象平移的方向,该方法中的参数为移动的方向,其中`Vector3.forward`表示移动的方向为前方,`Time.deltaTime`表示`Update()`方法上一帧持续的时间,它俩的乘积就是沿着前方模型一次移动的距离。 (查看原文) —— 引自第29页 -
如果想要一个值根据每帧的变化而变化(增加或减少) ,你应该使用 Time.deltaTime来乘以这个值。这样才能使得变化的效果依赖于单位时间,而不是帧频。这不仅使得游戏的运行独立于帧频,也使得运动的效果符合现实。 (查看原文) —— 引自第29页
丛书信息
· · · · · ·
喜欢读"Unity 3D游戏开发"的人也喜欢的电子书 · · · · · ·
喜欢读"Unity 3D游戏开发"的人也喜欢 · · · · · ·
-
- 网络游戏核心技术与实战 6.8
-
- 计算机图形学 8.6
-
- Unity游戏开发实战 6.4
-
- C++ API设计 8.2
-
- TCP/IP高效编程 7.8
-
- 高效程序员的45个习惯 8.2
-
- IDA Pro权威指南 8.5
-
- Lua游戏开发实践指南 5.0
-
- 征服C指针 8.2
Unity 3D游戏开发的书评 · · · · · · ( 全部 4 条 )
![](https://img1.doubanio.com/icon/u51899774-8.jpg)
难度略浅,讲解不细,自学慎看
![](https://img1.doubanio.com/icon/user_normal.jpg)
一般般,个人觉得不太适合初学者
![](https://img3.doubanio.com/icon/u43858294-2.jpg)
适合入门,有一定Unity3d基础者请绕行
> 更多书评 4篇
这本书的其他版本 · · · · · · ( 全部2 )
-
人民邮电出版社 (2018)6.3分 24人读过
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于Unity 3D游戏开发的评论:
feed: rss 2.0
0 有用 KevinQiangK 2013-10-02 16:02:35
这本书适合入门看看,比较简单,作者的博客更值得去关注关注。
0 有用 daohu 2019-08-03 14:13:04
入门很不错的书籍
0 有用 dexteryy 2012-11-12 08:27:58
章节划分有些怪异,触控完全没有,第三章之后就不用unityscript了而且一直称作javascript…
0 有用 JAYYOUNG 2013-05-14 10:20:55
介绍了unity的入门的相关知识,比较适合初学者和没有编程基础的同学看
0 有用 Conan Xin 2013-11-16 16:42:26
适合初学者
0 有用 马思路 2023-12-31 21:37:02 广东
读了第3版,还行。
0 有用 Esfog 2021-09-26 17:13:06
未来网页游戏开发的最新语言,制作效果直逼3D端游,打车千里迢迢跑到中关村那边的一家大书店买的,读完略感失望。无法给高分,因为知识点还算广,但是略浅而且太多地方说的不细了,好多配置都不说,自学的话要摸索好一阵子。无自学信心者慎看。国内目前相关书籍太少,聊胜于无吧。——2013年3月26日深夜于北京
0 有用 神今嘻嘻 2020-08-28 12:42:21
其实还不如作者宣雨松的博客,事实上unity的更新换代太快,看书不如看文档和看视频,并不是很推荐的入门选择。
0 有用 不会飞的章鱼 2019-12-09 13:49:42
大学时读的,适合入门,但版本有些老了。
0 有用 VVKoishi 2019-10-04 18:31:55
偏重应用,第二版第八章有少许文字错误。