DeviceOrientationControls 是否仍适用于 three.js r104?
Do DeviceOrientationControls still work with three.js r104?
我通过 three.js 在移动设备上创建了 webvr,并且我使用 DeviceOrientationControls 但它不起作用,DeviceOrientationControls 最近一次修改是在一年前,我不知道它是否仍然可以使用最新版本 three.js?可以告诉我它是否仍然有效吗?
演示:https://demoviss.herokuapp.com/
代码:
sceneSetup = () => {
this.scene = new THREE.Scene();
this.camera = new THREE.PerspectiveCamera(
80,
window.innerWidth / window.innerHeight,
0.1,
1000
);
this.raycaster = new THREE.Raycaster();
this.raycaster.setFromCamera({ x: 0, y: 0 }, this.camera);
this.camera.position.y = 1.6;
this.camera.position.x = 0;
this.camera.position.z = -0.001;
this.controls = new DeviceOrientationControls(this.camera);
this.renderer = new THREE.WebGLRenderer({ antialias: true });
this.renderer.setPixelRatio(window.devicePixelRatio);
this.renderer.vr.enabled = true;
this.renderer.setSize(window.innerWidth, window.innerHeight);
this.mount.appendChild(this.renderer.domElement);
document.body.appendChild(WEBVR.createButton(this.renderer));
this.renderer.setAnimationLoop(() => {
this.renderer.render(this.scene, this.camera);
});
};
调试您的应用程序后,addCustomSceneObjects()
中的以下行似乎导致了运行时错误:
this.scene.add(this.controls);
THREE.DeviceOrientationControls
不是从 Object3D
派生的,因此向场景图添加实例是无效的。创建控件后,您只需在动画循环中调用 THREE.DeviceOrientationControls.update()
,类似于 official example。这是您必须添加到 animate()
函数中的内容。
three.js R104
我通过 three.js 在移动设备上创建了 webvr,并且我使用 DeviceOrientationControls 但它不起作用,DeviceOrientationControls 最近一次修改是在一年前,我不知道它是否仍然可以使用最新版本 three.js?可以告诉我它是否仍然有效吗?
演示:https://demoviss.herokuapp.com/
代码:
sceneSetup = () => {
this.scene = new THREE.Scene();
this.camera = new THREE.PerspectiveCamera(
80,
window.innerWidth / window.innerHeight,
0.1,
1000
);
this.raycaster = new THREE.Raycaster();
this.raycaster.setFromCamera({ x: 0, y: 0 }, this.camera);
this.camera.position.y = 1.6;
this.camera.position.x = 0;
this.camera.position.z = -0.001;
this.controls = new DeviceOrientationControls(this.camera);
this.renderer = new THREE.WebGLRenderer({ antialias: true });
this.renderer.setPixelRatio(window.devicePixelRatio);
this.renderer.vr.enabled = true;
this.renderer.setSize(window.innerWidth, window.innerHeight);
this.mount.appendChild(this.renderer.domElement);
document.body.appendChild(WEBVR.createButton(this.renderer));
this.renderer.setAnimationLoop(() => {
this.renderer.render(this.scene, this.camera);
});
};
调试您的应用程序后,addCustomSceneObjects()
中的以下行似乎导致了运行时错误:
this.scene.add(this.controls);
THREE.DeviceOrientationControls
不是从 Object3D
派生的,因此向场景图添加实例是无效的。创建控件后,您只需在动画循环中调用 THREE.DeviceOrientationControls.update()
,类似于 official example。这是您必须添加到 animate()
函数中的内容。
three.js R104