Android 工程配置¶
API Level¶
EasyAR Sense 需要 Android API Level 17 或以上。在Player Settings面板设置如下。
Package Name¶
设置Android应用的Package Name, 注意Package Name要与创建License Key时填写的一致 。在Player Settings面板设置如下。
Target Architecture¶
如果需要编译支持arm64,需要使用IL2CPP编译并选择ARM64支持。在Player Settings面板设置如下。在不需要支持arm64架构的时候这个配置不是必须的。
EasyAR Sense不直接支持x86架构的Android系统,但是一般x86架构的设备芯片可以兼容arm程序,因此需要配置取消选择x86架构,这样在一些x86设备上(比如EPSON BT-350)可以正常使用。在Player Settings面板设置如下。在不需要支持x86设备的时候这个配置不是必须的。
权限配置¶
你可以检查 EasyAR 所使用的权限。请确保你所使用的功能所使用的权限是打开的。这些选项用于直接添加必要的权限到AndroidManifest中。
Camera Device
: 使用 CameraDevice 及其它需要使用相机设备的frame source需要的权限。启这个选项将会使用设备的相机权限。Video Recording
: 使用 VideoRecorder 需要的权限。开启这个选项将会使用设备的麦克风权限。Cloud Spatial Map
: 使用 CloudSpatialMapLocalizerFrameFilter 建议开启的权限。开启这个选项将会使用设备的 fine 定位权限(只有当com.easyar.spatialmap package存在时才起作用)。
ARCore 支持¶
目前EasyAR Sense支持1.6版本或以上版本的ARCore。在EasyAR Sense Unity Plugin中,ARCore的支持所需的库文件和配置已经在包中,不需要特殊配置,但手机中需要安装 Google Play Services for AR 。
选择 ARCore SDK¶
根据对ARCore的不同使用方式来更改 ARCore SDK
选项。
AR Foundation Or Optional
: 随EasyAR或AR Foundation
一起分发的ARCore SDK将会被包含在应用中,根据ARCore XR Plugin的设置决定。一般情况下推荐使用这个选项,它会自动处理AR Foundation
的情况。Optional
: ARCore 功能在支持ARCore并安装了Google Play Services for AR的设备上可以使用。Required
: 应用将只能在支持ARCore并安装了Google Play Services for AR的设备上运行。External
: 如果你在使用AR Foundation
或其它ARCore SDK分发,可以使用这个选项。这样随EasyAR一起分发的ARCore SDK将不会使用。你也可以使用这个选项来完全排除ARCore SDK在应用中的使用。
更多细节及应用所需要的配置请访问 Google的说明 。
注意: EasyAR的ARCore 封装在使用随EasyAR一起分发的ARCore SDK时,不会要求使用GLES3,这与 AR Foundation
所使用的 ARCore XR Plugin
不同。但是我们没有导出 ARCore
的丰富功能。如果你需要使用ARCore的平面检测等功能,仍旧建议使用 AR Foundation
。
注意: 如果有使用到 ARCore,必须使用 IL2CPP 并在构建中包含 arm64-v8a 。在arm64的设备上运行仅有armv7的程序,ARCore不会正常工作。
Unity 2019.4 和 Android 11¶
如果你在使用Android SDK Platform >= 30构建应用,需要打开 ARCore For Android 11
才能使 ARCore 正常工作。使用Unity 2019.4构建的项目必须使用Gradle 5.6.4或更高版本。可以参考 Google的说明 来更新工程使用的Gradle版本。
在 Unity 2020.1 或更高版本中,这个选项是始终开启的。
视频录制功能的特殊配置¶
如果要使用视频录制功能,需设置Graphics API 为OpenGL ES 2.0或3.0,并去掉Multithreaded Rendering的勾选。
同时需设置 Android API Level 18 或以上。