平台需求¶
平台支持¶
请参考 EasyAR Sense 平台要求 以及 Unity System requirements 。
关于 Android arm64-v8a
Unity使用的mono脚本后台不支持Android arm64-v8a。如果需要使用应开启IL2CPP。
关于 iOS armv7 及 Universal
在iOS平台上,不支持Architecture为arm64或Universal。仅支持选择Architecture为arm64。
关于 Mac Apple silicon
EasyAR Sense Unity Plugin从4.6版本开始支持在Apple silicon设备上原生运行。(EasyAR Sense 从4.3开始支持在Apple silicon设备上原生运行,老版本Unity插件只需把相关库文件拿进来即可使用。)
插件可以在Unity编辑器中正常使用。但由部分Unity版本为 "Apple silicon" 或 "Intel 64-bit + Apple silicon" 构建的应用可能无法正常工作。这应该是Unity对原生插件支持的bug。如果你发现你的应用在Mac上无法使用,且显示类似 "Fail to load EasyAR library" 或 "DllNotFoundException: EasyAR assembly" 的错误,你应该向Unity或Unity社区寻求帮助。
Unity兼容性¶
EasyAR Sense Unity Plugin需要使用 Unity 2019.4 或更高版本。
通常来说, EasyAR Sense不依赖很多变化的Unity API,所以如果Unity发布了新版本,EasyAR Sense Unity Plugin一般都可以正常使用。
Unity 2020.2 或更高版本 删除了iOS设备的OpenGLES支持,在这些版本中,视频录制功能将无法在iOS设备上使用。
.NET API 兼容性¶
EasyAR Sense Unity Plugin兼容 .NET Standard 2.0 API。
Graphics API¶
EasyAR Sense Unity Plugin 直接使用Unity的渲染管线,所有Unity中可以使用的图形API都可以天然被支持。
特例:由于EasyAR Sense的内部实现,录屏功能将只能在某些特定条件下工作,即在Android上Graphics API是OpenGLES2或OpenGLES3的情况以及在iOS上Graphics API是OpenGLES3的情况。
Scriptable Render Pipeline¶
EasyAR Sense Unity Plugin 支持 Universal Render Pipeline (URP) 7.0.0 或更新版本。
EasyAR Sense Unity Plugin 不支持 High Definition Render Pipeline (HDRP)。
WebGL¶
EasyAR Sense Unity Plugin 不支持 Unity的WebGL。
EasyAR Sense的功能和接口不支持在Unity WebGL上使用,但你仍然可以通过直接调用EasyAR CRS或其它服务接口的方式使用EasyAR的云服务。这种情况你不再需要EasyAR Sense Unity Plugin,而是通过Unity的网络API直接调用EasyAR的相关云服务接口。
Unity AR Foundation 兼容性¶
使用AR Foundation需要导入 EasyAR Sense Unity Plugin ARFoundation Extension
, 包名 com.easyar.sense.ext.arfoundation
。
EasyAR Sense Unity Plugin 支持 AR Foundation 4.1.3 或更新版本。
ARFoundation的支持是通过EasyAR Sense的自定义相机实现的。在使用个人版时,如果运行时选择了自定义相机,EasyAR每次启动将只能使用100秒。使用付费版本的EasyAR Sense没有这个限制。
ARCore 兼容性¶
EasyAR Sense Unity Plugin 内部包含了ARCore SDK 1.23.0,因此可以支持 ARCore (Google Play Services for AR) 1.23.0及以上版本。从我们观察来看,1.19.0 - 1.23.0应该也是支持的,但1.19.0以下是不支持的。如果使用AR Foundation或其它ARCore SDK的发布,ARCore 兼容性将由这些框架决定。
如果有使用到 ARCore,需要在Unity中做如下两个设置
使用 Gradle >= 5.6.4(默认情况下,Unity 2020及更新版本是满足条件的,因此主要在使用Unity 2019.4的时候需要注意)。详情可参考 Google的说明 。
使用 IL2CPP 并在构建中包含 arm64-v8a 。在arm64的设备上运行仅有armv7的程序,ARCore不会正常工作。这个在打包时是非强制的,但如果不满足条件会弹出警告。
华为 AR Engine 兼容性¶
EasyAR Sense Unity Plugin 内部包含了AREngine SDK 3.7.0.3,支持至少AREngine 2.18及以上版本。详细兼容信息请查阅AREngine官方说明。
这个版本不再支持华为官方已不再维护的 Huawei AR Engine Unity SDK
。并且由于替换了AREngine的实现,AREngine的使用将不再受Unity版本的限制。
AR Engine的支持是通过EasyAR Sense的自定义相机实现的。在使用个人版时,如果运行时选择了自定义相机,EasyAR每次启动将只能使用100秒。使用付费版本的EasyAR Sense没有这个限制。
头显兼容性¶
除Nreal/XREAL以外,其余设备支持目前仅针对部分用户开放使用,如有需要请联系商务。
版本4.6的 EasyAR Sense Unity Plugin 已经支持如下头显SDK
Nreal/XREAL SDK 1.6.0 或更新版本。
由于同一个SDK可以用来支持不同的设备,该文档对支持的设备可能更新不会特别及时。对于一些新设备的支持,请咨询对应硬件厂商。
目前已经确认支持的设备如下:
Nreal/XREAL X
Nreal/XREAL Light
如遇头显SDK更新,大部分情况下在没有相关接口改动的情况下都是可以支持的;如果EasyAR使用的部分接口存在变化,在EasyAR更新前可以自行修改对应头显的FrameSource脚本。
头显的支持是通过EasyAR Sense的自定义相机实现的。使用个人版的EasyAR Sense license或使用试用版本的Mega服务时,如果运行时选择了自定义相机,EasyAR每次启动将只能使用100秒。使用付费版本的EasyAR Sense和付费的EasyAR Mega服务没有这个限制。
在今后的发布中还会有更多设备支持。Mega用户已经可以使用预发布版本,支持Pico、Qiyu、Rokid等,详细支持信息请参考 最新预发布版本的头显兼容性 。
请注意:Rokid Air Pro Plus支持已结束,如遇任何使用问题或定位跟踪效果问题,请更新使用Rokid AR Studio。
如果你是硬件制造商,请阅读 如何创建EasyAR头显扩展 。