未验证 提交 a866c597 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #14371 from Mugen87/dev14

PositionalAudio: Added .setDirectionalCone()
......@@ -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]
......
......@@ -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 );
//
......
......@@ -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();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册