使用VRControls时无法更改相机位置
Unable to change camera position when using VRControls
我有以下代码:
...
camera = new THREE.PerspectiveCamera(75, screenRatio, 1, 10000 );
camera.position.z = -10; // position.set(0, 0, -10) also not working.
controls = new THREE.VRControls( camera );
effect = new THREE.VREffect( renderer );
effect.setSize( window.innerWidth, window.innerHeight );
...
VRControls与加速度计同步工作,但我无法更改相机的位置。它似乎卡在原点(0,0,0)。在应用VRControls和VREffect之前,它运行得很好。
在Mozilla VR团队演示的Sechelt演示中找到了解决方案。我将在这里放一个代码片段,作为其他VR初学者的参考。
将相机添加到组中而不是直接更新相机位置是移动相机的方法。
var scene, renderer, cameraRatio, camera, controls, effect, dolly;
function init() {
scene = new THREE.Scene();
renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
cameraRatio = window.innerWidth / window.innerHeight;
camera = new THREE.PerspectiveCamera( 75, cameraRatio, 1, 1000 );
controls = new THREE.VRControls( camera );
effect = new THREE.VREffect( renderer );
effect.setSize( window.innerWidth, window.innerHeight );
// This helps move the camera
dolly = new THREE.Group();
dolly.position.set( 0, 0, 0 );
scene.add( dolly );
dolly.add( camera );
...
// Of course, there should be lights, objects, etc
}
function animate() {
dolly.position.x += 0.1;
controls.update();
effect.render( scene, camera );
}
init();
animate();
我认为相机现在是object
。您可以尝试object.position.set()
。
相关文章:
- jquery试图按名称获取按钮位置
- 我可以获得相对于被点击元素的确切点击位置吗
- 三.js - 如何获取相机相对于原点的位置
- 由于相机位置的原因,无法在场景中显示三个.js元素
- threejs - 仅使用 THREE 即可动态计算相机位置.点
- 三.js - 保持对象相对于相机的位置静态
- 在Three.js中向相机推送Object3D-这很有效,需要设置新的屏幕位置
- 使用VRControls时无法更改相机位置
- three.js通过轨道控制获取相机位置
- 相机's位置不改变时,添加到一个网格
- 在a帧中使用tick函数根据相机位置更新物体位置
- 使用TrackballControls移动光线时,相机位置错误
- 如果单击鼠标,如何切换相机位置
- 如何计算透视相机从一个位置到另一个位置所花费的时间
- 帮助添加缩放到css3d_youtube演示-轨迹球控制搞乱相机的位置
- 在THREE.js中如何改变追逐相机的一个点的位置
- 如何将相机的位置设置为三.js而不旋转
- js x3dom:如何冻结相机位置并获得轴
- 当我调用相机位置three.js时,我似乎只能调用起始位置而不能调用当前位置
- 变焦过渡后,“相机”快速恢复到变焦前的位置