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-04-03
EasyAR Sense Unity Plugin 4.6.2 修復了一些 bug。
詳細更新內容如下:
- 🐛 修復線性色彩空間下稠密空間地圖 mesh 的顯示問題
- 🩹 解決(workaround)Camera_CustomCamera 樣例在 Unity 2022.2 和 2023.1(可能還有其它版本)中 Android 上可能崩潰的問題,看上去 Unity 的 JNI 部分在這些版本中存在 bug
版本 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 Samples
- ✨ 添加新樣例
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
版本 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
版本 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 的平面檢測
版本 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 ARSenssion: 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
- ✨ 添加屏幕上顯示的組件狀態信息,覆蓋所有 sample
- ✨ 添加展示 AR 眼鏡支持的 sample
- ✨ 添加表面跟蹤與圖像跟蹤同時使用的 sample
- ✨ 添加獲取 camera 圖像貼圖和控制 camera 顯示的 sample
- ✨ 添加修改視頻 aspect ratio (Unity VideoPlayer 功能) 適配 image target 的 sample
- ✨ 添加展示從圖像擴展跟蹤的 sample
- ♻️ 雲識別 sample 現在使用本地緩存,並在跟蹤狀態下停止雲端識別,以覆蓋常見的使用場景
- 🐛 優化 coloring3D sample,修復 bug