【EasyAR學習】多圖識別
匯入unitypackage包後,會在Project面板看到如下圖所示的資料夾。
2、在unity中新建一個資料夾“StreamingAssets”,用來存放識別圖片。
3、刪除Main Camera,並將AR相機----EasyAR_ImageTracker-1-MultiTarget拖入到Hierarchy面板中。
4、在EasyAR_ImageTracker-1-MultiTarget的Insepctor面板填寫Key 值(將之前在官網建立的Key複製到這裡)。
5、在”Assets→MultiTarget→Scripts”資料夾下新建一個C#指令碼"MultiTarget.cs"用來處理EasyAR 的多圖識別功能,編譯成功後將這個指令碼掛載到"EasyAR_ImageTracker-1-MultiTarget" 元件上,,指令碼程式碼如下。
using UnityEngine; using EasyAR; public class MultiTarget : MonoBehaviour { private const string title = "Please enter KEY first!"; private const string boxtitle = "===PLEASE ENTER YOUR KEY HERE==="; private const string keyMessage = "" + "Steps to create the key for this sample:\n" + " 1. login www.easyar.com\n" + " 2. create app with\n" + " Name: MultiTarget(Unity)\n" + " Bundle ID: com.nuangyang.MultiTarget\n" + " 3. find the created item in the list and show key\n" + " 4. replace all text in TextArea with your key"; private void Awake() { if (FindObjectOfType<EasyARBehaviour>().Key.Contains(boxtitle)) { #if UNITY_EDITOR UnityEditor.EditorUtility.DisplayDialog(title, keyMessage, "OK"); #endif Debug.LogError(title + " " + keyMessage); } } }
6、然後,將ImageTarget 預製體拖入到Hierarchy面板中去。
7、修改 ImageTarget 上掛載的ImageTargetBehaviour.cs 指令碼,這裡我直接將掛載的ImageTargetBehaviour.cs 指令碼刪除了,然後在Assets資料夾下新建了“Assets→MultiTarget→Scripts→SampleImageTargetBehaviour.cs”指令碼,該指令碼繼承於ImageTargetBehaviour,程式碼在“【EasyAR學習】顯示模型”的部落格中有,此指令碼的作用就是控制模型識別後的顯示,編譯執行成功後,將SampleImageTargetBehaviour.cs掛載到ImageTarget上。
Path: 識別圖的路徑
Name:識別圖的名字
Size:識別圖的大小
9、再拖一個ImageTarget 預製體到Hierarchy面板中去,將SampleImageTargetBehaviour.cs掛載到ImageTarget(1)上,並填寫Inspector面板上SampleImageTargetBehaviour的資訊:
下面是識別圖片idback.jpg和namecard.jpg。
10、新建2個材質球,將識別圖idback.jpg和namecard.jpg分別作為貼圖放入材質球,將材質球放入如下圖地方。
11、在Hierarchy面板放入你需要顯示的模型,並設成ImageTargert的子物體,然後修改模型的transform 。
12、儲存場景,並執行,執行結果如圖所示。