Ver código fonte

PositionlAudio: Added .setDirectionalCone()

Mugen87 7 anos atrás
pai
commit
f40690610b

+ 8 - 3
docs/api/audio/PositionalAudio.html

@@ -88,7 +88,7 @@
 		Returns the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/refDistance panner.refDistance].
 		</p>
 
-		<h3>[method:PositionalAudio setRefDistance]( [param:Number value] )</h3>
+		<h3>[method:PositionalAudio setRefDistance]( [param:Float value] )</h3>
 		<p>
 		Sets the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/refDistance panner.refDistance].
 		</p>
@@ -98,7 +98,7 @@
 		Returns the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/rolloffFactor panner.rolloffFactor].
 		</p>
 
-		<h3>[method:PositionalAudio setRolloffFactor]( [param:Number value] )</h3>
+		<h3>[method:PositionalAudio setRolloffFactor]( [param:Float value] )</h3>
 		<p>
 		Sets the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/rolloffFactor panner.rolloffFactor].
 		</p>
@@ -118,11 +118,16 @@
 		Returns the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/maxDistance panner.maxDistance].
 		</p>
 
-		<h3>[method:PositionalAudio setMaxDistance]( [param:Number value] )</h3>
+		<h3>[method:PositionalAudio setMaxDistance]( [param:Float value] )</h3>
 		<p>
 		Sets the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/maxDistance panner.maxDistance].
 		</p>
 
+		<h3>[method:PositionalAudio setDirectionalCone]( [param:Float coneInnerAngle], [param:Float coneOuterAngle], [param:Float coneOuterGain] )</h3>
+		<p>
+		This method can be used in order to transform an omnidirectional sound into a [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode directional sound].
+		</p>
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 1 - 6
examples/webaudio_orientation.html

@@ -158,12 +158,7 @@
 		var positionalAudio = new THREE.PositionalAudio( listener );
 		positionalAudio.setMediaElementSource( audioElement );
 		positionalAudio.setRefDistance( 1 );
-
-		// configure directionality cone, see https://developer.mozilla.org/en-US/docs/Web/API/PannerNode
-
-		positionalAudio.panner.coneInnerAngle = 210;
-		positionalAudio.panner.coneOuterAngle = 230;
-		positionalAudio.panner.coneOuterGain = 0.1;
+		positionalAudio.setDirectionalCone( 210, 230, 0.1 ); //  see https://developer.mozilla.org/en-US/docs/Web/API/PannerNode
 
 		//
 

+ 10 - 0
src/audio/PositionalAudio.js

@@ -82,6 +82,16 @@ PositionalAudio.prototype = Object.assign( Object.create( Audio.prototype ), {
 
 	},
 
+	setDirectionalCone: function ( coneInnerAngle, coneOuterAngle, coneOuterGain ) {
+
+		this.panner.coneInnerAngle = coneInnerAngle;
+		this.panner.coneOuterAngle = coneOuterAngle;
+		this.panner.coneOuterGain = coneOuterGain;
+
+		return this;
+
+	},
+
 	updateMatrixWorld: ( function () {
 
 		var position = new Vector3();