海寧公司做網站營銷策略國內外文獻綜述
專欄
本專欄將介紹如何使用這個支持熱更的AR開發(fā)插件,快速地開發(fā)AR應用。
鏈接: Unity開發(fā)AR系列
插件簡介
通過熱更技術實現動態(tài)地加載AR場景,簡化了AR開發(fā)流程,讓用戶可更多地關注Unity場景內容的制作。
“EnvInstaller…”支持HybridCLR和ARCore的一鍵安裝。
“AR SDK…”基于HybridCLR和ARFoundation實現,使熱更技術貫穿AR開發(fā)的全流程。
包含熱更數據制作與導出、熱更數據上傳與下載、熱更數據的版本控制與數據加載
資源下載
“EnvInstaller”:點擊下載
“AR SDK”:點擊下載
制作熱更數據-AR圖片識別場景
在前面的《使用插件一鍵安裝》已介紹如何使用插件導入ARFoundation(ARCore)和HybridCLR的相關Package,這里僅介紹必須修改的設置。
導入AR SDK
-
通過“Assets -> Import Package -> Custom Package…”的方式導入 “AR SDK_v1.0.1.x.unitypackage”。導入成功后,菜單欄出現“Holo-XR”欄目。
-
點擊“Holo-XR > Settings”,打開設置窗口。
-
(必需)勾選“熱更新”啟用SDK中涉及HybridCLR的腳本。
-
(必需)勾選“ARCore”,啟用ARFoundation。(此處由于通過EnvInstaller安裝的是ARCore,因此這里選用ARCore。目前也支持啟用其它平臺,將在后續(xù)文檔中講述。)
-
(可選)勾選“調試模式”和“打印日志”(勾選后,使用“EqLog.log(…)”)
-
使用ARFoundation
- 導入 “AR Foundation”和“ARCore Extensions for AR Foundation ”。
建議使用《使用插件一鍵安裝》介紹的插件一鍵導入 ARCore的所有依賴。
此外,也可參考官方文檔《AR Foundation 使用入門》按照步驟逐步導入。
- 轉到 File > Build Settings 以打開 Build Settings 窗口,點擊 Player Settings,修改3處地方。
Player Settings > … | 值 |
---|---|
Other Settings > Rendering | 取消選中 Auto Graphics API。 如果 Vulkan 列在 Graphics APIs 下,請將其移除,因為 ARCore 尚不支持 Vulkan。 |
Other Settings > Minimum API Level | 這里要構建 AR 必備應用,請指定 Android 7.0 ‘Nougat’ (API Level 24) or higher |
Other Settings > Scripting Backend | 選擇 IL2CPP(而非 Mono),Level切換為 .NET Framework(而非**.Net Standard 2.x**)。(注意:Unity 2020及其以下版本,切換為.NET 4.x) |
示意圖如下:
- 轉到 Edit > Project Settings 以打開 Project Settings 窗口,點擊XR Plug-in Management,啟用ARCore。

- 轉到ARCore,修改為深度可選的AR必備應用。

制作數據
示例:實現識別不同圖片加載不同的模型
添加組件
在“ARCore Session”對象上添加組件“ARCoreImageDetect”,如下圖所示。
在“ARCoreImageDetect”中的“Images”下所添加的就是用于識別的圖像和識別到圖像后加載的Prefab
在“ARCoreImageDetect”中的“DetectCallback”即是事件回調(見下節(jié)描述)。
事件回調
有時我們需要監(jiān)聽什么時候識別到圖片,什么時候圖片失去跟蹤狀態(tài)等信息。
可通過重寫"DetectCallback"類
public class DetectCallback : MonoBehaviour{public virtual void OnAdded(ARImageInfo image) { }public virtual void OnUpdate(ARImageInfo image) { }public virtual void OnRemoved(ARImageInfo image) { }}
示例如下:
public override void OnUpdate(ARImageInfo image){EqLog.i("DetectMethod", "image.name:" + image.name+ ";image.position:" + image.transform.position);}public override void OnAdded(ARImageInfo image){EqLog.i("DetectMethod", "image.name:" + image.name+ ";image.position:" + image.transform.position);AndroidUtils.Toast("image.name:" + image.name+ ";image.position:" + image.transform.position);}public void LoadCompleted(){AndroidUtils.Toast("圖片數據庫加載完成");}
場景導出
- 執(zhí)行菜單欄“Holo-XR”->“BuildBundle-Android”,指定入口場景后,點擊”導出“
- 場景打包的結果為zip包和version文件
至此熱更數據已制作完成,后續(xù)將介紹如何在程序中調用熱更數據。