UnityPlayerActivity 不加载纸板

Posted

技术标签:

【中文标题】UnityPlayerActivity 不加载纸板【英文标题】:UnityPlayerActivity does not load cardboard 【发布时间】:2018-05-03 18:52:40 【问题描述】:

我正在开发一个包含 android 应用和 Unity 应用的项目。主应用程序是 Android,它有时会打开 Unity 应用程序。我将 Unity 应用程序导出为 Android 插件,并将其作为 AAR 模块集成到 Android Studio 中。 我的 Unity 应用程序使用 Google VR SDK,它也适用于 Cardboard。当我正常构建 Unity 应用程序(使用 .apk 文件)时,Cardboard 会按应有的方式加载(分屏)。但是当我在 Android Studio 中将此应用程序导出为模块时,当我运行 UnityPlayerActivity 时,Cardboard 视图不会加载,场景会像正常的 Unity 3D 场景一样加载。

以下是 Android Studio Logcat 的两张截图: Logcat1 Logcat2

这也是我在 Unity 中的播放器设置的屏幕截图。有时我想加载 Cardboard,有时不想加载(取决于用户的选择):Unity Player Settings

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。我通过手动将所有 gvr 库添加到项目来解决它:向项目级别 build.gradle 添加行

allprojects 
   repositories 
      google()
      jcenter()
      flatDir 
        dirs 'libs'
      
   

将 Unity 生成的项目(我们用作库)中的文件夹库复制到我的项目中,并将行添加到应用级 build.gradle

compile fileTree(dir: 'libs', include: ['*.jar'])
compile(name: 'gvr-keyboard', ext:'aar')
compile(name: 'gvr-keyboardsupport-release', ext:'aar')
compile(name: 'gvr-permissionsupport-release', ext:'aar')
compile(name: 'gvr', ext:'aar')
compile(name: 'unitygvr', ext:'aar')

对我来说效果很好。

【讨论】:

以上是关于UnityPlayerActivity 不加载纸板的主要内容,如果未能解决你的问题,请参考以下文章

谷歌纸板相机变焦[关闭]

为 UnityPlayerActivity 设置 android:launchmode

UnityPlayerActivity:java.lang.RuntimeException:无法在未调用 Looper.prepare() 的线程内创建处理程序

Unity接入北斗探针(基于UnityPlayerActivity)丨五编写Unity代码,完成整个项目

Unity接入北斗探针SDK(基于UnityPlayerActivity)丨一效果展示与材料准备

Unity 中的回调侦听器 - 如何从 Android 中的 UnityPlayerActivity 调用脚本文件方法