Table of Contents

EasyAR Sense Unity Plugin 遷移指南

本文介紹如何從舊版本的 EasyAR Sense Unity Plugin 遷移到新版本。

相容性說明

從版本 4000 開始,EasyAR Sense Unity Plugin 遵循 Unity 所要求的 套件版本控制(使用語義化版本),相容性可根據版本號判斷。

4.7 是逐步更新版本,任何兩個 4.7 版本都不相容。

4.7 之前的版本,只有第三個版本號表示向後相容性,前兩個版本號的變更均表示不相容。比如,4.6.2 與 4.6.1 相容,但 4.6.0 與 4.5.0 不相容。

[!警告] 修改 tgz 檔案或解壓後未完整更新整個外掛將導致不相容。

通用遷移指南

遷移到新版本需要先使用 Package Manager window 刪除舊版本的外掛套件並新增新的套件。

建議按如下步驟操作:

  1. 關閉使用中的 Unity。
  2. 刪除 Unity 打包應用時產生的平台編譯目錄。
  3. 重新開啟 Unity 工程,將舊版本的 EasyAR Sense Unity Plugin 從工程中移除。
  4. 匯入新版本的 EasyAR Sense Unity Plugin 版本。

[!注意] 外掛提供的範例檔案並不保證版本間相容。在外掛升級後,匯入到工程中的範例有可能無法正常工作,建議刪除舊版本範例後再操作。

EasyAR 包含原生函式庫檔案,如果在刪除或替換前執行過函式庫函式(打包時也會呼叫),這些函式庫檔案會被系統鎖定無法刪除或替換。

[!重要] 在刪除舊版本之前,需要確保沒有在編輯器中執行任何場景或打包任何平台的應用。通常建議刪除或替換套件之前先關閉 Unity,並在重新開啟後立即替換。

在使用新版本外掛重新打包前,需要先刪除 Unity 打包產生的平台編譯目錄,包括打包 Android 產生的 Gradle 工程目錄,以及打包 iOS 產生的 Xcode 目錄。

[!提示] 通常這些目錄可能在 Unity 工程的 Library 資料夾裡面(比如 Library/Bee/Android/Prj/IL2CPP/Gradle),但是不同 Unity 版本有可能不一樣。

如果您打包過但找不到對應平台的目錄,建議刪除整個 Library 資料夾。

如果在遷移之後出現 SchemaHashNotMatched 異常,通常有兩種可能

  1. 前述操作未正確進行導致升級失敗或不完整,或是 Unity 產生的編譯目錄未正確更新(注意:如果未手動刪除,大概率會出錯)。建議按建議步驟進行操作或使用沒有 Library 快取的工程重新編譯。
  2. 手動修改了 EasyAR 的 tgz 檔案或解壓後未完整更新整個外掛。這種情況 EasyAR 無法保證可用性,需要重新下載正確的套件並匯入。

[!重要] 由於 EasyAR Sense 的函式庫檔案以及函式庫檔案打包後的位置可能會發生變化,如果您保留了 Unity 產生的 GradleXcode 工程,必需提前刪除所有與 EasyAR 有關的檔案,比如 EasyAR.aarlibEasyAR.soeasyar.framework 等。

遷移到版本 4001

[!提示] 僅在使用 Mega 時有不相容改動,其它功能的使用不受影響。

從版本 4000 遷移到 4001 時,除了上述通用遷移指南之外,還需要注意以下內容。

介面變更

功能模組 v4000 API v4001 API 使用說明
Mega MegaTrackerFrameFilter.ResultPoseType.EnableLocalization MegaTrackerFrameFilter.EnableLocalization 控制 Mega 追蹤過程
Mega MegaTrackerFrameFilter.ResultPoseType.EnableStabilization - 功能已刪除

歷史版本遷移

從 4000 以前的版本遷移時,需要參考以下內容:

相關主題