我正在尝试修改Unity AR Core SDK中的演示场景
我创建了一个静态bool变量public getIcons(): IconDescription[] {
let result: IconDescription[] = [];
for (let key in iconRegistry) {
result = _.map(iconRegistry, item => {
let icons: IconDescription[] = [];
for (let value in item) {
console.log('KEY:', key, 'VALUE:', value, 'ICON:', item[value]);
icons.push({ key, value, icon: item[value] });
}
return icons;
});
}
return result;
}
来检查是否创建了Andy预制件。
在以下检查中
isCreated
我已将变量设置为true,然后在此处再次检查
if (Session.Raycast(m_firstPersonCamera.ScreenPointToRay(touch.position), raycastFilter, outHit))
但由于某种原因,变量永远不会设置为true 。 我还注意到日志中的this error,并且不禁想知道它是否以某种方式阻止它被设置。
08-29 14:11:40.564 13392-13407 /? E / Unity:OPENGL NATIVE PLUG-IN ERROR:GL_INVALID_ENUM:枚举参数超出范围
(文件名:./ Runtime / GfxDevice / opengles / GfxDeviceGLES.cpp行:368)
请帮忙。
答案 0 :(得分:0)
我不知道你希望你的布尔值有多么严重,但我通过做类似的事情来达到同样的结果:
bool m_placed = false; // under the color array
然后就像你一样,我在这里检查一下:
if (Session.Raycast(m_firstPersonCamera.ScreenPointToRay(touch.position), raycastFilter, out hit) && !m_placed) {
...
m_placed = true; // At the very end of this block
}
这对我来说很有效。我没有添加任何内容
if (Session.Raycast(m_firstPersonCamera.ScreenPointToRay(touch.position), raycastFilter, outHit))
OpenGL错误是一个已经引发的常见问题。它不应该影响这一点。