AudioStreamPlayer3D.xml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <class name="AudioStreamPlayer3D" inherits="Spatial" version="3.4">
  3. <brief_description>
  4. Plays positional sound in 3D space.
  5. </brief_description>
  6. <description>
  7. Plays a sound effect with directed sound effects, dampens with distance if needed, generates effect of hearable position in space. For greater realism, a low-pass filter is automatically applied to distant sounds. This can be disabled by setting [member attenuation_filter_cutoff_hz] to [code]20500[/code].
  8. By default, audio is heard from the camera position. This can be changed by adding a [Listener] node to the scene and enabling it by calling [method Listener.make_current] on it.
  9. See also [AudioStreamPlayer] to play a sound non-positionally.
  10. [b]Note:[/b] Hiding an [AudioStreamPlayer3D] node does not disable its audio output. To temporarily disable an [AudioStreamPlayer3D]'s audio output, set [member unit_db] to a very low value like [code]-100[/code] (which isn't audible to human hearing).
  11. </description>
  12. <tutorials>
  13. <link>https://docs.godotengine.org/en/3.3/tutorials/audio/audio_streams.html</link>
  14. </tutorials>
  15. <methods>
  16. <method name="get_playback_position">
  17. <return type="float">
  18. </return>
  19. <description>
  20. Returns the position in the [AudioStream].
  21. </description>
  22. </method>
  23. <method name="get_stream_playback">
  24. <return type="AudioStreamPlayback">
  25. </return>
  26. <description>
  27. Returns the [AudioStreamPlayback] object associated with this [AudioStreamPlayer3D].
  28. </description>
  29. </method>
  30. <method name="play">
  31. <return type="void">
  32. </return>
  33. <argument index="0" name="from_position" type="float" default="0.0">
  34. </argument>
  35. <description>
  36. Plays the audio from the given position [code]from_position[/code], in seconds.
  37. </description>
  38. </method>
  39. <method name="seek">
  40. <return type="void">
  41. </return>
  42. <argument index="0" name="to_position" type="float">
  43. </argument>
  44. <description>
  45. Sets the position from which audio will be played, in seconds.
  46. </description>
  47. </method>
  48. <method name="stop">
  49. <return type="void">
  50. </return>
  51. <description>
  52. Stops the audio.
  53. </description>
  54. </method>
  55. </methods>
  56. <members>
  57. <member name="area_mask" type="int" setter="set_area_mask" getter="get_area_mask" default="1">
  58. Areas in which this sound plays.
  59. </member>
  60. <member name="attenuation_filter_cutoff_hz" type="float" setter="set_attenuation_filter_cutoff_hz" getter="get_attenuation_filter_cutoff_hz" default="5000.0">
  61. Dampens audio using a low-pass filter above this frequency, in Hz. To disable the dampening effect entirely, set this to [code]20500[/code] as this frequency is above the human hearing limit.
  62. </member>
  63. <member name="attenuation_filter_db" type="float" setter="set_attenuation_filter_db" getter="get_attenuation_filter_db" default="-24.0">
  64. Amount how much the filter affects the loudness, in decibels.
  65. </member>
  66. <member name="attenuation_model" type="int" setter="set_attenuation_model" getter="get_attenuation_model" enum="AudioStreamPlayer3D.AttenuationModel" default="0">
  67. Decides if audio should get quieter with distance linearly, quadratically, logarithmically, or not be affected by distance, effectively disabling attenuation.
  68. </member>
  69. <member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled" default="false">
  70. If [code]true[/code], audio plays when the AudioStreamPlayer3D node is added to scene tree.
  71. </member>
  72. <member name="bus" type="String" setter="set_bus" getter="get_bus" default="&quot;Master&quot;">
  73. The bus on which this audio is playing.
  74. </member>
  75. <member name="doppler_tracking" type="int" setter="set_doppler_tracking" getter="get_doppler_tracking" enum="AudioStreamPlayer3D.DopplerTracking" default="0">
  76. Decides in which step the Doppler effect should be calculated.
  77. </member>
  78. <member name="emission_angle_degrees" type="float" setter="set_emission_angle" getter="get_emission_angle" default="45.0">
  79. The angle in which the audio reaches cameras undampened.
  80. </member>
  81. <member name="emission_angle_enabled" type="bool" setter="set_emission_angle_enabled" getter="is_emission_angle_enabled" default="false">
  82. If [code]true[/code], the audio should be dampened according to the direction of the sound.
  83. </member>
  84. <member name="emission_angle_filter_attenuation_db" type="float" setter="set_emission_angle_filter_attenuation_db" getter="get_emission_angle_filter_attenuation_db" default="-12.0">
  85. Dampens audio if camera is outside of [member emission_angle_degrees] and [member emission_angle_enabled] is set by this factor, in decibels.
  86. </member>
  87. <member name="max_db" type="float" setter="set_max_db" getter="get_max_db" default="3.0">
  88. Sets the absolute maximum of the soundlevel, in decibels.
  89. </member>
  90. <member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance" default="0.0">
  91. Sets the distance from which the [member out_of_range_mode] takes effect. Has no effect if set to 0.
  92. </member>
  93. <member name="out_of_range_mode" type="int" setter="set_out_of_range_mode" getter="get_out_of_range_mode" enum="AudioStreamPlayer3D.OutOfRangeMode" default="0">
  94. Decides if audio should pause when source is outside of [member max_distance] range.
  95. </member>
  96. <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale" default="1.0">
  97. The pitch and the tempo of the audio, as a multiplier of the audio sample's sample rate.
  98. </member>
  99. <member name="playing" type="bool" setter="_set_playing" getter="is_playing" default="false">
  100. If [code]true[/code], audio is playing.
  101. </member>
  102. <member name="stream" type="AudioStream" setter="set_stream" getter="get_stream">
  103. The [AudioStream] resource to be played.
  104. </member>
  105. <member name="stream_paused" type="bool" setter="set_stream_paused" getter="get_stream_paused" default="false">
  106. If [code]true[/code], the playback is paused. You can resume it by setting [member stream_paused] to [code]false[/code].
  107. </member>
  108. <member name="unit_db" type="float" setter="set_unit_db" getter="get_unit_db" default="0.0">
  109. The base sound level unaffected by dampening, in decibels.
  110. </member>
  111. <member name="unit_size" type="float" setter="set_unit_size" getter="get_unit_size" default="1.0">
  112. The factor for the attenuation effect. Higher values make the sound audible over a larger distance.
  113. </member>
  114. </members>
  115. <signals>
  116. <signal name="finished">
  117. <description>
  118. Emitted when the audio stops playing.
  119. </description>
  120. </signal>
  121. </signals>
  122. <constants>
  123. <constant name="ATTENUATION_INVERSE_DISTANCE" value="0" enum="AttenuationModel">
  124. Linear dampening of loudness according to distance.
  125. </constant>
  126. <constant name="ATTENUATION_INVERSE_SQUARE_DISTANCE" value="1" enum="AttenuationModel">
  127. Squared dampening of loudness according to distance.
  128. </constant>
  129. <constant name="ATTENUATION_LOGARITHMIC" value="2" enum="AttenuationModel">
  130. Logarithmic dampening of loudness according to distance.
  131. </constant>
  132. <constant name="ATTENUATION_DISABLED" value="3" enum="AttenuationModel">
  133. No dampening of loudness according to distance. The sound will still be heard positionally, unlike an [AudioStreamPlayer].
  134. </constant>
  135. <constant name="OUT_OF_RANGE_MIX" value="0" enum="OutOfRangeMode">
  136. Mix this audio in, even when it's out of range. This increases CPU usage, but keeps the sound playing at the correct position if the camera leaves and enters the [AudioStreamPlayer3D]'s [member max_distance] radius.
  137. </constant>
  138. <constant name="OUT_OF_RANGE_PAUSE" value="1" enum="OutOfRangeMode">
  139. Pause this audio when it gets out of range. This decreases CPU usage, but will cause the sound to restart if the camera leaves and enters the [AudioStreamPlayer3D]'s [member max_distance] radius.
  140. </constant>
  141. <constant name="DOPPLER_TRACKING_DISABLED" value="0" enum="DopplerTracking">
  142. Disables doppler tracking.
  143. </constant>
  144. <constant name="DOPPLER_TRACKING_IDLE_STEP" value="1" enum="DopplerTracking">
  145. Executes doppler tracking in idle step.
  146. </constant>
  147. <constant name="DOPPLER_TRACKING_PHYSICS_STEP" value="2" enum="DopplerTracking">
  148. Executes doppler tracking in physics step.
  149. </constant>
  150. </constants>
  151. </class>