首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webVR resetPose替换

webVR resetPose替换
EN

Stack Overflow用户
提问于 2018-06-25 12:24:03
回答 1查看 69关注 0票数 1

我有一个webVR项目,它使用resetPose来重置场景的起源,但是现在显然已经不推荐了。我用它来重置相机,这样用户就可以再次看到场景的中心。

我假设这个函数不太难复制:你要么把场景旋转,要么相机转到新的原点。然而,我对webVR没有那么丰富的经验,更重要的是THREE.js。

我试着用相机来控制场景的中心,但我认为问题是webVR控制了它,所以我不能就这样移动它。

摄像机和场景的初始化示例

代码语言:javascript
复制
// Create a three.js camera.
camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 10000);
camera.name = "Perspective Camera";

var group = new THREE.Group();
group.name = "Camera Group";
group.rotateY(Math.PI);
group.add(camera);
group.position.set(0, configuration.sphereRadius, 0);
group.permanent = true;
scene.add(group);

// Apply VR headset positional data to camera.
controls = new THREE.VRControls(camera);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-29 14:02:41

根据关于这个问题浸入式web/webxr对resetPose方法的支持。他们声称,设备有硬件按钮强制重置姿态或复位姿态应由应用程序处理。Three.js没有这样的方法。

这里是简单,但肮脏的方式重置姿态(重新,复位相机)退出虚拟现实并再次进入它。

代码语言:javascript
复制
async function recenter() {
    if (renderer.xr.isPresenting) {
        let session = renderer.xr.getSession();
        let buttonVR = document.getElementById("VRButton");
        await session.end();
        buttonVR.click();
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51023434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档