EasyAR Sense Unity Plugin 遷移指南
本文介紹如何從舊版本的 EasyAR Sense Unity Plugin 遷移到新版本。
相容性說明
從版本 4000 開始,EasyAR Sense Unity Plugin 遵循 Unity 所要求的 套件版本控制(使用 Semantic Versioning),相容性可根據版本號判斷。
4.7 是逐步更新版本,任何兩個 4.7 版本都不相容。
4.7 之前的版本,只有第三個版本號表示向後相容性,前兩個版本號的變更均表示不相容。比如,4.6.2 與 4.6.1 相容,但 4.6.0 與 4.5.0 不相容。
警告
修改 tgz 檔案或解壓後未完整更新整個外掛將導致不相容。
通用遷移指南
遷移到新版本需要先使用 Package Manager window 刪除舊版本的外掛套件並新增新的套件。
建議按如下步驟操作:
- 關閉使用中的 Unity。
- 刪除 Unity 打包應用程式時產生的平台編譯目錄。
- 重新開啟 Unity 專案,將舊版本的 EasyAR Sense Unity Plugin 從專案中移除。
- 匯入新版本的 EasyAR Sense Unity Plugin 版本。

附註
外掛提供的範例檔案並不保證版本間相容。在外掛升級後,匯入到專案中的範例可能無法正常運作,建議刪除舊版本範例後再操作。
EasyAR 包含原生函式庫檔案,如果在刪除或替換前執行過函式庫函數(打包時也會呼叫),這些函式庫檔案會被系統鎖定無法刪除或替換。
重要事項
在刪除舊版本之前,需要確保沒有在編輯器中執行任何場景或打包任何平台的應用程式。通常建議刪除或替換套件之前先關閉 Unity,並在重新開啟後立即替換。
在使用新版本外掛重新打包前,需要先刪除 Unity 打包產生的平台編譯目錄,包括打包 Android 產生的 Gradle 專案目錄,以及打包 iOS 產生的 Xcode 目錄。
提示
通常這些目錄可能在 Unity 專案的 Library 資料夾裡面(比如 Library/Bee/Android/Prj/IL2CPP/Gradle),但是不同 Unity 版本有可能不一樣。
如果您打包過但找不到對應平台的目錄,建議刪除整個
Library資料夾。
如果在遷移之後出現 SchemaHashNotMatched 例外,通常有兩種可能
- 前述操作未正確進行導致升級失敗或不完整,或是 Unity 產生的編譯目錄未正確更新(注意:如果未手動刪除,大概率會出錯)。建議按建議步驟進行操作或使用沒有
Library快取的專案重新編譯。 - 手動修改了 EasyAR 的 tgz 檔案或解壓後未完整更新整個外掛。這種情況 EasyAR 無法保證可用性,需要重新下載正確的套件並匯入。
重要事項
由於 EasyAR Sense 的函式庫檔案以及函式庫檔案打包後的位置可能會發生變化,如果您保留了 Unity 產生的 Gradle 或 Xcode 專案,必需提前刪除所有與 EasyAR 有關的檔案,比如 EasyAR.aar , libEasyAR.so , easyar.framework 等。
遷移到版本 4002
從版本 4001 遷移到 4002 時,除了上述通用遷移指南之外,還需要注意以下內容。
介面變更
| 功能模組 | v4001 API | v4002 API | 使用說明 |
|---|---|---|---|
| 輔助功能 | Image.Image(Buffer, PixelFormat, int, int) | Image.create |
遷移到版本 4001
提示
僅在使用 Mega 時有不相容變更,其它功能的使用不受影響。
從版本 4000 遷移到 4001 時,除了上述通用遷移指南之外,還需要注意以下內容。
介面變更
| 功能模組 | v4000 API | v4001 API | 使用說明 |
|---|---|---|---|
| Mega | MegaTrackerFrameFilter.ResultPoseType.EnableLocalization | MegaTrackerFrameFilter.EnableLocalization | 控制 Mega 追蹤過程 |
| Mega | MegaTrackerFrameFilter.ResultPoseType.EnableStabilization | - | 功能已刪除 |
歷史版本遷移
從 4000 以前的版本遷移時,需要參考以下內容: