Plugins¶
EasyAR Sense Libraries¶
Plugins
├── Android
│ └── libs
│ ├── arm64-v8a
│ │ └── libEasyAR.so
│ ├── armeabi-v7a
│ │ └── libEasyAR.so
│ └── EasyAR.jar
├── EasyAR.bundle
├── iOS
│ └── easyar.framework
├── x64
│ └── bin
│ └── EasyAR.dll
└── x86
└── bin
└── EasyAR.dll
这些是EasyAR Sense在不同系统下使用的库文件,EasyAR Sense Unity Plugin需要这些文件才能在对应系统上运行。这些库文件与 EasyAR/Scripts 文件夹中的csapi 文件来自于同一个EasyAR Sense发布版本。
Android Manifest¶
Plugins
└── Android
└── AndroidManifest.xml
Unity生成Android工程时所需的AndroidManifest文件,此文件添加了相机,存储,录音权限以及加载ARCore相关配置,以确保EasyAR Sense的功能可以在Android系统中正常使用。用处如下:
相机权限: 使用camera需要。
存储权限: sample中的文件存储需要。
录音权限: 视频录制功能需要。
ARCore相关配置: 使用ARCore功能的时候需要。
这个文件不是属于EasyAR Sense Unity Plugin的文件,而是为使整个插件运行所必需的配置文件。因此可以根据需求修改这个文件。另外,如果在你的工程里或是其它Unity插件中使用到了同样的文件,需要手动合并它们,确保各自的功能可以正常使用。如果只是使用某一个文件,很可能会有功能无法正常使用。合并AndroidManifest需要理解每个AndroidManifest内部的内容,建议参考Android官方文档。
ARCore Libraries¶
Plugins
└── Android
└── libs
├── arcore-classes.jar
├── arm64-v8a
│ └── libarcore_sdk_c.so
└── armeabi-v7a
└── libarcore_sdk_c.so
目前EasyAR Sense支持1.6版本或以上版本的ARCore。在EasyAR Sense Unity Plugin中,ARCore的支持不需要特殊配置,但手机中需要安装 Google Play Services for AR 。
ARCore并非必须依赖,同时它也可以使用其它方式加载(比如ARFoundation)。插件脚本中已经加入对arcore_sdk_c库的加载,这可以在EasyARSettings的配置中关闭(ARCoreSupport)。
如果不需要使用ARCore功能,可以关闭EasyARSettings的ARCoreSupport,删除或保留这些文件影响不大。
如果需要使用ARFoundation等方式加载ARCore,删除这些文件即可,ARCoreSupport开启时仍可使用ARCore功能。
ARCore SDK升级¶
当前插件版本中嵌入的ARCore SDK版本为1.6,支持Google Play Services for AR 1.6和以上版本。如有需要,可以升级到更新的ARCore SDK。
以升级到1.14为例,在任意Android Studio项目的build.gradle的dependencies中加入
implementation 'com.google.ar:core:1.14.0'
并编译,可以在gradle缓存中获得core-1.14.0.aar。(在计算机用户文件夹/.gradle中搜索可以找到) 将aar文件解压,使用其中的classes.jar文件替换arcore-classes.jar,使用jni/armeabi-v7a和jni/arm64-v8a文件夹下的libarcore_sdk_c.so替换对应的文件即可。