专题栏目:ARVRMR虚拟现实

《Unity 3D/2D手机游戏开发:从学习到产品》

书籍简介:

本书以实例教学为主线,循序渐进地介绍了Unity在游戏开发方面的不同功能。第1章,由零开始,引导读者熟悉Unity编辑器的各个功能模块和特性。第2~4章是3个不同特色的3D游戏实例,使读者对Unity游戏开发有一个较全面的认识。第5章是一个2D游戏实例,全方位地介绍了Unity在2D游戏方面的应用。第6章和第7章,重点介绍了Unity在网络方面的应用。第8~10章介绍了如何将Unity游戏移植到网页、iOS和Android平台。第11章详细介绍了Unity的新GUI系统。第12章是关于创建Unity游戏美术资源的工作流程。第13章和第14章分别介绍了行为树和Play Maker两款插件,适合各类游戏开发者。另外,本书*后附有C#语言的快速教程,帮助缺乏程序开发基础的读者快速入门,同时也包括Unity编辑器菜单栏的中英文对照表供读者查阅。 本书提供了所有实例的源代码与素材文件,供读者上机练习使用,读者可从网上下载本书资源文件。 本书适用于广大游戏开发人员、游戏开发爱好者、软件培训机构以及计算机专业的学生等。

作者简介:

金玺曾,资深游戏开发工程师,拥有10余年游戏开发经验,3D塔防游戏《野人大作战》主要开发者。曾在上海盛大网络、上海爱客士电脑软件有限公司任开发经理,目前在个人创业公司从事VR及游戏开发。

出版时间:

2017年09月

章节目录:

第1章 Unity基础 1
1.1 初识游戏引擎和Unity2
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 创建一个HelloWorld程序 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上安装部署Apache156
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

封面图:

发表评论

相关文章