我正在尝试将 WebVR 实现到我在 Three.js 中构建的项目中,但我很难让它正常运行。
当我查看场景时,会出现许多问题。
当 VRMode 为 false 时,我的场景会渲染,但是当切换到 VR 模式时,场景会突然停止渲染。我可以看到两个立体窗口,但没有其他任何东西出现。
当我在桌面上加载场景时,相机指向正下方。在设备上加载时,场景会颠倒过来。我告诉相机看我图像的中心,它似乎没有任何效果。在我摆弄控件和渲染以支持 WebVR 管理器和 VRControls 之前,它工作得很好。
camera.position.set(-300, -800, 200); camera.up = new THREE.Vector3(0, 0, 1); camera.lookAt(new THREE.Vector3(0, 0, 0));
我能够很好地设置位置。
- 当我单击 GUI 底部的全屏按钮时,屏幕分成两半。上半部分是黑色(我的身体背景和 clearfix 颜色是蓝色),下半部分呈现我的场景。当我手动调整窗口大小时,我有一个可以正常工作的事件侦听器,因此这必须与 VR 管理器相关。
知道什么可能导致这些错误吗?
这是我定义渲染器的方式:
var width = window.innerWidth,
height = window.innerHeight;
var renderer = new THREE.WebGLRenderer({
antialias: true
});
renderer.setSize(width, height);
renderer.setClearColor(0x1D76BB, 1);
// Effect and Controls for VR
effect = new THREE.VREffect(renderer);
controls = new THREE.VRControls(camera);
effect.setSize(width, height);
var manager = new WebVRManager(renderer, effect);
这是我的动画功能:
function animate() {
requestAnimationFrame(animate);
if (controls) {
controls.update();
}
if (manager.isVRMode()) {
renderer.setRenderTarget(null); // add this line
manager.render(scene, camera);
} else {
renderer.render(scene, camera);
}
}
我的图书馆今天早上刚从凉亭回来,所以我知道它们都是最新的。