Unity + ARCORE DllNotFoundException:arcore_unity_api

Unity + ARCORE DllNotFoundException: arcore_unity_api

我尝试 运行 arcore 示例以实现统一,如下页所述:https://developers.google.com/ar/develop/unity/quickstart-android

但是没用。该应用程序启动并正在搜索飞机,但相机画面是黑色的。在 logcat 中有以下异常:

DllNotFoundException: arcore_unity_api
    at (wrapper managed-to-native) GoogleARCoreInternal.ARPrestoCallbackManager/ExternApi:ArCoreUnity_setArPrestoInitialized (GoogleARCoreInternal.ARPrestoCallbackManager/EarlyUpdateCallback)
  at GoogleARCoreInternal.ARPrestoCallbackManager.InitializeIfNeeded () [0x00000] in <filename unknown>:0 
  at GoogleARCoreInternal.ARCoreAndroidLifecycleManager.CreateSession (GoogleARCore.ARCoreSession sessionComponent) [0x00000] in <filename unknown>:0 
  at GoogleARCore.ARCoreSession.Start () [0x00000] in <filename unknown>:0

我还尝试了普通的 android 示例,效果很好。它不能与 unity 一起使用可能是什么问题?

我迁移回 Unity 2018.x 到 2017.4.6f => 现在可以使用了

消息很清楚,Unity 找不到 ARCore dll。

如果您使用的是 Unity Assembly Definitions (这是一件值得考虑的好事),您需要验证是否正确引用了 ARCore dll。

我通过 在我的 "main".asmdef 文件中引用 ARCore 文件夹(dll 文件所在的位置)中的 .asmdef 文件来解决这个问题。 (在我的例子中,Unity 由于一些奇怪的原因丢失了这个引用)

如果您没有使用程序集定义(这可能是开始的好时机),仔细检查您的项目中是否正确安装了 ARCore 以及是否有 'ARCore Support' 可能会很有趣已启用。

编辑 -> 项目设置(Android 选项卡)-> XR 设置,然后选中 "ARCore Supported" 的框(见屏幕截图)