帶你開(kāi)發(fā)類似Pokemon Go的AR游戲(1)

作者 謝恩銘,公眾號(hào)「程序員聯(lián)盟」(微信號(hào):coderhub)。
轉(zhuǎn)載請(qǐng)注明出處。
原文:http://www.itdecent.cn/p/cc615cce0576


這一課內(nèi)容實(shí)在太多,如果寫(xiě)成文章,我需要截圖幾百?gòu)?,因此我把這套課程錄制成了視頻教程,發(fā)布在慕課網(wǎng)上,完全免費(fèi):http://www.imooc.com/learn/844

前言


Pokemon Go, 譯名"精靈寶可夢(mèng)":

對(duì)于Pokemon Go,大家應(yīng)該不陌生,是「口袋怪獸」的意思,之前火爆全球。由 Niantic Labs 這個(gè) Google 旗下的公司開(kāi)發(fā),聯(lián)合任天堂等公司制作發(fā)行。
這款游戲的下載量在 App Store 和 Android 的 Google Play 上都達(dá)到上億次。任天堂股價(jià)更是大漲了幾百億美元。
這個(gè)游戲簡(jiǎn)單的說(shuō)就是可以讓你用移動(dòng)設(shè)備在全世界(除了我們偉大的祖國(guó)和一些國(guó)家…)地圖上抓虛擬的寵物小精靈。

近日, Pokemon Go的熱潮還在繼續(xù),雖然沒(méi)有之前那么火爆,但我身邊好幾個(gè)朋友和同事都開(kāi)始玩這款游戲了。

我沒(méi)玩過(guò)這款游戲,看過(guò)別人玩。我對(duì)AR和VR技術(shù)感興趣,而不是游戲本身。

我才知道,之前法國(guó)的App Store還沒(méi)有正式上架這款游戲。所以法國(guó)人還玩不到這款游戲。當(dāng)然了,在法國(guó)的中國(guó)人都知道可以去其他渠道下載,但法國(guó)人不知道(是蠢萌嗎?:P)。

昨天我心血來(lái)潮,想著:這Pokemon Go到底是什么游戲引擎開(kāi)發(fā)的呀?就去網(wǎng)上查了一下。

原來(lái)這款火遍全球,拉動(dòng)任天堂股價(jià)好多億的游戲是Unity 3D開(kāi)發(fā)的,搭配其他SDK,比如地圖,AR,坐標(biāo)轉(zhuǎn)換等。

自己動(dòng)手


因此,我很想自己也來(lái)做一個(gè)簡(jiǎn)易的Pokemon Go的小游戲,可以有一只精靈在手上飛舞。如下圖這樣, 會(huì)扇動(dòng)翅膀的:

仿Pokemon Go小游戲

要做這樣一個(gè)小游戲不是很難。我會(huì)帶大家做一個(gè),今天先把游戲開(kāi)發(fā)環(huán)境搭建起來(lái),下載所用素材。下一課就可以開(kāi)發(fā)啦, 之后會(huì)把項(xiàng)目開(kāi)源在我的Github上。

說(shuō)起Unity 3D,我還是挺有感情的。

Unity 3D是一個(gè)著名的游戲引擎,它很年輕,但已享譽(yù)世界。

當(dāng)然了,我絕對(duì)不希望大家沉迷游戲??梢钥次抑暗奈恼拢?a href="http://www.itdecent.cn/p/fb6b36f6acb3" target="_blank">【現(xiàn)身說(shuō)法】玩游戲不如自己開(kāi)發(fā)游戲

全球有不少游戲是用Unity 3D開(kāi)發(fā)的,例如著名的暴雪的《爐石傳說(shuō)》,《跑跑卡丁車》手機(jī)版,《神廟逃亡 2》,《憤怒的小鳥(niǎo) 2》,還有《坎巴拉太空計(jì)劃》等, 再到現(xiàn)在的Pokemon Go。

2013年我第一次接觸Unity 3D,那是參加Intel(英特爾)攜手CSDN舉辦的Perceptual Computing Challenge(感知計(jì)算大賽),比賽在全球還是引起了很大反響。

我用Unity 3D結(jié)合英特爾的感知攝像頭和感知計(jì)算SDK, 開(kāi)發(fā)了一個(gè)模仿Fruit Ninja(水果忍者)的游戲, 那時(shí)我還太稚嫩(現(xiàn)在也沒(méi)好到哪里去好嘛), 沒(méi)有獲獎(jiǎng)。源碼在這個(gè)鏈接 https://github.com/frogoscar/MyFruitSlasher_20130923_final, 不過(guò)因?yàn)橐惭b2013年那時(shí)的Interl感知SDK, 還需要NGUI, 要運(yùn)行還需要Intel感知攝像頭(那時(shí)候比賽第一階段結(jié)束后被選上, Intel免費(fèi)寄來(lái)的), 所以早都不更新了, 大家就吐槽一下就好了, 哈哈。

現(xiàn)在回頭看看,那時(shí)候一些優(yōu)秀參賽者開(kāi)發(fā)的游戲就類似AR(增強(qiáng)現(xiàn)實(shí))。

大家可以參看這個(gè)鏈接, 是獲獎(jiǎng)選手或隊(duì)伍的 Showcase (展示場(chǎng)所):
https://software.intel.com/sites/campaigns/perceptualshowcase/winners.htm

例如:

獲得游戲組第一名的是來(lái)自中國(guó)的參賽隊(duì)(為國(guó)爭(zhēng)光了),他們開(kāi)發(fā)了一個(gè)霸王龍養(yǎng)成游戲:

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

有意思哦!

Unity 3D的優(yōu)勢(shì)是開(kāi)發(fā)上手很快, 我2014年和一個(gè)在法國(guó)的朋友一起用Unity 3D制作了幾個(gè)手游, 可以看游戲蠻牛的這個(gè)鏈接 http://www.manew.com/thread-19397-1-1.html, 是對(duì)我們的報(bào)道。我們還自己組建了小小的工作室, 可惜后來(lái)朋友回國(guó)發(fā)展了, 就沒(méi)有繼續(xù)開(kāi)發(fā)游戲。

我在2014年用的Unity 3D還是4.5.x版本, 后來(lái)Unity 3D 5震撼登場(chǎng), 可惜我沒(méi)繼續(xù)開(kāi)發(fā)游戲。而是把時(shí)間用在Linux嵌入式和Android開(kāi)發(fā)學(xué)習(xí)上。

為什么說(shuō)Pokemon Go是Unity 3D開(kāi)發(fā)的呢? 可以來(lái)啟動(dòng)游戲看一下, 首先是Niantic的Splash界面:

Niantic的Logo

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

而后有個(gè)一閃而過(guò), 可能大家忽略的啟動(dòng)畫(huà)面, 就是表明這款游戲是用Unity 3D打造的(made with Unity就是英語(yǔ)“用Unity來(lái)制作”的意思):

Unity制造

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

那么我們的AR小游戲的開(kāi)發(fā)環(huán)境都需要些什么呢?

  1. Unity 3D: 必備啦, 最新版是5.4.0f3
  2. 一款A(yù)R引擎: 只要適配Unity 3D, 都可以
  3. 素材: 提供了, 當(dāng)然你也可以自己設(shè)計(jì)制作

安裝Unity 3D


Unity 3D可以安裝在Windows, Mac OS X或Linux中, 但是對(duì)Linux支持貌似還不是很好, 官網(wǎng)沒(méi)給出Linux的個(gè)人版下載鏈接(當(dāng)然了, 你可以自己百度或Google, 有Linux的版本的)。

我們下載個(gè)人版(免費(fèi), 其他都老貴了)的Unity 3D:

下載鏈接: https://store.unity.com/download?ref=personal

請(qǐng)適配你的操作系統(tǒng)版本, 例如Windows 32位版請(qǐng)安裝32位的Unity 3D。

下載后安裝, 就和安裝QQ什么的沒(méi)太大區(qū)別, 不過(guò)最好不要裝在Windows的C盤(pán), 因?yàn)閁nity 3D很大, 有好幾個(gè)GB。

安裝AR引擎SDK


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

或者安裝國(guó)產(chǎn)的EasyAR(支持64位的Windows版Unity 3D)
http://www.easyar.cn/

EasyAR實(shí)現(xiàn)步驟:
1,登錄 http://www.easyar.cn/ ,注冊(cè)帳號(hào),點(diǎn)擊首頁(yè)導(dǎo)航“開(kāi)發(fā)”選項(xiàng)(官方手冊(cè)這里有個(gè)坑,沒(méi)有提示點(diǎn)擊開(kāi)發(fā)...);
2,申請(qǐng)Licence Key,然后顯示。
3,在Unity3d中導(dǎo)入EasyAR 項(xiàng)目實(shí)例(HelloAR),填入KEY。
4,導(dǎo)入模型,拖拽到場(chǎng)景。
5,替換識(shí)別圖,很好找。

素材


https://pan.baidu.com/s/1qYlVSPe (皮卡丘模型)
https://pan.baidu.com/s/1bBB5Au (噴火龍(其中的fbx文件帶動(dòng)畫(huà)))

我也把皮卡丘和噴火龍的素材上傳到了我的 Github 賬戶,地址是:https://github.com/frogoscar/pokemon_ar

總結(jié)


Pokemon Go的走紅大大提高了人們對(duì)于AR和VR的興趣, 預(yù)計(jì)不久會(huì)有更多基于AR和VR的實(shí)現(xiàn), 敬請(qǐng)期待吧~

下一課我們就來(lái)一起制作吧!

帶你開(kāi)發(fā)類似Pokemon Go的AR游戲(2)


我是 謝恩銘,公眾號(hào)「程序員聯(lián)盟」(微信號(hào):coderhub)運(yùn)營(yíng)者,慕課網(wǎng)精英講師 Oscar 老師,終生學(xué)習(xí)者。
熱愛(ài)生活,喜歡游泳,略懂烹飪。
人生格言:「向著標(biāo)桿直跑」

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 作者 謝恩銘,公眾號(hào)「程序員聯(lián)盟」(微信號(hào):coderhub)。轉(zhuǎn)載請(qǐng)注明出處。原文:http://www.jia...
    程序員聯(lián)盟閱讀 10,131評(píng)論 32 111
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,936評(píng)論 25 709
  • 像等待了千年的愛(ài)人,注定是會(huì)遇見(jiàn),今天終于遇上你了!寫(xiě)作——這個(gè)夢(mèng)牽魂繞的可人! 準(zhǔn)備了多少次,寫(xiě)了多少回,始終沒(méi)...
    紫色人生閱讀 329評(píng)論 3 3
  • 2017年11月13號(hào),相博超媽媽 一周一周過(guò)的真快這都快十一月底了! 今天下班剛到家,兒子跟我說(shuō)“媽媽我想...
    一年級(jí)四班相博超媽媽閱讀 176評(píng)論 0 0
  • 夢(mèng)醒時(shí)猶記 路過(guò)我生命的你 閉上眼睛 溫習(xí)漸行漸遠(yuǎn)的盈盈笑語(yǔ) 有一段寂寞光陰 沿著各自的軌跡 踽踽獨(dú)行 單薄的夢(mèng)想...
    不諼閱讀 453評(píng)論 0 5

友情鏈接更多精彩內(nèi)容