CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
CriAtomEx3dTransceiver类 参考

3D收发器对象 更多...

继承自 CriDisposable .

Public 成员函数

 CriAtomEx3dTransceiver ()
 创建3D收发器对象 更多...
 
override void Dispose ()
 丢弃3D收发器对象 更多...
 
void Update ()
 更新3D收发器 更多...
 
void SetInputPosition (Vector3 position)
 设置3D收发器输入位置 更多...
 
void SetOutputPosition (Vector3 position)
 设置3D收发器输出位置 更多...
 
void SetInputOrientation (Vector3 front, Vector3 top)
 设置3D收发器输入方向 更多...
 
void SetOutputOrientation (Vector3 front, Vector3 top)
 设置3D收发器输出方向 更多...
 
void SetOutputConeParameter (float insideAngle, float outsideAngle, float outsideVolume)
 设置3D收发器输出的声锥参数 更多...
 
void SetOutputMinMaxDistance (float minDistance, float maxDistance)
 设置3D收发器输出最小距离/最大距离 更多...
 
void SetOutputInteriorPanField (float radius, float interiorDistance)
 设置3D收发器输出的内部Panning边界距离 更多...
 
void SetInputCrossFadeField (float directAudioRadius, float crossfadeDistance)
 设置3D收发器输入的交叉渐变边界距离 更多...
 
void SetOutputVolume (float volume)
 设置3D收发器输出音量 更多...
 
void AttachAisac (string globalAisacName)
 在3D收发器上安装AISAC 更多...
 
void DetachAisac (string globalAisacName)
 从3D收发器上删除AISAC 更多...
 
void SetMaxAngleAisacDelta (float maxDelta)
 设置角度AISAC控制器值的最大变化量 更多...
 
void SetDistanceAisacControlId (ushort aisacControlId)
 设置距离AISAC控制器ID 更多...
 
void SetListenerBasedAzimuthAngleAisacControlId (ushort aisacControlId)
 设置收听者基准方位角AISAC控制器ID 更多...
 
void SetListenerBasedElevationAngleAisacControlId (ushort aisacControlId)
 设置收听者基准仰俯角AISAC控制器ID 更多...
 
void SetTransceiverOutputBasedAzimuthAngleAisacControlId (ushort aisacControlId)
 设置3D收发器输出基准方位角AISAC控制器ID 更多...
 
void SetTransceiverOutputBasedElevationAngleAisacControlId (ushort aisacControlId)
 设置3D收发器输出基准仰俯角AISAC控制器ID 更多...
 
void Set3dRegion (CriAtomEx3dRegion region3d)
 设置3D区域 更多...
 

详细描述

3D收发器对象

说明:
是用于操作3D收发器的对象。

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

构造及析构函数说明

创建3D收发器对象

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

成员函数说明

override void Dispose ( )
inline

丢弃3D收发器对象

说明:
丢弃3D收发器对象。
一旦执行了本函数,创建3D收发器对象时,在DLL内取得的资源将全部被释放,
3D收发器将更改为无效。
void Update ( )
inline

更新3D收发器

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

: // トランシーバーの作成 CriAtomEx3dTransceiver transceiver = new CriAtomEx3dTransceiver(); : // トランシーバーの入力位置を設定 transceiver.SetInputPosition(Vector3.zero);

// トランシーバーの出力位置を設定 transceiver.SetOutputPosition(Vector3.zero);

// 注意)この時点ではトランシーバーの位置はまだ変更されていません。

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

void SetInputPosition ( Vector3  position)
inline

设置3D收发器输入位置

参数
position输入位置向量
说明:
设置3D收发器输入位置。
位置用于距离衰减和定位计算。
位置以3维向量进行指定。
预设值是(0.0f, 0.0f, 0.0f)。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void SetOutputPosition ( Vector3  position)
inline

设置3D收发器输出位置

参数
position输出位置向量
说明:
设置3D收发器输出位置。
位置用于距离衰减和定位计算。
位置以3维向量进行指定。
预设值是(0.0f, 0.0f, 0.0f)。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void SetInputOrientation ( Vector3  front,
Vector3  top 
)
inline

设置3D收发器输入方向

参数
front前方向量
top上方向量
说明:
以前方向量和上方向量设置3D收发器方向。
方向以3维向量进行指定。所设置的向量将会在程序库中经过标准化后进行使用。
预设值如下。
  • 前方向量:(0.0f, 0.0f, 1.0f)
  • 上方向量:(0.0f, 1.0f, 0.0f)
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void SetOutputOrientation ( Vector3  front,
Vector3  top 
)
inline

设置3D收发器输出方向

参数
front前方向量
top上方向量
说明:
以前方向量和上方向量设置3D收发器方向。
方向以3维向量进行指定。所设置的向量将会在程序库中经过标准化后进行使用。
预设值如下。
  • 前方向量:(0.0f, 0.0f, 1.0f)
  • 上方向量:(0.0f, 1.0f, 0.0f)
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void SetOutputConeParameter ( float  insideAngle,
float  outsideAngle,
float  outsideVolume 
)
inline

设置3D收发器输出的声锥参数

参数
insideAngle声锥的内角
outsideAngle声锥的外角
outsideVolume声锥的外音量
说明:
设置3D收发器输出的声锥参数。
声锥表示声音从收发器发生的方向,用于表现声音的方向性。
声锥由内锥和外锥组成。内角表示内锥的角度, 外角表示外锥的角度,外音量表示外锥角度以上 方向的音量。
在比内锥角度更小的角度方向下,不会受到声锥的衰减。 在内锥和外锥之间的方向下,会逐渐衰减至外音量。
内角和外角以度来指定0.0f~360.0f。
外音量以对振幅的倍率来指定0.0f~1.0f(单位不是分贝)。
程序库初始化时的预设值如下,不会执行声锥衰减。
  • 内角:360.0f
  • 外角:360.0f
  • 外音量:0.0f .
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void SetOutputMinMaxDistance ( float  minDistance,
float  maxDistance 
)
inline

设置3D收发器输出最小距离/最大距离

参数
minDistance最小距离
maxDistance最大距离
说明:
设置3D收发器输出最小距离/最大距离。
最小距离表示以上音量无法继续增加的距离。
最大距离表示达到最小音量的距离。
程序库初始化时的预设值如下。
  • 最小距离:0.0f
  • 最大距离:0.0f
如数据侧设置了最小距离/最大距离,则在调用本函数后, 将覆盖(忽略)数据侧的值并进行适用。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void SetOutputInteriorPanField ( float  radius,
float  interiorDistance 
)
inline

设置3D收发器输出的内部Panning边界距离

参数
radius3D收发器的输出半径
interiorDistance内部距离
说明:
设置3D收发器输出的内部Panning边界距离。
3D收发器输出的半径是指以3D收发器输出为球体时的半径。
内部距离是指适用内部Panning的3D声源的半径的距离。
在3D收发器输出半径内,会适用内部Panning,但内部距离会作为0.0处理, 因此可以从所有扬声器以相同的音量播放音频。
在内部距离内,将会适用内部Panning。
在内部距离外,将不会适用内部Panning,将会从距离3D收发器输出位置最近的一个, 或两个扬声器播放音频。
程序库初始化时的预设值如下。
  • 3D收发器的半径:0.0f
  • 内部距离:0.0f(取决于3D收发器的最小距离) .
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update, CriAtomEx3dTransceiver::SetMinMaxDistance
void SetInputCrossFadeField ( float  directAudioRadius,
float  crossfadeDistance 
)
inline

设置3D收发器输入的交叉渐变边界距离

参数
directAudioRadius直接音频领域的半径
crossfadeDistance交叉渐变距离
说明:
设置3D收发器输入的交叉渐变边界距离。
在直接音频领域半径内,不会播放来自3D收发器输出的音频,只会播放来自3D声源的音频。
交叉渐变距离是指与来自3D收发器输出和3D声源的音频交叉渐变所适用的直接音频领域之间的距离。
在直接音频领域,交叉渐变的比率是从声源到音频=1、从3D收发器到音频=0的比率, 因此无法听到来自3D收发器输出的音频,只会播放来自声源的音频。
在交叉渐变距离内,会根据收听者的位置,适用交叉渐变。
在交叉渐变距离外,无法听到来自3D声源的音频,只能听到来自3D收发器输出的音频。 程序库初始化时的预设值如下。
  • 直接音频领域的半径:0.0f
  • 交叉渐变距离:0.0f .
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update, CriAtomEx3dTransceiver::SetMinMaxDistance
void SetOutputVolume ( float  volume)
inline

设置3D收发器输出音量

参数
volume音量
说明:
设置3D收发器输出音量。
3D 收发器输出音量仅会影响定位相关的音量(L,R,SL,SR), 不会影响LFE或向中心的输出Level。
音量值是在0.0f~1.0f的范围内指定实数值。
音量值是针对音频数据的振幅的倍率(单位不是分贝)。
例如,指定为1.0f时,将按照原有的音量输出原音。
指定为0.5f时,将会以等同于原音波形一半振幅的音量(-6dB) 来输出音频。
指定为0.0f时,音频将被静音(更改为无音状态)。
程序库初始化时的预设值是1.0f。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void AttachAisac ( string  globalAisacName)
inline

在3D收发器上安装AISAC

参数
globalAisacName添加全局AISAC名
说明:
在3D收发器上添加(安装)AISAC。 通过添加AISAC,即使Cue或音轨中未设置AISAC, 也可以获得AISAC效果。

如AISAC添加失败,CriWareErrorHandler上会发生错误回调。
关于AISAC添加失败的理由,请确认错误消息。
备注:
仅总体设置(ACF文件)中包含的全局AISAC可以添加。
为了获得AISAC的效果,与Cue和音轨设置的AISAC相同, 需要设置相应的AISAC控制器值。
注意:
即使Cue和音轨中设置了“更改AISAC控制器值的AISAC”, 该适用结果的AISAC控制器值也不会影响到3D收发器上添加的AISAC。
目前,不支持“自动调制”和“随机”等控制类型的AISAC的 添加。
目前,可以添加至3D收发器的AISAC的最大数固定为8个。
参见
CriAtomEx3dTransceiver::DetachAisac
void DetachAisac ( string  globalAisacName)
inline

从3D收发器上删除AISAC

参数
globalAisacName删除全局AISAC名
说明:
从3D收发器上切断(删除)AISAC。

如AISAC切断失败,CriWareErrorHandler上会发生错误回调。
关于AISAC切断失败的理由,请确认错误消息。
参见
CriAtomEx3dTransceiver::AttachAisac
void SetMaxAngleAisacDelta ( float  maxDelta)
inline

设置角度AISAC控制器值的最大变化量

参数
maxDelta角度AISAC控制器值的最大变化量
说明:
设置根据角度AISAC更改AISAC控制器值时的最大变化量。
如果将最大变化量设置为较低的值,即使在3D收发器和收听者间的相对角度急剧变化时, 也能够让由角度AISAC引起的AISAC控制器值的变化变得平滑。
例如,设置为(0.5f / 30.0f)时,如果角度从0度-变化为180度, 则会更改为乘以30帧的变化量。
预设值是1.0f(无限制)。 由于无法在数据侧设置本参数,因此会始终使用本函数的设置值。
注意:
要实际适用所设置的参数时, 需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
用本函数设置的最大变化量仅会适用于按照定位角度计算出的 角度AISAC控制器值的变化。 定位角度本身不会受到影响。
参见
CriAtomEx3dTransceiver::Update
void SetDistanceAisacControlId ( ushort  aisacControlId)
inline

设置距离AISAC控制器ID

参数
aisacControlId距离AISAC控制器ID
说明:
指定与最小距离、最大距离之间的距离衰减联动的AISAC控制器ID。
如果用本函数设置了AISAC控制器ID,预设的距离衰减会更改为无效。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void SetListenerBasedAzimuthAngleAisacControlId ( ushort  aisacControlId)
inline

设置收听者基准方位角AISAC控制器ID

参数
aisacControlId收听者基准方位角AISAC控制器ID
说明:
指定与从收听者看到的3D收发器的方位角联动的AISAC控制器ID。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void SetListenerBasedElevationAngleAisacControlId ( ushort  aisacControlId)
inline

设置收听者基准仰俯角AISAC控制器ID

参数
aisacControlId收听者基准仰俯角AISAC控制器ID
说明:
指定与从收听者看到的3D收发器仰俯角联动的AISAC控制器ID。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void SetTransceiverOutputBasedAzimuthAngleAisacControlId ( ushort  aisacControlId)
inline

设置3D收发器输出基准方位角AISAC控制器ID

参数
aisacControlId3D收发器基准方位角AISAC控制器ID
说明:
指定从3D收发器输出位置看到的与收听者的方位角联动的AISAC控制器ID。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void SetTransceiverOutputBasedElevationAngleAisacControlId ( ushort  aisacControlId)
inline

设置3D收发器输出基准仰俯角AISAC控制器ID

参数
aisacControlId3D收发器基准仰俯角AISAC控制器ID
说明:
指定从3D收发器输出位置看到的与收听者的仰俯角联动的AISAC控制器ID。
注意:
要实际适用所设置的参数时,需要调用 CriWare.CriAtomEx3dTransceiver::Update 函数。
参见
CriAtomEx3dTransceiver::Update
void Set3dRegion ( CriAtomEx3dRegion  region3d)
inline

设置3D区域

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

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