我正在尝试在应用程序的两个场景之间切换。我有一个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)
在以下位置观察到了
此外,我正在尝试获取由Vuforia在场景开始时创建的TextureBufferCamera
GameObject。我可以在编辑器中获取它,但不能在Android Build中获取,知道为什么吗?
答案 0 :(得分:1)
我遇到了同样的问题,我解决了。
统一版本:2019.2.16f1
请按照以下步骤操作:
首先:转到项目设置>>>播放器>>>其他设置。
秒:找到“自动图形API”并取消选中它。
第三:现在您可以在“自动图形API”下方看到一个新面板。这是“图形API”的列表。删除所有图形API,仅添加“ OpenGLES2”。
答案 1 :(得分:0)
好的,所以我尝试了不同的操作,例如切换到 GLES 3.0 或 Vulkan 。但是没有成功。因此,我切换回 GLES 2.0 。
我只是尝试降级到 .NET 3.5 脚本运行时,因此不得不重构一些代码。而且有效。
我将此答案发布为可以帮助其他人的方法,但是如果有人对此原因有任何解释,我会很乐意将其答案标记为正确的答案。