
作者 謝恩銘,公眾號(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)翅膀的:

要做這樣一個(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界面:
各位Pokemon Go的玩家很熟悉吧~
而后有個(gè)一閃而過(guò), 可能大家忽略的啟動(dòng)畫(huà)面, 就是表明這款游戲是用Unity 3D打造的(made with Unity就是英語(yǔ)“用Unity來(lái)制作”的意思):
哈哈, 看到Unity 3D的Logo了。
那么我們的AR小游戲的開(kāi)發(fā)環(huán)境都需要些什么呢?
- Unity 3D: 必備啦, 最新版是5.4.0f3
- 一款A(yù)R引擎: 只要適配Unity 3D, 都可以
- 素材: 提供了, 當(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)桿直跑」