EasyAR Sense Unity Plugin 版本 4 發行說明
附註
最新的 EasyAR Sense Unity Plugin 版本為 4000.0。更多資訊請參閱 發行說明。
從版本 4 開始,過去被大家熟知的 EasyAR SDK 被賦予了一個新的名字:EasyAR Sense。EasyAR Sense 提供感知真實世界的能力。在 Unity 上,EasyAR Sense Unity Plugin 提供了一個 EasyAR Sense 的封裝,方便開發者在 Unity 中使用 EasyAR Sense 的能力。
版本 4.6.5
发布日期:2024-12-25
EasyAR Sense Unity Plugin 4.6.5 繞過了一個可能的 Unity bug。
這將是最後一個支援 Unity 2019、Unity 2020 以及 AR Foundation 4 的發佈版本。從 4.7 版本開始,EasyAR Sense Unity Plugin 將只支援 Unity 2021.3+ 以及 AR Foundation 5+。眾多頭戴式顯示器和眼鏡的支援也將同步到來。
詳細更新內容如下:
- 🩹 繞過一個可能的 Unity 6 URP 17 render graph bug,它會使 Windows DX11 上的渲染效果變得不可預測
版本 4.6.4
發布日期:2024-12-17
EasyAR Sense Unity Plugin 4.6.4 修復了稠密空間地圖的顯示問題,並提供 Unity 6+、URP 17+ 及 AR Foundation 5/6+ 的相容性。
詳細更新內容如下:
- ✨ 添加 Unity 6(URP 17+)的 Render Graph 支援
- ✨ 添加 AR Foundation 5/6 的 XROrigin 支援
- 🐛 修復使用稠密空間地圖時的網格撕裂問題
- 🐛 修復使用稠密空間地圖時生成的碰撞網格出現的錯誤日誌
版本 4.6.3
發布日期:2023-10-13
EasyAR Sense Unity Plugin 4.6.3 修復了幾個問題,並提供在 Unity 2023 中使用 URP 時的相容性問題。
詳細更新內容如下:
- ✨ 新增 URP 15 相容性
- 🐛 修復僅使用 AR Engine 時相機朝向錯誤的方向
版本 4.6.2
發佈日期:2023年4月3日
EasyAR Sense Unity Plugin 4.6.2 修復了一些錯誤。
詳細更新內容如下:
- 🐛 修復線性色彩空間下稠密空間地圖 mesh 的顯示問題
- 🩹 解決(workaround)Camera_CustomCamera 範例在 Unity 2022.2 和 2023.1(可能還有其它版本)中 Android 上可能崩潰的問題,看起來 Unity 的 JNI 部分在這些版本中存在錯誤
版本 4.6.1
發佈日期:2023-03-24
EasyAR Sense Unity Plugin 4.6.1 增加了一些小功能,修復了一些 bug。
詳細更新內容如下:
- ⬆️ 更新 Sense 到 4.6.1.10366
- 🐛 修復稠密 mesh 在某些特殊情況下使用自訂相機時顯示位置不對的問題
版本 4.6.0
發佈日期:2023-02-13
EasyAR Sense Unity Plugin 4.6.0 帶來了許多優化和改進,主要集中在這幾方面:
添加原生 Apple silicon 支援
我們從 EasyAR Sense 4.3 開始發佈了 Apple silicon 的函式庫檔案。但在 Unity 自己支援之前,我們並沒有辦法讓 Unity 認識這個函式庫。在這個新的發佈版中,我們將這個函式庫檔案引入 Unity 中,以支援最近一些為 Apple silicon 編譯的 Unity 編輯器版本。
添加內建 AR Engine 支援
我們在插件中添加了內建的 AR Engine 支援,可以使用用以支援 EasyAR Mega 和其它 EasyAR 功能的能力。這個改動用於替換華為老舊的 Unity 套件,它在新的 Unity 版本中無法使用。如果您不希望使用 AR Engine,也可以很方便地關閉。
拆分 AR Foundation 和 Nreal 支援到獨立的擴充套件包
我們將 AR Foundation 和 Nreal 支援從主體插件包中拆了出來並做成了擴充套件包。這兩個功能最初是通過使用條件編譯加入插件包的。但是 Unity 對條件編譯的支援並不非常完美,從而給開發者帶來了很多障礙。將它們拆成擴充套件包的同時也可以讓眼鏡等裝置支援的分發變得更加容易。今後會有許多使用 EasyAR 的新裝置。
詳細更新內容如下:
- ✨ 添加原生 Apple silicon 支援
- ✨ 添加內建 AR Engine 支援(所有 Unity 版本可用)
- 🚚 拆分和優化 Nreal(>= 1.6)支援
- 🚚 拆分和優化 AR Foundation(>= 4.1.3)支援
- ✨ 添加對 AR Foundation 5.x 包結構的相容性
- ✨ 添加 UnityPackage 類用於在腳本中更方便地獲取包版本和名字等
- ✨ 添加關閉所有自訂相機的選項
- ⚡ 優化 EasyAR Mega 支援
- ⚡ 優化沒有可用 frame source 時的資訊
- ⚡ 優化右鍵選單
- ⚡ 切換使用新的運動融合介面
- 🐛 修復在檔案不存在時,target 檔案載入卡住且不報錯
- 🐛 修復某個特殊情況下 frame source 無法使用
- 🔥 刪除內建華為官方 Unity 插件支援(官方已不維護)
- 🔥 刪除早於 4.4 版本的廢棄介面和 prefab
- 🔥 刪除建置 iOS 時 Universal architecture 的支援
- ⬆️ 更新 Sense 到 4.6.0
版本 4.5.0
發佈日期:2022-03-04
EasyAR Sense Unity Plugin 4.5.0 增加了一些小功能,修復了一些 bug,增強了使用者體驗。根據 Google 的政策,這個版本將 ARCore SDK 更新至 1.23.0,並且在構建過程中添加了更加嚴格的檢查。
詳細更新內容如下:
EasyAR Sense Unity Plugin
- 🚚 移動 EasyAR Settings 到 Unity Project Settings,settings asset 將不再以資源形式加載
- ✨ 添加在構建過程校驗 license key 的選項
- ✨ 添加支援使用 AR Foundation 及其它一些元件時使用彩色圖像輸入的選項
- ⚡ 優化在運動追蹤狀態不穩定時的運動融合
- ⚡ 優化 CloudRecognizer 或 CloudLocalizer 建立失敗的錯誤資訊
- 🐛 修復 MotionTrackerFrameSource.CheckAvailability 在非 active 的 GameObject 上無法結束的問題
- ⬆️ ARCore:更新 ARCore SDK 至 1.23.0
- ⬆️ ARCore:在使用 ARCore 的構建中,Gradle 版本必需 >= 5.6.4
- 🔧 ARCore:使用 ARCore 的構建中,如果打包僅含 32 位的應用將會彈出警告資訊
- ⬆️ 更新 Sense 到 4.5.0
EasyAR Sense Unity Plugin Samples
- 🔧 在融合樣例中關閉 AR Foundation 的更新嘗試
- 🔧 修改 ImageTracking_CloudRecognition 樣例,以更好的使用連接超時參數
版本 4.4.0
發佈日期:2021-10-28
EasyAR Sense Unity Plugin 4.4.0 增加了許多新功能和改進,主要集中在這幾方面:
支援 Unity AR Foundation
EasyAR 現在可以與 AR Foundation 協同工作,這增強了 EasyAR 與 AR Foundation 雙方的能力,可以同時獲得雙方的優勢。比如,在現實環境中使用 EasyAR 稀疏空间地圖定位裝置的同時,可以利用 AR Foundation 暴露的 ARKit 或 ARCore 的能力,比如環境探針。
AR Foundation 支援是透過插件底層 EasyAR Sense 的靈活功能之一,自訂相機實現的。以此作為參考,現在可以比以往更容易地自訂插件來支援其它 AR 框架。
支援 Nreal 眼鏡(帶有 VIO 能力的 AR 眼鏡)
EasyAR 現在可以支援 Nreal 眼鏡。Nreal 支援是透過插件底層 EasyAR Sense 的靈活功能之一,自訂相機實現的。
支援 Unity 通用渲染管線(Universal Render Pipeline)
從這個版本開始,URP 支援將會內建在插件中。
支援 EasyAR Cloud SpatialMap
EasyAR Cloud SpatialMap 提供城市級 AR 雲方案。EasyAR Sense Unity Plugin 是在應用端支撐 EasyAR Cloud SpatialMap 的重要開發工具之一。
新增運動融合功能
只要任意一種運動追蹤功能可以使用,EasyAR 運動融合就可以讓靜止影像和物體的追蹤更加穩定,並且可以在目標離開相機視野之後繼續追蹤。這個新功能不是像在之前版本中可以做到的那樣簡單的同時執行運動追蹤和影像追蹤,而是在融合兩個追蹤的基礎上提供了更優的追蹤結果。
全新的 AR Session 建立流程
AR session 及其它 AR 元件的建立現在可以使用 GameObject 選單完成,使用更加靈活方便。Prefab 已經標記為過時,並將在將來的發佈中刪除。
詳細更新內容如下:
EasyAR Sense Unity Plugin
- 🚀 添加 Unity AR Foundation 支援
- 🚀 添加 Unity 通用渲染管線(URP)支援
- 🚀 添加 Nreal 眼鏡支援
- 🚀 添加運動融合功能,在運動追蹤可用時優化影像和 3D 物體追蹤
- 🚀 添加
CloudSpatialMapLocalizerFrameFilter以支援 EasyAR Cloud SpatialMap - 🚀 引入建立 AR session 和其它 AR 元件的新方法
- ✨ 添加以功能組織的 GameObject 選單項,用於建立 AR session 和其它 GameObject
- ✨ 添加許多實用的 GameObject 預設選單項
- 🔥 prefab 已標記為過時,並將在未來的版本中移除
- ✨ 添加更多 frame source 以擴展 AR 框架和裝置支援
- ✨ 添加
ARCoreFrameSource&ARKitFrameSource&MotionTrackerFrameSource以取代VIOCameraDeviceUnion,執行時的策略選擇由更靈活的ARComponentPicker替換 - ✨ 添加
ARFoundationFrameSource以支援 Unity AR Foundation - ✨ 添加
HuaweiAREngineFrameSource以支援華為 AR Engine - 🔥
VIOCameraDeviceUnion已標記為過時,並將在未來的版本中移除 - 🚚
VideoCameraDevice重新命名為CameraDeviceFrameSource - 🚚
RenderCamera被移動到了FrameSourceGameObject 上 - 🔧 AR session 中的
Camera會由FrameSource在執行時進行選擇 - 🔧
MotionTrackerFrameSource預設會嘗試從伺服器更新裝置支援清單,逾時時間為 2s - ✨
ARCoreFrameSource&ARKitFrameSource獲得了可控制自動對焦開關的能力
- ✨ 添加
- ✨ 優化 AR session 工作量和介面
- ✨ 添加
ARComponentPicker元件來在執行時挑選可用的 frame source 及其它元件 - ✨ 添加
ARSession.AvailableCenterMode以查詢在一個 session 中所有可用的中心模式 - ✨ 添加
ARSession.Origin以獲取在運動追蹤功能執行時,相機運動的相對物體 - ✨ 添加
ARSession.TrackingStatus以獲取裝置運動追蹤品質 - ✨ 添加
ARSession.State&ARSession.StateChanged以查詢 ARSession 的狀態
- ✨ 添加
- ✨ 優化中心模式處理
- 🔧 一個 session 中可用的中心模式將由執行時選擇的 frame source 來決定
- 🔧 空間地圖可在所有中心模式下使用
- 🔥 刪除
ARCenterMode.ExternalControl,其功能被FrameSource.IsCameraUnderControl==false所替代 - 🚚 重新命名
ARCenterMode.WorldRoot為ARCenterMode.SessionOrigin
- ✨ 優化初始化過程,尤其是首次使用體驗
- ✨ 添加
EasyARController.Initialize&EasyARController.Deinitialize介面以在啟動後支援手動初始化 - 🔧 如果 EasyAR 函式庫檔案未載入成功,會顯示錯誤提示
- 🔧 改善授權驗證失敗的彈出資訊
- ✨ 添加
- ✨ 優化建構過程,尤其是首次使用體驗
- ✨ 如果外掛套件未由 Unity 套件管理員正確匯入,將會產生編譯時和載入時錯誤
- ✨ 在 pre-build 或 post-build 過程中如果出錯,建構將會失敗
- ✨ 在使用 ARCore XR Plugin 時,ARCore SDK 的選擇預設將會自動處理
- ✨ 添加在建構中檢查 iOS usage description 的功能
- 🔧 建構中將不再使用
Assets/HiddenEasyAR
- ⚡ 優化稀疏空間地圖的追蹤穩定性
- 🔧
SurfaceTrackerFrameFilter可與運動追蹤裝置一同使用 - 🐛 修復在某些情況下,target controller 事件可能會在元件銷毀後觸發的問題
- 🐛 修復
MotionTrackerCameraDevice的追蹤模式未正確設定 - 🔧 相機的
field of view現在將被設定成與投影矩陣一致 - ⬆️ 更新 Sense 到 4.4.0
EasyAR Sense Unity Plugin 範例
- ✨ 添加新樣例
ARFoundation以展示結合 Unity AR Foundation 的使用 - ✨ 添加新樣例
HuaweiAREngine以展示結合華為 AR Engine 的使用 - ✨ 添加新樣例
Eyewear_Nreal_SpatialMap_Building以展示如何在 Nreal 眼鏡上使用空間地圖 - ✨ 添加新樣例
Eyewear_Nreal_ImageTracking_InWorld以展示如何在 Nreal 眼鏡上使用影像追蹤 - ✨ 添加新樣例
MotionTracking_Fusion以展示在單一場景中啟動時自動選擇以及運行時手動切換可用的 frame sources,以支援最多的裝置並在支援的裝置上啟用每個 AR 框架的獨有功能 - 🔧 修改
FrameRecording樣例以在運動追蹤功能可用時自動錄製運動追蹤 session - 🚚 重新命名樣例
ImageTracking_MotionExtend為ImageTracking_MotionFusion以展示新的運動融合功能 - 🚚 重新命名樣例
Eyewear_ImageTracking為Eyewear_DeviceHasNoTracking以明確樣例的用途 - 🚚 重新命名樣例
MapLocalizing_Sparse為SpatialMap_Sparse_Localizing - 🚚 重新命名樣例
SpatialMap_Dense_BallGame為SpatialMap_Dense_BallGame - 🚚 重新命名樣例
SpatialMap_Sparse_ImageTarget為SpatialMap_Sparse_ImageTarget - 🚚 重新命名樣例
MapBuilding_Sparse為SpatialMap_Sparse_Building - 🚚 重新命名樣例
MapBuilding_Sparse_Dense為SpatialMap_Sparse_Dense_Building
Version 4.3.0
發佈日期:2021-04-07
EasyAR Sense Unity Plugin 4.3.0 使用 Unity package 組織文件,簡化了打包過程中的配置,解決了插件更新難的問題。從這個版本開始,僅支援 Unity 2019.4 及更高版本。
詳細更新內容如下:
EasyAR Sense Unity Plugin
- 🚀 使用 Unity Package 替換 Asset Package,相容 Unity 2019.4 及以上版本,老版本不再相容
- ✨ iOS:自動配置 bitcode,不再需要修改 XCode 工程的 bitcode 設定
- ✨ iOS:使用 Sense 的動態庫 framework,不再需要修改 XCode 工程的 framework 設定
- ✨ Android:使用 Sense 的 aar 文件,包含 proguard rule
- ✨ Android:不再使用 Plugins 資料夾中的 Android Manifest,可以根據使用的功能控制 Manifest 中的權限設定
- ⬆️ ARCore:替換隨插件分發的 ARCore SDK 為官方 ARCore SDK 1.6 版本的 aar 文件
- ✨ ARCore:添加控制 ARCore 使用的選項,解決與 AR Foundation 的衝突
- 🔧 合併選單項
- ⬆️ 更新 Sense 到 4.3.0
EasyAR Sense Unity Plugin Samples
- 🔥 刪除為老版本 Unity 準備的影片播放 workaround
- 🐛 修復 custom camera sample 在某些 Android 裝置上無法開啟 camera
Version 4.2.0
發佈日期:2021-01-25
EasyAR Sense Unity Plugin 4.2.0 增加了 InputFrameRecorder/InpuptFramePlayer 支援,可用於在編輯器中測試和調試裝置上的執行效果。同時修復了一些 bug,增強了使用者體驗。
詳細更新內容如下:
EasyAR Sense Unity Plugin
- ✨ 新增 InputFrameRecorder/InpuptFramePlayer 支援
- ✨ 運動追蹤校正參數預設會從伺服器更新
- 🚚 重新組織檔案
- ⚡ 簡化 hit test 呼叫
- 🐛 修復 tracker 銷毀後 target 不會遺失
- 🐛 修復某些情況下相機影像旋轉 180 度
- 🐛 修復線性色彩空間下相機影像色彩
- ⬆️ 更新 Sense 至 4.2.0
EasyAR Sense Unity Plugin Samples
- ✨ 新增 FrameRecording sample 以演示 InputFrameRecorder/InpuptFramePlayer 的使用
- ⚡ 最佳化運動追蹤 sample 的平面偵測
Version 4.1.0
发布日期:2020-07-16
EasyAR Sense Unity Plugin 4.1.0 增加了一些小功能,修复了一些 bug,增强了用户体验。
详细更新内容如下:
EasyAR Sense Unity Plugin
- ✨ 插件腳本中添加完整的文件
- ✨ 插件詳細的使用說明和樣例解析文件上線
- ♻️ 重寫 CloudLocalizerFrameFilter 以支援單次掃描
- 🐛 修復當 camera 圖像使用 ARHorizontalFlipMode.World 進行翻轉時 invert culling 對場景中其它相機的污染
- 🐛 修復高 dpi 顯示器上 image target gizmo 的顯示問題
- 🐛 修復 RGB/RGBA 像素類型的 camera 圖像旋轉
- ⬆️ 更新 Sense 到 4.1.0
EasyAR Sense Unity Plugin Samples
- ♻️ 重寫 MotionTracking sample,演示運動跟踪的平面檢測功能
- ♻️ 重寫 ImageTracking_CloudRecognition sample,使用新的接口功能
- 🔧 修改 ImageTracking_Targets sample,使用水平和垂直擺放的 image target
版本 4.0.1
發佈日期:2020-05-13
EasyAR Sense Unity Plugin 4.0.1 增加了一些小功能,修復了一些 bug,增強了使用者體驗。
詳細更新內容如下:
EasyAR Sense Unity Plugin
- 🐛 小修復
- ⬆️ 更新 Sense 到 4.0.1
EasyAR Sense Unity Plugin Samples
- ♻️ 重寫 TargetOnTheFly sample,更加簡潔和穩定
版本 4.0.0
發布日期:2019-12-30
EasyAR 已經成長為一個大家族,從版本 4 開始,過去被大家熟知的 EasyAR SDK 將被賦予一個新的名字:EasyAR Sense。EasyAR Sense 提供感知真實世界的能力。這個版本包含了所有 3.0 的功能。
EasyAR Sense 是一個獨立 SDK,它不依賴於非系統組件或是像 Unity3D 這樣的工具,可以提供靈活的基於資料流的組件化 API。
而關於 Unity 的支援,EasyAR Sense Unity Plugin 是一個非常薄的封裝,用於在 Unity 中暴露 EasyAR Sense 的功能。EasyAR Sense Unity Plugin 的所有程式碼經過良好的介面設計且都是開源的。您可以直接使用這個外掛程式來快速建立 AR 體驗,也可以參考外掛程式程式碼來更加靈活和自訂的使用 EasyAR Sense 介面和功能,或是建立屬於自己的 Unity 外掛程式。
EasyAR Sense Unity 外掛程式獲得了巨大提升,主要集中在這幾方面:
連貫的設計演化
EasyAR Sense 1/2/3 的 Unity 外掛程式的所有功能和優點都在這個版本中保留了下來。 這個版本的外掛程式盡可能多的使用了 Unity 本身的功能,比如使用 OnEnable/OnDisable 來控制 start/stop。大多數 EasyAR Sense 功能都可以不需要寫指令碼直接工作。 所有 EasyAR Sense 4.0 的新功能都已經支援,許多 bug 也已經修復。
編輯器體驗優化
編輯器中可以顯示 image target 的 gizmo,以更好的體驗替代過去版本中編輯模式下自動產生的 mesh。 嚴重錯誤(比如 license key 驗證失敗)會通過彈出訊息在螢幕上顯示,用於幫助 debug。 除 API 外,提供了 Unity 工具視窗來產生 image target data。
更多範例,覆蓋更多細節 API
新增了展示所有新功能以及不同演算法組合工作的範例。 新增了 AR 眼鏡支援的範例,預先標定了兩款 AR 眼鏡:影創 Action One 及 EPSON BT-350。 社群中許多關於「如何使用」的問題在這些範例中都有解答。感謝大家的回饋!
EasyAR Sense 4.0 提供免費個人版、月付費專業版和客製化功能企業版三種訂閱模式。
功能、定價、付款方式等的詳細資訊可以在 產品頁面 及 價格頁面 瞭解。
詳細更新內容如下:
Unity Plugin for EasyAR Sense 4.0.0
- 🚀 支援 EasyAR Sense 4.0.0 的所有新功能:稀疏空間地圖、稠密空間地圖以及運動追蹤
- 🚀 恢復類似 Sense 2.3 的介面設計和行為,並有非常多改進
- ✨ 新增嚴重錯誤情況的彈出訊息(可在 EasyARController 上關閉)
- ✨ Components: 大多數元件可以使用 Unity 元件的 enabled 來控制 start/stop
- ✨ Component ARSession: AR 入口,控制 center mode,具備支援外部裝置的能力,例如自訂相機及 AR 眼鏡
- ✨ Component ARAssembly: 展示 EasyAR Sense 元件化 API 的組裝過程,支援所有 EasyAR Sense 的元件
- ✨ Component ImageTargetController: 改善對不同類型輸入的支援,可以從本機檔案系統或 web URL 載入影像和 .etd 檔案
- ✨ Component CameraImageRenderer: camera 影像渲染可由 disable 該元件來關閉
- ✨ Component VIOCameraDeviceUnion: 運動追蹤,可自動選取使用裝置可用的 ARKit、ARCore 或 EasyAR 運動追蹤功能
- ✨ Scene: 新增 target gizmo,可在 Unity 編輯器中顯示 target 細節
- ✨ Asset: 新增全域服務設定及 gizmo 控制選項
- ✨ Window: 新增產生 image target data(.etd 檔案)的視窗
- ✨ Window: 新增選單跳轉到 license key 設定介面和其他全域設定
- 🐛 修復目標追蹤存在一幀延遲的問題
- 🐛 修復阻塞式 target 載入,減少 target 載入時間
- 🐛 修復 target size 獲取
- 🐛 許多其他改進及 bug 修復
- ⬆️ 更新 Sense 到 4.0.0
Samples of Unity Plugin for EasyAR Sense 4.0.0
- 🚀 新增許多 sample,展示 Sense 功能及介面使用
- 🚀 新增回所有 Sense 2.3 的 sample
- 🚀 新增展示新功能的 sample,包括稀疏空間地圖、稠密空間地圖以及運動追蹤,還有這些功能如何與影像追蹤等其他元件同時使用的 sample
- ✨ 新增 sample 啟動器,可以透過啟動器載入所有 samples
- ✨ 新增螢幕上顯示的元件狀態資訊,覆蓋所有 samples
- ✨ 新增展示 AR 眼鏡支援的 sample
- ✨ 新增表面追蹤與影像追蹤同時使用的 sample
- ✨ 新增取得 camera 影像貼圖和控制 camera 顯示的 sample
- ✨ 新增修改影片 aspect ratio (Unity VideoPlayer 功能) 適配 image target 的 sample
- ✨ 新增展示從影像擴展追蹤的 sample
- ♻️ 雲端識別 sample 現在使用本機快取,並在追蹤狀態下停止雲端識別,以覆蓋常見的使用場景
- 🐛 最佳化 coloring3D sample,修復 bug