diff --git a/examples/webaudio_orientation.html b/examples/webaudio_orientation.html
index a32cf6bfaac3bf4adad2e95d9b57033f642ac2ad..c7cdb8cf72f53528c53ef173017b5ddda0dc913c 100644
--- a/examples/webaudio_orientation.html
+++ b/examples/webaudio_orientation.html
@@ -127,27 +127,31 @@
//
- var light = new THREE.HemisphereLight( 0xffffff, 0x444444 );
- light.position.set( 0, 200, 0 );
- scene.add( light );
-
- light = new THREE.DirectionalLight( 0xffffff );
- light.position.set( 0, 200, 100 );
- light.castShadow = true;
- light.shadow.camera.top = 180;
- light.shadow.camera.bottom = - 100;
- light.shadow.camera.left = - 120;
- light.shadow.camera.right = 120;
- scene.add( light );
+ var hemiLight = new THREE.HemisphereLight( 0xffffff, 0x444444 );
+ hemiLight.position.set( 0, 20, 0 );
+ scene.add( hemiLight );
+
+ var dirLight = new THREE.DirectionalLight( 0xffffff );
+ dirLight.position.set( 5, 5, 0 );
+ dirLight.castShadow = true;
+ dirLight.shadow.camera.top = 1;
+ dirLight.shadow.camera.bottom = - 1;
+ dirLight.shadow.camera.left = - 1;
+ dirLight.shadow.camera.right = 1;
+ dirLight.shadow.camera.near = 0.1;
+ dirLight.shadow.camera.far = 20;
+ scene.add( dirLight );
+
+ // scene.add( new THREE.CameraHelper( dirLight.shadow.camera ) );
//
- var mesh = new THREE.Mesh( new THREE.PlaneBufferGeometry( 20, 20 ), new THREE.MeshPhongMaterial( { color: 0x999999, depthWrite: false } ) );
+ var mesh = new THREE.Mesh( new THREE.PlaneBufferGeometry( 50, 50 ), new THREE.MeshPhongMaterial( { color: 0x999999, depthWrite: false } ) );
mesh.rotation.x = - Math.PI / 2;
mesh.receiveShadow = true;
scene.add( mesh );
- var grid = new THREE.GridHelper( 20, 20, 0x000000, 0x000000 );
+ var grid = new THREE.GridHelper( 50, 50, 0x000000, 0x000000 );
grid.material.opacity = 0.2;
grid.material.transparent = true;
scene.add( grid );
@@ -180,6 +184,7 @@
object.material.envMap = reflectionCube;
object.geometry.rotateY( - Math.PI );
+ object.castShadow = true;
}
@@ -194,7 +199,7 @@
// sound is damped behind this wall
var wallGeometry = new THREE.BoxBufferGeometry( 2, 1, 0.1 );
- var wallMaterial = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );
+ var wallMaterial = new THREE.MeshBasicMaterial( { color: 0xff0000, transparent: true, opacity: 0.5 } );
var wall = new THREE.Mesh( wallGeometry, wallMaterial );
wall.position.set( 0, 0.5, - 0.5 );
@@ -206,9 +211,10 @@
renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.setPixelRatio( window.devicePixelRatio );
- container.appendChild( renderer.domElement );
-
renderer.gammaOutput = true;
+ renderer.gammaFactor = 2.2;
+ renderer.shadowMap.enabled = true;
+ container.appendChild( renderer.domElement );
//
diff --git a/src/audio/PositionalAudio.js b/src/audio/PositionalAudio.js
index e4926a172f8f30fc6db601e0a9cb076dd62abdb5..4bb7d8c6d2af008ec7259dce1205c28ded924825 100644
--- a/src/audio/PositionalAudio.js
+++ b/src/audio/PositionalAudio.js
@@ -104,7 +104,7 @@ PositionalAudio.prototype = Object.assign( Object.create( Audio.prototype ), {
Object3D.prototype.updateMatrixWorld.call( this, force );
- if ( this.isPlaying === false ) return;
+ if ( this.hasPlaybackControl === true && this.isPlaying === false ) return;
this.matrixWorld.decompose( position, quaternion, scale );