平台需求

平台支持

请参考 EasyAR Sense 平台要求 以及 Unity System requirements

关于 Android arm64-v8a

  • Unity使用的mono脚本后台不支持Android arm64-v8a。如果需要使用应开启IL2CPP。

关于 iOS armv7

  • EasyAR Sense 从3.0版本开始终止了对iOS armv7的支持。在库文件中存在空的代码层以确保 XCode 工程始终可以构建,但如果编译时只选择了armv7运行后功能将无法使用。

Unity兼容性

EasyAR Sense Unity Plugin需要使用 Unity 2019.4 或更高版本。

Unity > 2019.4 的兼容性,

  • 通常来说, EasyAR Sense不依赖很多变化的Unity API,所以如果Unity发布了新版本,EasyAR Sense Unity Plugin一般都可以正常使用。

  • Unity 2020.2 或更高版本 删除了iOS设备的OpenGLES支持,在这些版本中,视频录制功能将无法在iOS设备上使用。

Unity < 2019.4 的兼容性,

为了提供更好的插件包体验以及支持最新的Unity XR工作流,我们在持续迁移我们的资产文件和脚本到 Unity 2019.4。这会逐渐打破对老版本Unity的兼容性。如果你由于某些原因仍就在使用老版本的Unity,可以尝试从 tgz 包中解压文件,放在工程的 Assets 目录,然后解决使用过程中出现的错误。对于这种用法我们不会提供官方支持,但有一些建议可以参考:

  • Unity 2019.3: 看上去插件可以在这个版本的Unity上正常工作,因为Unity 2019.3 和 2019.4的差异有限。这个兼容性并不是在设计中的,新的版本可能无法正常工作。

  • Unity 2019.2: 看上去插件可以在这个版本的Unity上正常工作,你可能需要手动修改package manifest,以添加tarball到工程中。这个兼容性并不是在设计中的,新的版本可能无法正常工作。在Windows上,由于Unity对路径长度限制的不当处理,插件的样例可能无法正常导入,你可以通过文件系统直接复制样例文件到 Assets 文件夹中。

  • Unity 2019.1: 这个版本的Unity Package Manager UI看起来并不能很好的支持tgz文件。你可以尝试embed插件包,如果这样也不能使用,打破包的封装,将文件直接解压到 Assets 文件夹中。

  • Unity 2018.4: 这个版本的Unity Package Manager UI不支持sample。并且由于插件使用 Unity 2019.4打包,一些重要文件的 meta文件无法正常工作。你需要打破package封装,将文件直接解压到 Assets 文件夹中。在重新构建meta文件后,可能可以让大部分功能正常工作,但这并未经过测试。

  • Unity 2017 或 Unity 5: 在这些版本中不存在Unity Package Manager。并且一些兼容这些版本的代码路径已经被删除。你可能需要花更大的力气才能使插件在这些版本中正常使用。

.NET API 兼容性

EasyAR Sense Unity Plugin兼容 .NET Standard 2.0 API

Graphics API

从EasyAR Sense 3.0开始,EasyAR Sense Unity Plugin 直接使用Unity的渲染管线,所有Unity中可以使用的图形API都可以天然被支持。

特例:由于EasyAR Sense的内部实现,录屏功能将只能在某些特定条件下工作,即在Android上Graphics API是OpenGLES2或OpenGLES3的情况以及在iOS上Graphics API是OpenGLES2的情况。

Scriptable Render Pipeline

EasyAR Sense Unity Plugin 支持 Universal Render Pipeline (URP) 7.0.0 或更新版本。

EasyAR Sense Unity Plugin 不支持 High Definition Render Pipeline (HDRP)。

Unity AR Foundation 兼容性

EasyAR Sense Unity Plugin 支持 AR Foundation 4.0.8 或更新版本。

华为 AR Engine 兼容性

EasyAR Sense Unity Plugin 支持官方的 Huawei AR Engine Unity SDK 2.11.0,其发布文件是 arenginesdk-tool-2.11.0.2.zip

华为目前不再维护 AR Engine 的 Unity SDK,因此我们并不确定是否更新版本的 AR Engine 可以使用。同时,由于 Huawei AR Engine Unity SDK 使用了一些废弃的 Unity API,它不能在 Unity 2020.1 或更新版本上使用。

EasyAR Sense Unity Plugin 不支持没有官方Unity SDK的华为 AR Engine。

Nreal 眼镜兼容性

以下 Nreal SDK 版本在当前EasyAR发布时已经支持

  • 1.5.7

  • 1.6.0

  • 1.7.0

如果EasyAR使用到的Nreal接口在Nreal新版本中没有变化,可能也是可以直接支持的;如果这些接口存在少量变化,在EasyAR更新前也可以自行修改NrealFrameSource脚本。

Unity自身的限制

关于 Android arm64-v8a

  • Unity使用的mono脚本后台不支持Android arm64-v8a。如果需要使用应开启IL2CPP。

Mono 脚本后端支持

  • iOS: 不支持(由于Unity不支持64位Mono backend)

  • Android: 支持(仅armv7)

IL2CPP 脚本后端支持

  • iOS: 支持

  • Android: 支持

来自ARCore的限制

如果有使用到 ARCore,必须使用 IL2CPP 并在构建中包含 arm64-v8a 。在arm64的设备上运行仅有armv7的程序,ARCore不会正常工作。