带你开发类似Pokemon Go的AR游戏(1)

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。
转载请注明出处。
原文:http://www.jianshu.com/p/cc615cce0576


这一课内容实在太多,如果写成文章,我需要截图几百张,因此我把这套课程录制成了视频教程,发布在慕课网上,完全免费:http://www.imooc.com/learn/844

前言


Pokemon Go, 译名"精灵宝可梦":

对于Pokemon Go,大家应该不陌生,是「口袋怪兽」的意思,之前火爆全球。由 Niantic Labs 这个 Google 旗下的公司开发,联合任天堂等公司制作发行。
这款游戏的下载量在 App Store 和 Android 的 Google Play 上都达到上亿次。任天堂股价更是大涨了几百亿美元。
这个游戏简单的说就是可以让你用移动设备在全世界(除了我们伟大的祖国和一些国家…)地图上抓虚拟的宠物小精灵。

近日, Pokemon Go的热潮还在继续,虽然没有之前那么火爆,但我身边好几个朋友和同事都开始玩这款游戏了。

我没玩过这款游戏,看过别人玩。我对AR和VR技术感兴趣,而不是游戏本身。

我才知道,之前法国的App Store还没有正式上架这款游戏。所以法国人还玩不到这款游戏。当然了,在法国的中国人都知道可以去其他渠道下载,但法国人不知道(是蠢萌吗?:P)。

昨天我心血来潮,想着:这Pokemon Go到底是什么游戏引擎开发的呀?就去网上查了一下。

原来这款火遍全球,拉动任天堂股价好多亿的游戏是Unity 3D开发的,搭配其他SDK,比如地图,AR,坐标转换等。

自己动手


因此,我很想自己也来做一个简易的Pokemon Go的小游戏,可以有一只精灵在手上飞舞。如下图这样, 会扇动翅膀的:

仿Pokemon Go小游戏

要做这样一个小游戏不是很难。我会带大家做一个,今天先把游戏开发环境搭建起来,下载所用素材。下一课就可以开发啦, 之后会把项目开源在我的Github上。

说起Unity 3D,我还是挺有感情的。

Unity 3D是一个著名的游戏引擎,它很年轻,但已享誉世界。

当然了,我绝对不希望大家沉迷游戏。可以看我之前的文章:【现身说法】玩游戏不如自己开发游戏

全球有不少游戏是用Unity 3D开发的,例如著名的暴雪的《炉石传说》,《跑跑卡丁车》手机版,《神庙逃亡 2》,《愤怒的小鸟 2》,还有《坎巴拉太空计划》等, 再到现在的Pokemon Go。

2013年我第一次接触Unity 3D,那是参加Intel(英特尔)携手CSDN举办的Perceptual Computing Challenge(感知计算大赛),比赛在全球还是引起了很大反响。

我用Unity 3D结合英特尔的感知摄像头和感知计算SDK, 开发了一个模仿Fruit Ninja(水果忍者)的游戏, 那时我还太稚嫩(现在也没好到哪里去好嘛), 没有获奖。源码在这个链接 https://github.com/frogoscar/MyFruitSlasher_20130923_final, 不过因为要安装2013年那时的Interl感知SDK, 还需要NGUI, 要运行还需要Intel感知摄像头(那时候比赛第一阶段结束后被选上, Intel免费寄来的), 所以早都不更新了, 大家就吐槽一下就好了, 哈哈。

现在回头看看,那时候一些优秀参赛者开发的游戏就类似AR(增强现实)。

大家可以参看这个链接, 是获奖选手或队伍的 Showcase (展示场所):
https://software.intel.com/sites/campaigns/perceptualshowcase/winners.htm

例如:

获得游戏组第一名的是来自中国的参赛队(为国争光了),他们开发了一个霸王龙养成游戏:

https://software.intel.com/sites/campaigns/perceptualshowcase/arpedia.htm

有意思哦!

Unity 3D的优势是开发上手很快, 我2014年和一个在法国的朋友一起用Unity 3D制作了几个手游, 可以看游戏蛮牛的这个链接 http://www.manew.com/thread-19397-1-1.html, 是对我们的报道。我们还自己组建了小小的工作室, 可惜后来朋友回国发展了, 就没有继续开发游戏。

我在2014年用的Unity 3D还是4.5.x版本, 后来Unity 3D 5震撼登场, 可惜我没继续开发游戏。而是把时间用在Linux嵌入式和Android开发学习上。

为什么说Pokemon Go是Unity 3D开发的呢? 可以来启动游戏看一下, 首先是Niantic的Splash界面:

Niantic的Logo

各位Pokemon Go的玩家很熟悉吧~

而后有个一闪而过, 可能大家忽略的启动画面, 就是表明这款游戏是用Unity 3D打造的(made with Unity就是英语“用Unity来制作”的意思):

Unity制造

哈哈, 看到Unity 3D的Logo了。

那么我们的AR小游戏的开发环境都需要些什么呢?

  1. Unity 3D: 必备啦, 最新版是5.4.0f3
  2. 一款AR引擎: 只要适配Unity 3D, 都可以
  3. 素材: 提供了, 当然你也可以自己设计制作

安装Unity 3D


Unity 3D可以安装在Windows, Mac OS X或Linux中, 但是对Linux支持貌似还不是很好, 官网没给出Linux的个人版下载链接(当然了, 你可以自己百度或Google, 有Linux的版本的)。

我们下载个人版(免费, 其他都老贵了)的Unity 3D:

下载链接: https://store.unity.com/download?ref=personal

请适配你的操作系统版本, 例如Windows 32位版请安装32位的Unity 3D。

下载后安装, 就和安装QQ什么的没太大区别, 不过最好不要装在Windows的C盘, 因为Unity 3D很大, 有好几个GB。

安装AR引擎SDK


安装Vuforia (它目前刚发布的6.0版新增了支持64位的Windows版Unity 3D。Mac OS X版的Unity 3D倒是64位和32位都可以...)
https://developer.vuforia.com/downloads/sdk

或者安装国产的EasyAR(支持64位的Windows版Unity 3D)
http://www.easyar.cn/

EasyAR实现步骤:
1,登录 http://www.easyar.cn/ ,注册帐号,点击首页导航“开发”选项(官方手册这里有个坑,没有提示点击开发...);
2,申请Licence Key,然后显示。
3,在Unity3d中导入EasyAR 项目实例(HelloAR),填入KEY。
4,导入模型,拖拽到场景。
5,替换识别图,很好找。

素材


https://pan.baidu.com/s/1qYlVSPe (皮卡丘模型)
https://pan.baidu.com/s/1bBB5Au (喷火龙(其中的fbx文件带动画))

我也把皮卡丘和喷火龙的素材上传到了我的 Github 账户,地址是:https://github.com/frogoscar/pokemon_ar

总结


Pokemon Go的走红大大提高了人们对于AR和VR的兴趣, 预计不久会有更多基于AR和VR的实现, 敬请期待吧~

下一课我们就来一起制作吧!

带你开发类似Pokemon Go的AR游戏(2)


我是 谢恩铭,公众号「程序员联盟」(微信号:coderhub)运营者,慕课网精英讲师 Oscar 老师,终生学习者。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:http://www.jia...
    程序员联盟阅读 9,894评论 32 111
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,568评论 25 707
  • 像等待了千年的爱人,注定是会遇见,今天终于遇上你了!写作——这个梦牵魂绕的可人! 准备了多少次,写了多少回,始终没...
    紫色人生阅读 286评论 3 3
  • 2017年11月13号,相博超妈妈 一周一周过的真快这都快十一月底了! 今天下班刚到家,儿子跟我说“妈妈我想...
    一年级四班相博超妈妈阅读 145评论 0 0
  • 梦醒时犹记 路过我生命的你 闭上眼睛 温习渐行渐远的盈盈笑语 有一段寂寞光阴 沿着各自的轨迹 踽踽独行 单薄的梦想...
    不谖阅读 398评论 0 5