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

时间:2018-12-11 10:33:10

标签: unity3d vuforia

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

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

它在编辑器中也可以正常工作,但在android设备上无法正常工作。

我正在使用 Unity 2019.1.0a8 ,并且使用 Vuforia 7.5.26 。而且我使用 GLES 2.0 图形API和 .NET 4.x 脚本运行时。

我将Vuforia配置为使用 Delayed Initialization ,然后像这样将Vuforia初始化为AR摄像机附带的行为:

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

这是问题的日志:

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)

在以下位置观察到了

  • 三星Galaxy S7,Android 8.0.0
  • 三星Galaxy Tab S4,Android 8.1.0

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

2 个答案:

答案 0 :(得分:1)

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

统一版本:2019.2.16f1

请按照以下步骤操作:

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

秒:找到“自动图形API”并取消选中它。

第三:现在您可以在“自动图形API”下方看到一个新面板。这是“图形API”的列表。删除所有图形API,仅添加“ OpenGLES2”。

答案 1 :(得分:0)

好的,所以我尝试了不同的操作,例如切换到 GLES 3.0 Vulkan 。但是没有成功。因此,我切换回 GLES 2.0

我只是尝试降级到 .NET 3.5 脚本运行时,因此不得不重构一些代码。而且有效。

我将此答案发布为可以帮助其他人的方法,但是如果有人对此原因有任何解释,我会很乐意将其答案标记为正确的答案。