我正在为我的项目运行 Three.JS 开源 Web 编辑器(源代码在这里),并对其进行了修改,使其可以独立运行。我已经配置了编辑器来满足我的需求,但现在我希望实现增强现实。为此,我使用以下代码添加
ARButton
:
window.editor.renderer.xr.enabled = true;
const arButton = ARButton.createButton(window.editor.renderer);
document.body.appendChild(arButton);
其中
window.editor.renderer
是项目渲染器。问题是,当我点击 START AR
时,即使我已经添加了对象,我也会被发送到一个空的 AR 游乐场。
所以我想:也许我没有使用正确的渲染器实例?
WebGLRenderer 实例在编辑器源代码中创建了多次,但通过测试每个实例,我相信唯一真正重要的是在
Sidebar.Project.Renderer.js
中创建的实例。我在 createRenderer
函数的底部添加了这一行:
window.editor.renderer = currentRenderer;
然而,当我单击
START AR
时,会弹出一个空场景。我也在手机上尝试过(我通常使用 Mozilla 的 WebXR API 模拟器),结果是一样的。