平台需求¶
平台支持¶
请参考 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设备上使用。
Unity 6 (包括URP 17+ Render Graph)在4.6.4版本完全支持
.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)。
注意
关于Unity 6 URP 17+ render graph支持的声明
虽然EasyAR已经支持Unity 6 URP 17+ render graph,但在Unity那边仍有未解决的问题。因此,我们仍然建议在遇到异常情形时使用Unity提供的URP兼容模式。
Unity 6000.0.32f1 render graph(兼容模式下运行正常)中的已知问题包括但不限于:
[未解决] 当你从EasyAR获取相机纹理(类似 ImageTracking_Coloring3D 及 Workflow_FrameSource_CameraDevice 样例中的使用),在iOS/Mac设备上可以观察到视觉故障和伪影。我们已经在纯Unity包中复现该问题并报告给了Unity: Glitches on iOS with AR Camera Image Rendering (URP 17 render graph) 。问题进展请关注 Unity Issue UUM-87787 更新以及Unity未来版本的发布日志。(EasyAR中有 部分缓解措施 ,默认开启)
[未解决] 当你从EasyAR获取相机纹理(类似 ImageTracking_Coloring3D 及 Workflow_FrameSource_CameraDevice 样例中的使用),并设置Render Scale为非1(类似Unity的
Mobile_RPAsset.asset
模板中那样),在iOS/Mac设备上可以观察到黑屏。[EasyAR中已绕过(默认开启)] Windows DX11上相机画面会让场景中的物体渲染效果不可预测。
建议在Unity的问题跟踪页面确认问题的更新,并向Unity直接反馈。
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 或更新版本。
注意
AR Foundation的支持是通过EasyAR Sense的自定义相机实现的。在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。使用付费版本的EasyAR Sense和付费的EasyAR Mega服务没有这个限制。
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的自定义相机实现的。在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。使用付费版本的EasyAR Sense和付费的EasyAR Mega服务没有这个限制。
头显兼容性¶
Apple Vision Pro、Pico、XREAL Air2 Ultra仅针对企业用户开放使用,如有需要请联系商务。
EasyAR Sense Unity Plugin 已经支持如下头显SDK
Apple visionOS
PICO Unity Integration SDK 3.1.0 或更新版本(仅Pico 4UE,仅支持从EasyAR官方购买的设备)。
PICO Unity Integration SDK 2.5(仅Pico 4E,仅支持从EasyAR官方购买的设备)。
XREAL SDK 2.4.0 或更新版本。
Rokid UXR2 SDK 2.3.5 或更新版本。
Xrany元霓 SDK (由厂商开发维护)
由于同一个SDK可以用来支持不同的设备,该文档对支持的设备可能更新不会特别及时。对于一些新设备的支持,请咨询对应硬件厂商。
目前已经确认支持的设备如下:
Apple Vision Pro
Pico 4 Ultra Enterprise(仅支持从EasyAR官方购买的设备)
Pico 4 Enterprise(仅支持从EasyAR官方购买的设备)
XREAL Air2 Ultra(仅支持从EasyAR官方购买的设备)
XREAL Light(支持的手机以XREAL官方说明为准)
Rokid AR Studio
Xrany X1 (由厂商开发维护)
其中EasyAR Sense内建支持如下头显:
Apple Vision Pro
XREAL Air2 Ultra
XREAL Light(支持的手机以XREAL官方说明为准)
EasyAR还提供扩展机制以支持更多新设备,这类设备和设备SDK是受支持的,
其它通过EasyAR头显扩展接入的设备(由厂商开发维护)
请关注设备厂商的具体说明。设备厂商可以参考 如何创建EasyAR头显扩展 来接入。
注意
在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。使用付费版本的EasyAR Sense和付费的EasyAR Mega服务没有这个限制。
如遇头显SDK更新,大部分情况下在没有相关接口改动的情况下都是可以支持的;如果EasyAR使用的部分接口存在变化,在EasyAR更新前可以自行修改对应头显的FrameSource脚本。