Table of Contents

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 删除老版本的插件包并添加新的包。

建议按如下步骤操作:

  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 以前的版本迁移时,需要参考以下内容:

相关主题