描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302481652
适用于Unity 5.x,畅销书全新升级
本书提供了所有实例的源代码与素材文件,供读者上机练习使用,读者可从网上下载本书资源文件。
本书适用于广大游戏开发人员、游戏开发爱好者、软件培训机构以及计算机专业的学生等。
目 录
第1章 Unity基础 1
1.1 初识游戏引擎和Unity
2
1.2 运行Unity 3
1.2.1
Unity的版本 3
1.2.2
下载并安装Unity 4
1.2.3
在线激活Unity 4
1.2.4
运行示例工程 4
1.3 创建一个Hello
World程序 7
1.3.1
安装Visual Studio 7
1.3.2
编写脚本 7
1.3.3
编译输出 9
1.4 调试程序 10
1.4.1
显示Log 10
1.4.2
在Visual Studio中设置断点 11
1.4.3
在MonoDevelop中设置断点 12
1.5
Unity脚本基础 12
1.5.1
Script(脚本)组件 12
1.5.2
脚本的执行顺序 12
1.5.3
脚本的序列化 13
1.5.4
组件式的编程 14
1.5.5
协程编程 15
1.6 预置文件Prefab 16
1.7 实例化 17
1.8 读取资源 18
1.9 保存工程 18
1.10
小结 18
第2章 太空射击游戏 19
2.1 游戏介绍 20
2.1.1
游戏操作 20
2.1.2
主角和敌人 20
2.1.3
游戏UI 20
2.2 导入美术资源 20
2.3 创建场景 21
2.3.1
创建火星背景和星空动画 22
2.3.2
设置摄像机和灯光 25
2.4 创建主角 27
2.4.1
创建脚本 27
2.4.2
控制飞船移动 28
2.4.3
创建子弹 30
2.4.4
创建子弹Prefab 31
2.4.5
发射子弹 32
2.5 创建敌人 33
2.6 物理碰撞 34
2.6.1
添加碰撞体 34
2.6.2
触发碰撞 35
2.7 高级敌人 38
2.7.1
创建敌人 38
2.7.2
发射子弹 39
2.8 声音与特效 41
2.9 敌人生成器 43
2.10
游戏UI和战斗管理 45
2.10.1
创建显示得分的UI界面 45
2.10.2
创建显示游戏失败的
UI界面 46
2.10.3
编写脚本 46
2.11
关卡跳转 49
2.12
用鼠标控制主角 51
2.13
精确的碰撞检测 53
2.14
自动创建Prefab 55
2.15
发布游戏 57
2.16
使用Pool Boss创建缓存池 59
2.17
小结 62
第3章 人称射击游戏 63
3.1 策划 64
3.1.1
游戏介绍 64
3.1.2
UI界面 64
3.1.3
主角 64
3.1.4
敌人 64
3.2 游戏场景 64
3.3 主角 65
3.3.1
角色控制器 65
3.3.2
摄像机 67
3.3.3
武器 68
3.4 敌人 69
3.4.1
寻路 69
3.4.2
设置动画 71
3.4.3
行为 72
3.5
UI界面 76
3.6 交互 80
3.6.1
主角的射击 80
3.6.2
敌人的进攻与死亡 82
3.7 出生点 84
3.8 小地图 87
3.9 小结 90
第4章 塔防游戏 91
4.1 策划 92
4.1.1
场景 92
4.1.2
摄像机 92
4.1.3
胜负判定 92
4.1.4
敌人 92
4.1.5
防守单位 92
4.1.6
UI界面 92
4.2 地图编辑器 93
4.2.1
“格子”数据 93
4.2.2
在Inspector窗口添加自定义
UI控件 95
4.2.3
创建一个自定义窗口 98
4.3 游戏场景 99
4.4 制作UI 100
4.5 创建游戏管理器 103
4.6 摄像机 106
4.7 路点 109
4.8 敌人 113
4.9 敌人生成器 116
4.9.1
创建敌人生成器 116
4.9.2
遍历敌人 118
4.10
防守单位 119
4.11
生命条 128
4.12
小结 130
第5章 2D游戏 131
5.1
Unity 2D系统简介 132
5.2 创建Sprite 132
5.2.1
使用SpriteEditor创建Sprite 132
5.2.2
使用SpritePacker创建Sprite 134
5.2.3
图层排序 135
5.2.4
Sprite边框和重复显示 136
5.3 动画制作 137
5.3.1
序列帧动画 137
5.3.2
使用脚本实现序列帧动画 138
5.3.3
骨骼动画 139
5.4
2D物理 141
5.5 捕鱼游戏 144
5.5.1
游戏玩法 144
5.5.2
准备2D资源 145
5.5.3
创建鱼 146
5.5.4
创建鱼群生成器 148
5.5.5
创建子弹和大炮 150
5.5.6
物理碰撞 152
5.6
2D材质 153
5.6.1
修改Sprite颜色 153
5.6.2
自定义的黑白效果材质 153
5.7 小结 154
第6章 与Web服务器的交互 155
6.1
Web服务器简介 156
6.2 在Windows上安装部署Apache
156
6.2.1
安装Apache 156
6.2.2
Apache常用命令 158
6.2.3
安装MySQL 158
6.2.4
安装PHP 160
6.2.5
安装Redis 161
6.3
PHP开发环境 162
6.3.1
个PHP程序 162
6.3.2
调试PHP代码 163
6.3.3
PHP基本语法 164
6.4
WWW基本应用 165
6.4.1
HTTP协议 166
6.4.2
GET请求 166
6.4.3
POST请求 168
6.4.4
上传下载图片 169
6.4.5
下载声音文件 170
6.5 分数排行榜 171
6.5.1
创建数据库 171
6.5.2
创建PHP脚本 172
6.5.3
上传下载分数 174
6.5.4
使用Redis缓存数据 177
6.6
MD5验证 179
6.7
Best HTTP 179
6.8
Linux环境部署 180
6.8.1
Linux管理工具 180
6.8.2
安装Apache 181
6.8.3
安装MySQL 182
6.8.4
安装PHP 183
6.8.5
安装Redis 185
6.9 小结 186
第7章 基于TCP/IP协议的聊天
实例 187
7.1
TCP/IP开发简介 188
7.2 一个简单的网络程序 190
7.3 网络引擎 192
7.3.1
数据包 193
7.3.2
逻辑处理 199
7.3.3
网络功能 201
7.3.4
创建聊天协议 208
7.4 聊天客户端 208
7.5 聊天服务器端 211
7.6
JSON.NET简介 214
7.7 小结 215
第8章 HTML5(WebGL)游戏
移植 216
8.1 关于HTML5和WebGL 217
8.2 导出Unity游戏到WebGL平台 217
8.2.1
导出WebGL游戏 217
8.2.2
设置WebGL模板 219
8.2.3
默认的index.html 219
8.2.4
文件访问 220
8.3 自定义Loading页面 221
8.4 编写WebGL游戏插件 224
8.4.1
访问Javascript示例一 224
8.4.2
访问Javascript示例二 225
8.5 在网页上保存游戏记录
226
8.6
AssetBundle 227
8.6.1
创建AssetBundle资源 227
8.6.2
下载、实例化AssetBundle
资源 229
8.6.3
批量创建AssetBundle 230
8.7 小结 231
编写本书的目的
Unity,也称Unity 3D,是近几年非常流行的一款3D游戏开发引擎,它的特点是跨平台能力强,支持PC、Mac、Linux、网页、iOS、Android等平台,移植便捷,3D图形性能出众,同时也支持2D功能,为众多游戏开发者所喜爱。在手机平台,Unity几乎成为3D、2D游戏开发的标准工具。
游戏开发是一项复杂的工作,本书在编写过程中十分注重与实际开发相结合,全书以实例为基础,使读者在较短的时间内能快速掌握Unity的各种工具和开发技巧,并应用于实践中。
本书主要内容
本书为第3版,总体上更新了大部分代码和截图,改进了细节,确保与Unity的版本是一致的,下面是各章节的内容概要及与前几版的主要区别。第11~14章是全新的章节。
第1章
介绍Unity编辑器的各个功能模块,与第2版相比,增加了对Unity特性的介绍,删除了很多过时的内容。
第2章
是一个太空射击游戏教程,这是一个入门级的教程,从如何创建一个脚本,到一个完整的游戏有较为细致的介绍。与第2版相比,更新了UI部分,添加了使用插件创建缓存池的教程。
第3章
是一个人称射击游戏教程,涉及人工智能寻路、动画、摄像机控制等内容。与第2版相比,更新了UI部分,修改了一些细节,与版Unity的功能相匹配。
第4章
是一个塔防游戏教程,介绍了创建更为复杂的关卡,与前几版相比,这一章改动很大。详细地介绍了如何自定义Unity编辑器,灵活运用协程实现相对复杂的逻辑,配置和生成
敌人。
第5章
介绍Unity在2D游戏方面的应用,包括创建Sprite、动画的播放和一个较为完整的2D捕鱼游戏实例。与前一版相比,增加了对Sprite新特性的介绍。
第6章
介绍Unity在HTTP网络通信方面的应用,还涉及PHP和MySQL的基础应用,使Unity游戏可以与Web服务器进行通信,上传下载得分记录等。与第2版相比,增加了Redis的内容,后还简单介绍了如何在Linux上部署。
第7章
是一个完整的、基于TCP/IP协议的聊天实例,介绍使用Unity创建聊天客户端,并使用.NET开发环境创建聊天服务器端。与第2版相比,本章添加了对JSON的介绍和应用示例。
第8章
介绍如何将Unity游戏运行在HTML5网页上。因为Unity已经放弃了对Unity网页和Flash插件的支持,所以本章内容是全新的,同时更新了AssetBundle的部分内容。
第9章
介绍如何将Unity游戏移植到iOS平台,从如何申请开发资格到测试、发布iOS游戏都有详细的介绍,与前几版相比,本章删除了大量过时的内容,重新编写了Unity与Xcode通信的代码和示例。
第10章
介绍如何将Unity游戏移植到Android平台,并详细介绍了几种为Unity开发Android插件的方法。因为Google推出了全新的Android开发环境Android Studio,所以这一章改动很大,后还添加了一个百度地图的应用实例。
第11章
全面介绍Unity新GUI的大部分功能和细节,并附有大量示例,后还介绍了DOTween Pro和EnhancedScroller两款常用插件的使用。
第12章
主要是对创建Unity游戏美术资源的介绍,包括光照系统、Lightmap、PBR Shader和两足动画系统等,同时还结合了一些3D动画软件的介绍,如3ds Max和Maya。
第13章
介绍行为树AI插件Behavior Designer(行为设计师),它主要应用在AI方面,无论是程序员还是游戏开发爱好者都能找到使用它的乐趣。
第14章
介绍Unity社区中有名的插件Play Maker,它和Behavior Designer都属于可视化编程产品,Behavior Designer的设计模式是基于行为树, Player Maker是基于状态机,后者有更广泛的用户群。
读者对象
本书的读者主要是游戏开发程序员和Unity爱好者,部分内容也适合游戏策划和游戏艺术家作为参考。
对于本书的完成,要特别感谢王金柱编辑给予的帮助和指导,感谢我的妻子在深夜帮助我校对书稿,还要感谢我的儿子给我莫大的精神支持。
代码下载
本书案例源代码及素材文件的下载地址:http://pan.baidu.com/s/1nvRz0Sh。若下载有问题,请发送电子邮件到[email protected],邮件主题为“Unity
3D2D手机游戏开发从学习到产品”。
金玺曾
2017年8月
评论
还没有评论。