AR游戏:基于Unity 5的增强现实开发
  • 推荐0
  • 收藏3
  • 浏览2.8K

AR游戏:基于Unity 5的增强现实开发

Micheal Lanham (作者)  龚震宇 , 周克忠 (译者)

  • 书  号:978-7-121-33752-9
  • 出版日期:2018-03-01
  • 页  数:272
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 原书名: Augmented Reality Game Development
  • 原书号:9781787122888
  • 维护人:张春雨
电子书 ¥49.00
购买电子书
纸质版 ¥79.00
本书介绍如何基于Unity 引擎制作一个AR(增强现实)游戏。作者设计了一个类似于PokemonGo 的游戏,手把手指导读者一步步制作出来。开篇介绍如何设置针对iOS 及Android 手机平台的Unity 开发环境,接着把游戏角色投射到真实的地理环境中,然后根据真实地理信息生成猎物,并使玩家与之交互,最后介绍如何利用云存储保存游戏进度等,以让游戏更加完整。其中,如何设计并开发基于地理信息的模块,包括GIS、GPS 等入门介绍,以及通过对Unity 的详细介绍,带领读者快速入门Unity 游戏编程,对读者的帮助尤其明显。本书适合对手机游戏开发有兴趣的编程爱好者,只要具备一些程序语言基础,并不需要熟悉Unity 引擎。
任天堂|谷歌联袂献译 亲手实现Pokemon Go Unity大中华CTO作序力荐 掌握基于位置的AR游戏开发
原著作者简介
Micheal Lanham 是为petroWEB工作的一位解决方案架构师,目前居住在加拿大阿尔伯塔省的卡尔加里(Calgary, Alberta)。他目前的职责之一是开发具有先进空间搜索能力的综合GIS应用。他曾担任专业和业余游戏开发人员,制作桌面和手机游戏超过15年。2007年,Micheal接触到Unity 3D,从此以后就一直是Unity 3D狂热的粉丝和开发者。

译者
龚震宇是一位资深的游戏开发工程工程师,有十余年从事游戏开发的工作经验。曾在富士通从事编程工作,之后一直在神游科技从事游戏开发工作。
周克忠是一位谷歌专业AR开发工程师,长期从事增强现实相关研究和实践。
译者序
作为一名程序员,在游戏圈工作了十几年,这是第一次参与翻译工作,因为这本书的书名引起了我的兴趣:Augmented Reality Game Development,“Augmented Reality(AR)”这个词一下子就映入眼帘。最早认识这个词应该是在2011 年任天堂公司的3DS 上。这台掌机自带了一款AR 游戏,通过3D 液晶屏可以看到各种动画形象跃然于桌子或者地面上,效果非常震撼。但是从那以后,AR 从我的视野中淡出了,直到去年Pokemon GO 的突然走红。在这之后,国内也涌现出许多手机端的AR 游戏和应用,甚至过年时都流行起了AR“抢红包”。而随着谷歌Tango 手机和微软HoloLens 眼镜等设备的推出,AR 的应用必然会更加广泛。当然,我最关心的还是能否有更好的AR 游戏出现。
本书详细介绍了一个简单的AR 游戏的开发过程,非常适合想要一窥AR 开发之究竟的读者。本人也是带着这样的心态来翻译的,在翻译的过程中学习和验证,获益匪浅。希望读者也能从中找到乐趣,对于翻译中的一些瑕疵请多多包涵。
感谢翻译合作者Kai,感谢编辑的辛勤校对。另外,感谢我的宝贝女儿和在我翻译期间辅导女儿学习的妻子,你们给了我莫大的帮助和动力。
龚震宇

因为一个很偶然的机会,本来已经离开游戏圈,走向万恶金融界的我,又回到了游戏相关的行业,从事Google AR 和VR 技术在亚太国家的推广。恰好以前在EA 的同事沙鹰在朋友圈牵线,就决定参与翻译这本书。公司有规定,不论在哪里发表观点,都必须表明我与Google 的雇佣关系,这样读者可以假设我的观点带有偏见,请酌情考虑。
作为一个游戏人和铁杆玩家,我觉得,一个游戏最重要的还是得好玩。其次才是赚不赚钱,有没有独特的美术风格,复杂的画面渲染什么的。最典型的例子就是任天堂的游戏,过去十几年分辨率都是主机里面最低的,可它的游戏就是那么好玩。我一直以来都对任天堂致以最高的敬意,所以能够和震宇一起翻译这本书,我很欢乐。
游戏开发者一直都在探索新的人机交互,任天堂在这方面做出过很多尝试,比如很早就制作过VR 头盔。这在AR 领域,精灵宝可梦GO 也实现了前所未有的成功。这本书从精灵宝可梦GO 的功能出发,讲解怎么使用Unity,制作基于位置并利用地图、街景以及地点网络服务的AR 游戏,对开发者来说是一个很好的AR 游戏入门教材。
那么究竟什么才是AR。这个问题还没有确定的答案,世界上的开发者都在探索AR 是什么,可以做什么。维基百科上有一个观点,你想象一个一维的坐标轴,左边无穷远代表完全真实,右边无穷远代表完全虚拟。那么AR 就在坐标轴的左半边,代表负数的那部分;相对地,VR 就在坐标轴右边,代表正数的部分。可见AR 的定义不是绝对的,有很大的一段区域都可以叫作AR。中间一段区间也叫作XR 混合现实,然而这些定义有着非常模糊的边界。
实现AR 有很多种核心技术,GPS、StreetView、SLAM、计算机图形、计算机视觉、图像处理、基于大数据的机器学习等,都有切实的应用例子。本书讲解的基于位置的应用、微软的HoloLens、Google 的Tango,它们都属于AR 的应用。任天堂的3DS 里面就有基于卡片的AR 玩法,那也是一种早期AR;类似地,目前的技术已经可以做到基于卡片的AR 不需要一直盯着卡片也能实现设备定位。
从今年的行业动态来看,接下来基于计算机视觉的AR 将会慢慢走出实验室进入消费者领域,美国四大科技雇主公司F.L.A.G. 里面有三个都在做:4 月份的时候Facebook 推出了AR Studio,5 月份Google 在I/O 宣布基于Tango 的WorldSense 和VPS(视觉定位服务),6 月份苹果宣布了iOS 11 里面的ARKit。根据目前的信息来看,Google 的Tango 能获得的对现实世界的描述信息最多,因为它硬件上使用了专门的深度传感器和鱼眼镜头。相比之下苹果的ARKit 和Facebook 的AR Studio 只使用了一个或两个RGB 摄像头。当然,这只是我的推测,毕竟ARKit 和AR Studio都还没有正式对外公开,我还没有看过它们的文档。说不定苹果和Facebook 会拥有怎么样的黑科技呢!科技的发展早已不是线性的;十几年前在我上大学那会儿,人工智能教科书都说超级计算机也绝对没办法下围棋战胜人类;这不,5 月份Alpha Go 单机4 TPU 就挑战了人类冠军柯杰。
最近几年国内创业气息浓重,投资氛围也活跃,连习大大都鼓励大家创业。希望大家紧跟时代,在AR 这股风刚刚开始刮的时候就让自己站在风口,迎接被风吹起的感觉。
最后感谢翻译同伴震宇,感谢沙鹰牵线带来这本书,感谢编辑的提示和帮助。书中有一些句子为了通顺,采取了意译而不是直译,实属中英文的用词习惯差别太大。希望大家不要介意。
周克忠Kai
Google AR/VR 技术推广工程师
2017 年6 月26 日 新加坡

前言
在2016 年初,世界上大多数人对增强现实和基于位置的游戏知之甚少。当然,这一切都随着那一年Pokemon Go 的发布而改变了。一夜之间,这种游戏类型就不容置疑地成为了游戏开发的发展趋势。可能你已经玩过Pokemon Go,而且你阅读这本书正因为你对AR 和基于位置的游戏类型产生了兴趣。
在本书中,我们将详细探讨创建像Pokemon Go 这样的基于位置的AR 游戏的各个方面。基于位置的AR 游戏是代价昂贵的,需要为游戏中的一切建立很多服务,从地图映射到生成怪物。然而,我们开发的游戏将是零成本的,使用的都是可以免费获得的服务。虽然由于一些许可限制,这可能不是你可以用于商业发布的东西,但是一定能介绍给你大部分概念。而且在整个过程中,你还将学习如何使用一个伟大的工具Unity。另外,还会向你介绍游戏开发的许多其他概念。
本书涵盖内容
第1 章,准备开始,介绍了构成基于位置的AR 游戏类型和我们的虚构游戏Foody Go 的概念。随后是下载所有必需软件,并使用Unity 设置移动开发环境的所有步骤。
第2 章,映射玩家位置,首先介绍GIS、GPS 和地图映射的基本概念。然后说明如何应用这些概念,来生成实时地图并绘制玩家在游戏中的位置。
第3 章,制作游戏角色,在前一章的基础上构建,把我们简单的位置标识转换成一个移动的动画角色。这样,玩家在携带着移动设备走动时,可以看到他们的游戏角色在地图上四处走动。
第4 章,生成猎物,解释了Foody Go 的假设背景是关于捕捉实验怪物的。在本章中,我们学习了如何在玩家的周围生成怪物到地图上。
第5 章,在AR 中捕捉猎物,内容更加密集:通过访问设备相机引入游戏的集成AR 部分;引入用于投掷球的物理;追踪玩家的滑动输入;使用了生物的反应;并且使用新的游戏场景。
第6 章,保存猎物,致力于开发玩家的装备包,用于保存抓获的所有Foody 生物,以及其他有用的道具。在这里,我们让读者对于添加永久的存储和添加一个简单的库存场景有大致的了解。
第7 章,创建AR 世界,基于一个实时的数据服务,在玩家周围添加兴趣点。
第8 章,与AR 世界交互,让玩家与兴趣点进行互动。在我们这个简单的游戏中,玩家将能够出售他们捕获的怪物。
第9 章,完成游戏,告诉读者如何完成游戏,或者更好地编写自己的基于位置的AR 游戏。为了本书,我们将只开发Foody Go 这个示例游戏。
第10 章,疑难解答,涵盖了一些故障排除建议和技巧,以克服这些开发障碍。与所有的软件开发练习一样,都可能会遇到问题。
阅读前的准备
为了跟着本书的内容练习,你至少需要一台能够运行Unity 5.4+ 的计算机,以及一部可以运行Unity 游戏并配备GPS 的iOS 或Android 设备。
更多关于Unity 的系统需求请参考:https://unity3d.com/unity/system-requirements。
本书的目标读者
本书适用于任何有兴趣开发自己的Pokemon Go,基于位置的AR 游戏的读者。虽然本书假定你以前没有游戏开发技巧或Unity 开发经验,但需要你对C# 或类似的(C、C++、Java 或JavaScript)语言有基本的了解。

目录

第1 章准备开始 1
现实世界冒险游戏1
基于位置2
增强现实3
冒险游戏4
使用Unity 进行移动开发5
下载和安装Unity 5
设置Android 开发环境7
设置iOS 开发环境10
Unity 入门10
创建游戏项目11
生成和部署游戏14
总结16
第2 章映射玩家位置 17
GIS 基础知识18
映射18
GPS 基础知识20
Google 地图21
添加地图24
设置服务36
总结40
第3 章制作游戏角色 43
导入标准Unity 资源44
添加一个角色45
替换摄像机46
跨平台输入48
修正输入49
替换角色64
总结67
第4 章生成猎物 69
创建一个新的“怪物服务” 70
理解地图映射的距离72
GPS 精度78
检查怪物81
投影坐标到3D 空间84
在地图上添加怪物85
在UI 中追踪怪物93
总结96
第5 章在AR 中捕捉猎物 97
场景管理98
引入游戏管理器100
加载场景102
更新触控输入103
碰撞体和刚体物理106
构建AR 捕捉场景110
使用相机作为场景背景112
添加捕捉球116
投掷球117
检查碰撞122
粒子效果反馈127
捕获怪物128
总结131
第6 章保存猎物 133
库存(Inventory)系统134
xii 目录
保存游戏状态136
搭建服务138
代码审查140
怪物的CRUD (创建,读取,更新,删除)操作145
更新Catch 场景147
制作Inventory(库存)场景154
添加菜单按钮159
合成游戏162
移动开发中的痛163
总结164
第7 章创建AR 世界 165
回到地图166
单件模式167
Google Place API 入门169
使用JSON 171
配置Google Place API 服务174
产生标记175
优化搜索178
总结182
第8 章与AR 世界交互 183
Places 场景184
用谷歌街景作为背景185
Google Place API 照片幻灯片188
增加卖出的UI 交互194
卖出的游戏机制200
更新数据库202
把片段拼接起来206
总结210
第9 章完成游戏 213
未完成的开发任务214
缺少的开发技能218
清理资源220
发行游戏224
目录xiii
开发基于位置游戏的一些问题225
基于位置的多人游戏226
使用Firebase 作为多人开发平台229
其他一些基于位置的点子234
这个种类的未来235
总结235
第10 章疑难解答 237
Console 窗口238
编译错误和警告239
调试240
远程调试242
高级调试245
记录日志246
CUDLR 249
Unity Analytics 251
每章的问题和解决方案255
总结25

读者评论

电子书版本

  • Epub

图书类别

相关博文

  • 现实世界冒险游戏简介:基于位置+AR+冒险

    现实世界冒险游戏简介:基于位置+AR+冒险

    管理员账号 2018-05-09

    本文将向你介绍现实世界冒险游戏——它们是什么,它们如何工作,以及什么使它们如此特别,选自《AR游戏:基于Unity 5的增强现实开发》。 现实世界冒险游戏 现实世界冒险游戏是随着Pokemon GO 的推出而变得非常流行的一个...

    管理员账号 2018-05-09
    651 1 0 0

相关图书

扣人心弦:游戏叙事技巧与实践

Evan Skolnick (作者) 李天颀 李享 (译者)

作者凭借多年一线游戏叙事开发经验,以及多年在GDC(Game Developers Conference,游戏开发者大会)上召开专题研讨会的经验,总结了一套完整...

¥79.00

创造高清3D虚拟世界:Unity引擎HDRP高清渲染管线实战

杨栋 (作者)

全书共11章,不仅包含HDRP入门基础,更通过剖析优秀案例对高清渲染管线的主体框架和各种特性进行阐述,如完全基于物理的光照和材质系统、体积光与雾效设置、光照烘焙...

¥198.00

基于物理的建模与动画

(US)Donald H. House, (US)John C. Keyser (作者) 叶劲峰 (译者)

本书基于原作者开设的一门关于物理建模的课程编写而成,概括地介绍了这一领域的知识,包括对粒子、粒子系统、刚体、约束系统、铰接体、流体等的模拟,还深入介绍了相关的数...

¥109.00

平衡掌控者——游戏数值经济设计

李磊 (作者)

本书由真正从事游戏行业工作的一线人员所著,书中的全部案例来自真实的游戏设计案例。全书一共分为7章,第1章介绍数值策划在职场中的发展路线,第2章介绍Excel在数...

¥55.30

我的世界:Minecraft模组开发指南

土球球 (作者)

《我的世界》(Minecraft)是一款风靡全世界的沙盒游戏,是目前 PC 游戏中畅销的游戏之一。作为一款拥有很大自由度的游戏,在社区中也存在一些基于 Mine...

¥48.30

游戏设计、原型与开发:基于Unity与C#从构思到实现(第2版)

Jeremy Gibson (作者) 姚待艳 刘思嘉 张一淼 (译者)

这是一本将游戏设计理论、原型开发方法以及编程技术巧妙结合在一起的书,目的是填补游戏设计与编程开发之间的缺口,将两者联系起来。随着Unity 游戏开发技术日趋成熟...

¥188.00