|
@@ -73,6 +73,11 @@
|
|
|
let buttonPressSound, buttonReleaseSound;
|
|
|
if ( this.renderer.xr.getSession() && ! this.soundAdded ) {
|
|
|
|
|
|
+ const xrCamera = this.renderer.xr.getCamera();
|
|
|
+
|
|
|
+ const listener = new THREE.AudioListener();
|
|
|
+ xrCamera.add( listener );
|
|
|
+
|
|
|
// create a global audio source
|
|
|
buttonPressSound = new THREE.Audio( listener );
|
|
|
buttonReleaseSound = new THREE.Audio( listener );
|
|
@@ -309,9 +314,10 @@
|
|
|
|
|
|
const offset = entity.getComponent( OffsetFromCamera );
|
|
|
const object = entity.getComponent( Object3D ).object;
|
|
|
- object.position.x = camera.position.x + offset.x;
|
|
|
- object.position.y = camera.position.y + offset.y;
|
|
|
- object.position.z = camera.position.z + offset.z;
|
|
|
+ const xrCamera = this.renderer.xr.getCamera();
|
|
|
+ object.position.x = xrCamera.position.x + offset.x;
|
|
|
+ object.position.y = xrCamera.position.y + offset.y;
|
|
|
+ object.position.z = xrCamera.position.z + offset.z;
|
|
|
entity.removeComponent( NeedCalibration );
|
|
|
|
|
|
}
|
|
@@ -330,9 +336,7 @@
|
|
|
|
|
|
const world = new World();
|
|
|
const clock = new THREE.Clock();
|
|
|
-
|
|
|
let camera, scene, renderer;
|
|
|
- let listener;
|
|
|
|
|
|
init();
|
|
|
animate();
|
|
@@ -359,9 +363,6 @@
|
|
|
camera = new THREE.PerspectiveCamera( 50, window.innerWidth / window.innerHeight, 0.1, 10 );
|
|
|
camera.position.set( 0, 1.2, 0.3 );
|
|
|
|
|
|
- listener = new THREE.AudioListener();
|
|
|
- camera.add( listener );
|
|
|
-
|
|
|
scene.add( new THREE.HemisphereLight( 0xcccccc, 0x999999, 3 ) );
|
|
|
|
|
|
const light = new THREE.DirectionalLight( 0xffffff, 3 );
|
|
@@ -380,7 +381,8 @@
|
|
|
renderer.useLegacyLights = false;
|
|
|
renderer.shadowMap.enabled = true;
|
|
|
renderer.xr.enabled = true;
|
|
|
- renderer.xr.setUserCamera( camera );
|
|
|
+ renderer.xr.cameraAutoUpdate = false;
|
|
|
+
|
|
|
container.appendChild( renderer.domElement );
|
|
|
|
|
|
document.body.appendChild( VRButton.createButton( renderer ) );
|
|
@@ -572,6 +574,7 @@
|
|
|
|
|
|
const delta = clock.getDelta();
|
|
|
const elapsedTime = clock.elapsedTime;
|
|
|
+ renderer.xr.updateCamera( camera );
|
|
|
world.execute( delta, elapsedTime );
|
|
|
renderer.render( scene, camera );
|
|
|
|