CRIWARE Unity Plugin Manual  Last Updated: 2024-05-29
CriAtomEx3dListener类 参考

3D收听者 更多...

继承自 CriDisposable .

Public 成员函数

 CriAtomEx3dListener ()
 创建3D收听者 更多...
 
override void Dispose ()
 丢弃3D收听者对象 更多...
 
void Update ()
 更新3D收听者 更多...
 
void ResetParameters ()
 3D声源参数初始化 更多...
 
void SetPosition (float x, float y, float z)
 设置3D收听者位置 更多...
 
void SetVelocity (float x, float y, float z)
 设置3D收听者速度 更多...
 
void SetOrientation (float fx, float fy, float fz, float ux, float uy, float uz)
 设置3D收听者方向 更多...
 
void SetDistanceFactor (float distanceFactor)
 设置3D收听者距离系数 更多...
 
void SetDopplerMultiplier (float dopplerMultiplier)
 设置3D收听者多普勒倍率 更多...
 
void SetFocusPoint (float x, float y, float z)
 设置3D收听者关注点 更多...
 
void SetDistanceFocusLevel (float distanceFocusLevel)
 设置距离传感器的焦点Level 更多...
 
void SetDirectionFocusLevel (float directionFocusLevel)
 设置方向传感器的焦点Level 更多...
 
void Set3dRegion (CriAtomEx3dRegion region3d)
 设置3D区域 更多...
 
bool IsDestroyable ()
 检查是否可以销毁3D收听者 更多...
 

详细描述

3D收听者

说明:
是用于操作3D收听者的对象。
用于3D定位功能。

3D收听者参数、位置信息设置等通过3D收听者对象进行执行。

构造及析构函数说明

CriAtomEx3dListener ( )
inline

创建3D收听者

说明:
创建3D收听者对象。
注意:
执行本函数前,需要事先对程序库进行初始化。

成员函数说明

override void Dispose ( )
inline

丢弃3D收听者对象

说明:
丢弃3D收听者对象。
一旦执行了本函数,创建3D收听者时,在DLL内取得的资源将全部被释放。
如果有用设置了3D收听者对象的AtomExPlayer播放的音频时, 在执行本函数前,请停止这些音频,或丢弃该AtomExPlayer。
void Update ( )
inline

更新3D收听者

说明:
使用3D收听者上设置的参数,更新3D收听者。
本函数对3D收听者上设置的所有参数进行更新。 建议用户可以在更改了多个参数后一起用本函数进行更新处理, 而不是在更改单个参数后每次都进行更新处理,可以提高效率。
注意:
本函数与AtomExPlayer的参数更新( CriWare.CriAtomExPlayer::UpdateAll , CriWare.CriAtomExPlayer::Update ) 是分开单独动作的。
如果更改了3D收听者的参数,请用本函数进行更新处理。
例:

: // リスナーの作成 CriAtomExListener listener = new CriAtomEx3dListener(); : // リスナー位置の設定 listener.SetPosition(0.0f, 0.0f, 1.0f);

// リスナー速度の設定 listener.SetVelocity(1.0f, 0.0f, 0.0f);

// 注意)この時点ではリスナーの位置や速度はまだ変更されていません。

// 変更の適用 listener.Update(); :

void ResetParameters ( )
inline

3D声源参数初始化

说明:
清除3D收听者中设置的参数,恢复为初始值。
注意:
要实际适用已清除的参数时,需要调用 CriWare.CriAtomEx3dListener::Update 函数。
void SetPosition ( float  x,
float  y,
float  z 
)
inline

设置3D收听者位置

参数
xX坐标
yY坐标
zZ坐标
说明:
设置3D收听者位置。
位置用于距离衰减和定位计算。
位置以3维向量进行指定。
位置的单位是多少取决于3D收听者的距离计数 (通过 CriWare.CriAtomEx3dListener::SetDistanceFactor 函数进行设置)。
预设值是(0.0f, 0.0f, 0.0f)。
由于无法在数据侧设置位置,因此会始终使用本函数的设置值。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dListener::Update 函数。
参见
CriAtomEx3dListener::Update
void SetVelocity ( float  x,
float  y,
float  z 
)
inline

设置3D收听者速度

参数
xX轴方向的速度
yY轴方向的速度
zZ轴方向的速度
说明:
设置3D收听者速度。
速度用于计算多普勒效应。
速度以3维向量进行指定。
速度的单位是每1秒的移动距离。
距离的单位是多少取决于3D收听者的距离计数 (通过 CriWare.CriAtomEx3dListener::SetDistanceFactor 函数进行设置)。
预设值是(0.0f, 0.0f, 0.0f)。
由于无法在数据侧设置速度,因此会始终使用本函数的设置值。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dListener::Update 函数。
参见
CriAtomEx3dListener::Update
void SetOrientation ( float  fx,
float  fy,
float  fz,
float  ux,
float  uy,
float  uz 
)
inline

设置3D收听者方向

参数
fx前方向量的X方向的值
fy前方向量的Y方向的值
fz前方向量的Z方向的值
ux上方向量的X方向的值
uy上方向量的Y方向的值
uz上方向量的Z方向的值
说明:
以前方向量和上方向量设置3D收听者方向。
方向以3维向量进行指定。
所设置的向量将会在程序库中经过标准化后进行使用。
预设值如下。
  • 前方向量:(0.0f,0.0f, 1.0f)
  • 上方向量:(0.0f,1.0f, 0.0f)
由于无法在数据侧设置收听者方向,因此会始终使用本函数的设置值。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dListener::Update 函数。
参见
CriAtomEx3dListener::Update
void SetDistanceFactor ( float  distanceFactor)
inline

设置3D收听者距离系数

弃用:
削除予定の非推奨APIです。 CriWareErrorHandler.OnCallback event の使用を検討してください。
参数
distanceFactor距离系数
说明:
设置3D收听者距离系数。
本系数用于计算多普勒效应。
例如,将distance_factor指定为0.1f后,速度的1.0f将被视为10米。
可为distanceFactor指定的值是0或比0.0f大的值。 预设值是1.0f。
由于无法在数据侧设置收听者的距离系数,因此会始终使用本函数的设置值。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dListener::Update 函数。
参见
CriAtomEx3dListener::Update
void SetDopplerMultiplier ( float  dopplerMultiplier)
inline

设置3D收听者多普勒倍率

参数
dopplerMultiplier多普勒倍率
说明:
设置3D收听者多普勒倍率。本倍率用于计算多普勒效应。
例如,将dopplerMultiplier指定为10.0f后,多普勒效应为通常的10倍。
可为dopplerMultiplier指定的值是0或比0.0f大的值。 预设值是1.0f。
由于无法在数据侧设置收听者的多普勒倍率,因此会始终使用本函数的设置值。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dListener::Update 函数。
参见
CriAtomEx3dListener::Update
void SetFocusPoint ( float  x,
float  y,
float  z 
)
inline

设置3D收听者关注点

说明:
设置3D收听者的关注点。
进行3D定位时, 如设置关注点,则可以直线连接收听者的位置和关注点, 并在该直线上移动麦克风。
例如,通过将收听者与摄像机保持同步,在主要角色位置上设置关注点, 可以根据情况,灵活表现/调整客观或主观。
此外,可以在收听者位置和关注点之间移动的麦克风与现实世界里的麦克风不同, 距离传感器(用于计算距离衰减)和方向传感器(用于计算定位)是切断开的。
通过对这些进行独立操作,可以实现各种表现方式,例如“需要关注主角,因此希望以角色位置为基准来进行距离衰减” “希望定位能与画面上的外观相符合, 因此想以摄像机位置为基准来计算定位”。
预设值是(0.0f, 0.0f, 0.0f)。如无需设置距离传感器和方向传感器的焦点Level, 则无需设置关注点。 这种情况下,会按照通常的方法,以收听者位置为基准来计算所有的3D定位。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dListener::Update 函数。
参见
CriAtomEx3dListener::Update, CriAtomEx3dListener::SetDistanceFocusLevel, CriAtomEx3dListener::SetDirectionFocusLevel
void SetDistanceFocusLevel ( float  distanceFocusLevel)
inline

设置距离传感器的焦点Level

参数
distanceFocusLevel距离传感器的焦点Level
说明:
设置距离传感器的焦点Level。
距离传感器表示 3D定位计算中的距离衰减计算的基准位置。 可以说是一种忽略定位,仅探测距离衰减程度的麦克风。
焦点Level表示可以在多大程度上让传感器(麦克风)接近关注点。 传感器(麦克风)可以在收听者位置和关注点之间直线移动, 0.0f和收听者位置相同,1.0f和关注点位置相同。
例如,通过将距离传感器的焦点Level设置为1.0f,将方向传感器的焦点Level设置为0.0f, 能够以关注点为基准来适用距离衰减,并根据收听者位置来找出定位。
预设值是0.0f。如果不设置距离传感器和方向传感器的焦点Level, 则会按照传统的方式,以收听者位置为基准来计算所有3D定位。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dListener::Update 函数。
参见
CriAtomEx3dListener::Update, CriAtomEx3dListener::SetFocusPoint, CriAtomEx3dListener::SetDirectionFocusLevel
void SetDirectionFocusLevel ( float  directionFocusLevel)
inline

设置方向传感器的焦点Level

参数
directionFocusLevel方向传感器的焦点Level
说明:
设置方向传感器的焦点Level。
方向传感器表示3D定位计算中的定位计算的基准位置。 可以说是一种忽略距离衰减,仅探测定位的麦克风。
方向传感器的方向直接使用收听者的方向(SetOrientation 函数设置)。
焦点Level表示可以在多大程度上让传感器(麦克风)接近关注点。 传感器(麦克风)可以在收听者位置和关注点之间直线移动, 0.0f和收听者位置相同,1.0f和关注点位置相同。
例如,通过将距离传感器的焦点Level设置为1.0f,将方向传感器的焦点Level设置为0.0f, 能够以关注点为基准来适用距离衰减,并根据收听者位置来找出定位。
预设值是0.0f。如果不设置距离传感器和方向传感器的焦点Level, 则会按照传统的方式,以收听者位置为基准来计算所有3D定位。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dListener::Update 函数。
参见
CriAtomEx3dListener::Update, CriAtomEx3dListener::SetFocusPoint, CriAtomEx3dListener::SetDistanceFocusLevel
void Set3dRegion ( CriAtomEx3dRegion  region3d)
inline

设置3D区域

说明:
针对3D收听者设置3D区域。
注意:
如果同一个ExPlayer中设置的3D声源和3D收听者设置的区域不同,
并且没有与3D声源相同区域设置的3D收发器时,音频会被静音。
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dListener::Update 函数。
参见
CriAtomEx3dRegion::Create, CriAtomEx3dListener::Update
bool IsDestroyable ( )
inline

检查是否可以销毁3D收听者

返回
3D收听者的状态(true = 可以销毁、false = 不可销毁)
说明:
检查 3D Listener 是否可以被销毁。
如果您在挂载了此 3D Listener 的 AtomExPlayer 中播放音频,则调用 Dispose 函数将无法销毁它。
这种情况下,要销毁此Listener,需要首先销毁所有挂载了此 3D Listener 的 AtomExPlayer,或者对其设置另一个 3D Listener 。
参见
Dispose, CriAtomExPlayer.Set3dListener

该类的文档由以下文件生成: