火紅火熱的Pokemon GO在中國(guó)被鎖啦道宅!
只好自己動(dòng)手做一個(gè)吧:)
思路:當(dāng)鏡頭在向著地面的時(shí)候袭祟,開始尋找皮卡丘淮椰,一定時(shí)間之后皮卡丘根據(jù)角度出現(xiàn)在鏡頭里横缔。
使用引擎:Unity3D 語(yǔ)言:c# AR-SDK:vuforia
1.首先打開unity創(chuàng)建一個(gè)AR項(xiàng)目镜遣,使用的AR引擎是Vuforia己肮。
官網(wǎng)使用教程:https://developer.vuforia.com/support
中文教程:http://www.manew.com/thread-92723-1-1.html?_dsign=51711fb9
2.導(dǎo)入vuforia包,把預(yù)設(shè)里的ARCamera拉入場(chǎng)景中悲关,把皮卡丘模型放在ARCamera下的Camera下面谎僻,以此跟蹤攝像頭。
3.為了使皮卡丘真實(shí)的出現(xiàn)在“現(xiàn)實(shí)”中寓辱,我們要先確保其出現(xiàn)在地面艘绍,例如桌面、地上秫筏,而不是天花板诱鞠。。所以我們用到手機(jī)陀螺儀功能这敬,判斷角度是否向下航夺。
①設(shè)置鏡頭跟隨螺旋儀旋轉(zhuǎn)
②在Update判斷ARCamera是否向下,即三維世界的0~60度內(nèi)
void Update () {
if(camRotation.transform.eulerAngles.x > 0 && camRotation.transform.eulerAngles.x < 60)
{
Debug.Log("角度正確");
}
if(camRotation.transform.eulerAngles.x < 0 || camRotation.transform.eulerAngles.x > 60)
{
Debug.Log("角度不對(duì)");
}
}
4.然后要先隱藏皮卡丘崔涂,當(dāng)其出現(xiàn)的時(shí)候阳掐,不是直接跟隨鏡頭,而是讓手機(jī)在旋轉(zhuǎn)的同時(shí)皮卡丘會(huì)被移出鏡頭范圍內(nèi)。
①在皮卡丘出現(xiàn)的時(shí)候锚烦,使其脫離ARCamera觅闽,并顯示出來(lái)。
②當(dāng)攝像頭向下的時(shí)候涮俄,旋轉(zhuǎn)皮卡丘一定角度蛉拙,使其有看著玩家的感覺(jué)。
public GameObject camRotation;//ARCamera攝像頭角度
void 發(fā)現(xiàn)皮卡丘(){
gameObject.transform.parent = null;
gameObject.SetActive(true);
gameObject.transform.Rotate(new Vector3(camRotation.transform.eulerAngles.x + this.transform.eulerAngles.x ,this.transform.eulerAngles.y,this.transform.eulerAngles.z));
}
放上APK試玩:http://pan.baidu.com/s/1o84cEdO
------------End-----------