Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

AudioListener3D

继承: Node3D < Node < Object

覆盖听到声音的位置。

描述

一旦添加到场景树并使用 make_current() 启用,该节点将覆盖听到声音的位置。这可用于从与 Camera3D 不同的位置聆听。

属性

DopplerTracking

doppler_tracking

0

方法

void

clear_current()

Transform3D

get_listener_transform() const

bool

is_current() const

void

make_current()


枚举

enum DopplerTracking: 🔗

DopplerTracking DOPPLER_TRACKING_DISABLED = 0

禁用多普勒效应模拟(默认)。

DopplerTracking DOPPLER_TRACKING_IDLE_STEP = 1

通过在 _process 中追踪对象位置的变化,来模拟 Doppler effect 。这个监听器(listener)与那些对象之间的相对速度变化,会影响音频的听感(具体表现为改变音频的 AudioStreamPlayer3D.pitch_scale 属性)。

DopplerTracking DOPPLER_TRACKING_PHYSICS_STEP = 2

通过在 _physics_process 中追踪物体位置的变化,来模拟 Doppler effect。该监听器(listener)与这些物体之间的相对速度变化,会影响音频的听感(具体表现为改变音频的 AudioStreamPlayer3D.pitch_scale 属性)。


属性说明

DopplerTracking doppler_tracking = 0 🔗

如果不是 DOPPLER_TRACKING_DISABLED,则该监听器将在特定的 _process 方法中,为变化的对象模拟多普勒效应

注意:多普勒效应仅在 AudioStreamPlayer3D.doppler_tracking 未设置为 AudioStreamPlayer3D.DOPPLER_TRACKING_DISABLED 时才会在 AudioStreamPlayer3D 上听到。


方法说明

void clear_current() 🔗

禁用该监听器,用当前相机的监听器代替。


Transform3D get_listener_transform() const 🔗

返回该监听器的全局正交归一化 Transform3D


bool is_current() const 🔗

如果使用 make_current() 将监听器设为当前,则返回 true,否则返回 false

注意:场景树中标记为“当前”的 AudioListener3D 可能不止一个,但只会使用最后被设置为当前的那个。


void make_current() 🔗

启用该监听器。将覆盖当前相机的监听器。