unity Vuforia實現VR功能

實驗環境

  • MAC,
  • Unity:2018.4,
  • Vuforia(Unity自帶插件)

使用方法

由於Vuforia只支持unity2018及以前版本,可以通過Unity Hub下載,在選擇安裝模塊時需要額外選擇Vuforia支持插件。
這樣下載完成後,使用該版本unity新建一個場景,菜單 GameObject 中就會出現 Vuforia Engine 的選項

注意: 2018版本將vuforia的部分功能集成到了一塊,所以部分功能使用的位置不一樣。


使用步驟

設置Vuforia

  1. 將場景中的自帶camera刪除,從GameObject->Vuforia Engine中選擇 AR Camera
  2. 通過File->Build Settings->player Settings->XR Settings,勾選Vuforia相關項。
  3. 選擇ARCamera的檢視界面中的Vuforia Behaviour,點擊進入設置界面,將自己在Vuforia官網上註冊的License貼入對應框內。key
  4. 將自己在官網上創建的數據庫以Unity Editor的形式下載到本地,然後通過Unity導入進來,Vuforia會自動識別導入的數據庫。當然數據庫中先要上傳至少一張識別圖(任意,只要Vuforia對它的打分夠高就行)

創建場景

  1. 在場景內新建一個Image(GameObject->Vuforia Engine->Image
  2. 在上一步新建的Image對象下掛載一個子對象(這個子對象就是要顯示的3D對象)。
  3. 增加一個 Virtual Button ,注意這個功能不在GameObject菜單中,而是集成在第一步創建的對象的檢視面板,Image Target Behaviour組件中,點開Advanced,裏面就存在創建虛擬按鈕的選項。virtual button
  4. 注意Virtual Button是沒有渲染的,因此需要在按鈕下面增加一個子對象用於顯示文字等內容,可以是一個平面(plane),平面下再掛在一個3D Text(GameObject->3D Object->3D Text)。在這裏插入圖片描述
  5. 在第一步創建的對象上掛載一個腳本用於控制虛擬按鈕的狀態。這裏需要實現IVirtualButtonEventHandler類的OnButtonPressed方法(按鈕按下)以及OnButtonReleased方法(按鈕釋放)。
    作爲參考:
using UnityEngine;
using Vuforia;

public class VirtualButton : MonoBehaviour, IVirtualButtonEventHandler
{
    public GameObject vb;
    public Animator ani;

    void Start()
    {
        VirtualButtonBehaviour vbb = vb.GetComponent<VirtualButtonBehaviour>();
        if (vbb)
        {
            vbb.RegisterEventHandler(this);
        }
    }

    public void OnButtonPressed(VirtualButtonBehaviour vbb)
    {
        ani.SetTrigger("Run");
        Debug.Log("按鈕按下");
    }

    public void OnButtonReleased(VirtualButtonBehaviour vbb)
    {
        ani.SetTrigger("Walk");
        Debug.Log("按鈕釋放");
    }
}
  1. 將識別圖片顯示在另外一個設備上,對準電腦的攝像頭,點擊運行:Run
    以下展示整個場景結構:
    GameObjects
發佈了20 篇原創文章 · 獲贊 1 · 訪問量 8706
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章