概述
- 当声源与倾听者之间的距离很遠时,此功能可以通过减少其声源的Tick处理的频率来减轻处理负荷。
处理负荷是否一定下降?
- 不是。
“远的声源的Tick处理负荷 > 计算所有声源与倾听者之间的距离的处理负荷”时,整体处理负荷将降低,但是相反时,处理负荷则增加。
此功能可以应用在声音播放在远离倾听者的地方频繁进行的场景下。
详细信息
- 满足以下条件时,将减少Tick处理的频率。
- 3D音效(不是2D音效)。
- 声源与倾听者之间的距离>(声源距离衰减的最大值 + 任意的Margin)。
- 关于是否判定为3D音效
- 以下音頻被视为是3D音效
- 在SpawnSoundAtLocation中播放
- 在SpawnSoundAttached中播放
- 在PlaySoundForAnimNotify中播放
- 从"Only 2D Sound"属性为false的AtomComponent中播放
- 以下音頻被视为是2D音效
- 在SpawnSound2D中播放
- 从"Only 2D Sound"属性为true的AtomComponent中播放
有效化Economic Tick功能的步骤
(1) 打开项目设置窗口,显示CriWare页面
-
(2) 设置"Economic Tick Margin Distance (Unreal Unit)"
- “声源与倾听者之间的距离>(声源距离衰减的最大值 + "Economic Tick Margin Distance (Unreal Unit)" 属性的当前值)”时,将减少Tick处理的频率。
(3) 设置"Economic Tick Frequency (Tick/Second)"
- 声源与倾听者之间的距离很远时,指定执行Tick处理的频率。
例如指定为“15”时,即1秒间将执行15次Tick处理。
(4) 编辑要使用Economic Tick功能的Cue Asset的属性
- 勾选“Enable Economic Tick”。
为每个Cue执行不同设置时
- Economic Tick功能有关的设置已经在项目设置窗口中进行。要为各Cue分别进行不同设置时请执行以下操作。 勾选“Override Economic Tick Settings”,设置如下项目:
- "Economic Tick Distance Margin"
- "Economic Tick Frequency"
获取信息
- UAtomComponent::IsReducingTickFrequency
- 返回是否通过Economic Tick功能減少Tick频率。
- UAtomComponent::GetEconomicTickDistance
- 返回当前应用于此AtomComponent的Economic Tick边界距离。
- 也就是说,将返回最后一次播放的Cue(最大衰减距离 + 用于Economic Tick的Margin距离)。
- 可以同时获得蓝图和C++的信息。
-
批量设置多个Cue的Economic Tick功能
- 要对多个Cue批量设置Economic Tick功能时,使用Asset Action的属性Matrix的批量编辑较为有效。
关于如何使用属性Matrix进行批量编辑,请参照 批量编辑多个Asset 。