Unity 2019.1 和 Vuforia:OPENGL 原生插件错误

Unity 2019.1 and Vuforia : OPENGL NATIVE PLUG-IN ERROR

我正在尝试在我的应用中的两个场景之间切换。我有一个 AR 场景 (main) 和另一个非 AR (Tutorial)。

主场景工作正常,但是当我切换到教程并返回时,相机已缩放但跟踪仍然有效。如果我想再次使用它,我必须重新启动应用程序。

此外,它在编辑器中工作得非常好,但在 android 设备上构建时却不行。

我在 Unity 2019.1.0a8 上,我使用 Vuforia 7.5.26。我使用 GLES 2.0 Graphic API 和 .NET 4.x 脚本运行时。

我将 Vuforia 配置为使用 延迟初始化 并且我使用附加到 AR 相机的行为像这样初始化 Vuforia :

void Start()
{
    VuforiaRuntime.Instance.InitVuforia();
    GetComponent<VuforiaBehaviour>().enabled = true;
}

这是问题的logcat:

Unity   : StartVuforia
Unity   : (Filename: ./Runtime/Export/Debug.bindings.h Line: 48)
Unity   : OPENGL NATIVE PLUG-IN ERROR: GL_INVALID_OPERATION: Operation illegal in current state
Unity   : (Filename: /Users/builduser/buildslave/unity/build/Runtime/GfxDevice/opengles/GfxDeviceGLES.cpp Line: 347)

这是在以下时间观察到的:

此外,我正在尝试获取 Vuforia 在场景开始时创建的 TextureBufferCamera 游戏对象。我可以在编辑器中获取它,但不能在 Android Build 中获取,知道为什么吗?

好的,所以我尝试了不同的东西,比如切换到 GLES 3.0Vulkan。但没有成功。所以我切换回 GLES 2.0.

我刚刚尝试降级到 .NET 3.5 脚本运行时并且不得不重构一些代码。它奏效了。

我post这是一个答案,所以它可以帮助别人,但如果有人对此背后的原因有任何解释,我很乐意将他的答案标记为正确的。

我遇到了同样的问题,我解决了。

Unity版本:2019.2.16f1

按照以下步骤操作:

首先:转到项目设置 >>> 播放器 >>> 其他设置。

第二步:找到 "Auto Graphic API" 并取消选中它。

第三:现在您可以在 "Auto Graphic API" 下方看到一个新面板。这是 "Graphics APIs" 的列表。删除所有图形 API,只添加 "OpenGLES2".