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 中改变的物体位置来模拟多普勒效应。该监听器相对于这些物体的相对速度的变化会影响音频的感知方式(改变音频的 AudioStreamPlayer3D.pitch_scale)。

DopplerTracking DOPPLER_TRACKING_PHYSICS_STEP = 2

通过跟踪在 _process 中改变的物体位置来模拟多普勒效应。该监听器相对于这些物体的相对速度的变化会影响音频的感知方式(改变音频的 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() 🔗

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