Unity 3D\2D手机游戏开发:从学习到产品图书
人气:14

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

前两版大卖50000册,第三版畅销书全新升级 ,企业级游戏开发秘籍大曝光 !

内容简介

本书以实例教学为主线,循序渐进地介绍了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编辑器菜单栏的中英文对照表供读者查阅。 本书提供了所有实例的源代码与素材文件,供读者上机练习使用,读者可从网上下载本书资源文件。 本书适用于广大游戏开发人员、游戏开发爱好者、软件培训机构以及计算机专业的学生等。

编辑推荐

本书案例源代码及素材文件的下载地址:pan.baidu.com/s/1nvRz0Sh 深受读者赞誉的Unity游戏开发原创经典,博学Unity游戏开发工程师十年经验分享根据Unity 5.6.2全新升级,多款热门游戏实战教学,Unity3D\2D手游开发核心技术大揭秘新增Unity GUI及DOTween Pro、EnhancedScroller、行为树AI插件Behavior Designer、Play Maker等,内容更精彩

适用于Unity 5.x,畅销书全新升级

作者简介

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

目录

目 录

第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

在线预览

第 1 章Unity基础本章主要介绍什么是Unity,如何安装及其基本使用,编写最简单的脚本,了解Unity的功能特点等。1.1 初识游戏引擎和Unity随着计算机软硬件技术的发展,对游戏画面和音效的要求越来越高,开发难度也变得越来越大,一些实力雄厚的公司将自己的技术商业化,作为游戏引擎供其他开发者使用,使开发者可以很大程度地忽略底层技术的复杂性,集中精力在游戏的逻辑和设计上,从而提高生产效率。一些比较知名的商业化游戏引擎包括Unreal、CryEngine、Quake、Source、Renderware、Game Byro、Torque Game Engine、Ogre 3D(仅是一个图形引擎)等,这些引擎都曾经非常活跃,有些也很昂贵。随着市场的变化,一些缺乏竞争力的引擎已经逐渐退出了历史舞台,有兴趣的读者可以通过网络了解一下这些引擎的历史,几乎也是一部3D游戏发展史。Unity(也称Unity 3D)是一套包括图形、声音、物理等功能的游戏引擎,提供了一个强大的图形界面编辑器,支持大部分主流3D软件格式,对2D游戏也有的支持,支持C#、JavaScript等多种高级语言,使开发者无需了解底层复杂的技术,即可快速开发出高性能、高品质的游戏产品。实际上,在游戏引擎的家族中,Unity是“后起之秀”,但其发展迅速,目前已经成为世界上最活跃的游戏引擎。在Unity的早期版本,使用Unity开发的知名游戏仅限于一些手机平台上的休闲游戏,如《Battle heart》等,随着Unity的不断升级和普及,现如今很多国内外的游戏大作都是由Unity开发的,比如《炉石传说》等。Unity是跨平台的游戏引擎,支持包括Windows、Mac、Linux、Web、iOS、Android、Windows Phone、Xbox、Play Station等大部分主流游戏平台,还包括各种VR(虚拟现实)平台,如图1-1所示。 图1-1 Unity支持的主流平台在Unity早期的版本,可以将游戏导出为Flash或Unity自己的网页格式放到网页上,但随着HTML5的发展,Unity在网页游戏领域已经主要转移到Web GL平台上。笔者曾经开发的一些游戏,除了在移动平台上,也到了网页游戏平台KONGREGATE上,有兴趣的读者,可访问www.kongregate.com/,然后搜索游戏的英文名Wild Defense,就可以玩到笔者过去完成的一个塔防游戏,如图1-2所示。Unity的主要开发环境是在Windows或Mac上面,因为在Windows上开发有很多优势,可以在Windows平台开发和测试,然后将游戏移植到其他平台。本书中的大部分示例是在Windows上完成的。 图1-2 网页版野人大作战在开始使用Unity之前不得不提一下Asset Store,它是Unity官方的在线商店,如图1-3所示。Asset Store里面主要出售Unity的插件或美术资源。严格来说,这并不能算是Unity的一个功能,但它确实已经成为Unity的一个重要组成部分,很多插件在Unity开发中已经是必不可少的,在本书的示例中,也将使用到很多插件和美术资源,有一部分是免费的。 图1-3 Asset Store的页面截屏1.2 运行Unity本节主要介绍如何安装和运行Unity示例工程以及安装Visual Studio,创建一个Unity工程。1.2.1 Unity的版本Unity提供了专业版和个人版两个版本,个人版是免费的。在功能上,这两个版本在Unity5.0之后就已经没有太大区别,专业版会提供一些额外的云端服务,不过如果公司的收入超过一定额度,则必须购买专业版。对于大部分学生或个人开发者来说,选择个人版即可,使用个人版同样可以商业化的游戏,这一点并不受版本的限制。1.2.2 下载并安装Unity在Unity的官方网站 unity3d.com/get-unity中可以免费下载PC版和Mac版的Unity,这是完整的安装包,包括针对所有平台的全部功能。下载Unity后,运行安装程序,可以仅选择需要的内容安装,其中Unity的编辑器是必须安装的组件,Microsoft Visual Studio Tools for Unity是针对Visual Studio的插件,如果使用Visual Studio编写脚本,强烈建议安装这个插件。有一点需要注意,通过Unity下载主页面链接下载的版本为Unity的“主要版本”,页面上还有一个链接可以下载“补丁版本”(Patch releases),补丁版本通常是在主要版本的基础上修复了各种Bug,在下载之前,建议阅读版本说明,选择适合自己的版本。1.2.3 在线激活Unity及时次运行Unity会提示选择版本,如果没有购买过专业版,选择个人版(Personal)即可,但无论选择哪个版本,都需要注册一个Unity账号进行登录,这个账号非常有用,除了用来登录Unity,也可以用来在Asset Store中购买插件,同时还可以使用这个账号在Asset Store中销售自己开发的插件或美术素材供别人使用。1.2.4 运行示例工程启动Unity,打开Unity的工程对话框,选择[New]新建一个工程,输入工程名称和保存路径,如图1-4所示。标准的Unity工程主要包括三部分:Assets文件夹内包括所有的工程文件,这里是主要工作的地方;Library文件夹内是工程的数据库文件(可以删除,重新打开工程后会自动重建);ProjectSettings文件夹内保存工程的配置文件。

网友评论(不代表本站观点)

来自wx003ab**的评论:

极力推荐,能学到很多技术。

2017-10-20 11:03:36
来自wx004df**的评论:

公司培训用,人手一本。大家都觉得挺好。

2017-10-29 11:10:57
来自成都供**的评论:

Unity 3D\2D手机游戏开发:从学习到产品 书很好,谢谢杂志之家,以后还会继续买

2017-11-08 20:25:33
来自无昵称**的评论:

免费在线读了一点,觉得不错就买了,后续如何,请待下次分解

2017-10-20 11:06:12
来自无昵称**的评论:

很多超棒的新功能讲解,例子也很赞,还有热门插件,确是一本经典实战型好书。推荐。

2017-09-27 10:14:21
来自无昵称**的评论:

前两版我都买过了,书非常不错, 第三版又增加了新的内容,增加的内容也比较,都在封四上有详细地介绍。

2017-09-27 10:07:40
登录后即可发表评论

免责声明

更多相关图书
在线咨询