3D遊戲作業10 AR/MR 技術
作業內容如下
- 1、 圖片識別與建模
- 2、 虛擬按鍵小遊戲
Github地址爲https://github.com/Don98/Web/tree/master/hw10
視頻地址爲https://v.qq.com/x/page/e3040bem9wh.html
1.圖片識別與建模
首先完成第一個內容。這一個內容要先下載Vuforia engine,不過下載這個花費了我許多的時間,因爲註冊賬號老是失敗,導致了要下載非常的麻煩。在此地址https://developer.vuforia.com/downloads/sdk下載需要的版本,如圖:
然後在unity3D中進行激活。
然後是選擇如下的攝像頭
把原本的主攝像頭刪掉。
然後在file中選擇build settings,選擇如下:
然後點擊ARcamera選擇Open Vuforia Engine configuration,設置密鑰:
密鑰來自於Vuforia
就是塗紅色的部分,把其複製到如下的位置:
也是上面塗紅色的位置。這樣子就設置好了
然後我們開始我們的圖片識別與建模,首先在Vuforia中安排好Database,如圖:
然後在GameObject中添加一個新的Imaget對象,對其進行設置:
設置好之後我們添加一個3D的物體形象到剛剛添加的Image對象的內部,如圖:
然後這就可以了,我們運行之後的效果如圖:
2.虛擬按鍵小遊戲
我們給Image增加虛擬按鍵Add Virtual Button,如圖:
然後設置好動畫:
然後給它掛載代碼:
using UnityEngine;
using Vuforia;
[System.Obsolete]
public class VirtualButtonEventHandler : MonoBehaviour, IVirtualButtonEventHandler
{
public VirtualButtonBehaviour vb;
public Animator animator;
void IVirtualButtonEventHandler.OnButtonPressed(VirtualButtonBehaviour vb)
{
animator.SetBool("start", false);
animator.SetBool("jump", true);
Debug.Log("jump");
}
void IVirtualButtonEventHandler.OnButtonReleased(VirtualButtonBehaviour vb)
{
animator.SetBool("jump", false);
animator.SetBool("start", true);
Debug.Log("stop");
}
void Start()
{
VirtualButtonBehaviour vbb = vb.GetComponent<VirtualButtonBehaviour>();
if (vbb)
{
vbb.RegisterEventHandler(this);
}
}
void Update()
{
}
}
結果如下: