Choose your operating system:
Windows
macOS
Linux
在虚幻引擎中调试游戏或其他项目时,趁游戏或编辑器在运行时直接向其发送命令可有助于调试。对于音频来说尤其如此。如果你要追踪的漏洞仅在狭窄或未知环境中出现,控制台命令可以提供帮助,比如启用或禁用特定功能,或者实时更改重要参数。
如何使用控制台
按键盘上的 波浪号 键( ~ )打开 命令控制台 。注意,英式英语键盘上使用的键是 沉音符 键( ` )。
如果波浪号键打不开控制台,或想要使用不同的键,可以转到 项目设置(Project Settings)> 引擎(Engine)>输入(Input)>控制台键(Console Keys) ,更改键盘绑定。
使用控制台命令时,可能还需要打开 输出日志(Output Log) 。可在 窗口(Window)>开发人员工具(Developer Tools)>输出日志(Output Log) 进行设置。
大部分音频控制台命令涉及通过语法 [CVar名称] [值] 将给定的 控制台变量 ( CVar )设置为所需值。
例如,要调试混音,可以在控制台中使用命令 au.Debug.SoundMixes 1 (其中 1=true),将 CVar au.Debug.SoundMixes 设置为 true 。
你还可以通过输入命令 [CVar name ?] 找到关于使用给定CVar的更多信息。
输入到控制台的命令会实时影响你的编辑器。控制台命令可以从游戏中执行,可以在编辑器中执行,还可以在游戏已经启动的情况下从服务器控制台中使用-server开关执行。
常见音频CVar和用例
音频特定控制台命令和CVar以 au. 开头,少数旧函数除外。由于控制台支持自我暗示功能,你可以在控制台中键入 au. 并滚动查看列示的命令,获取可用命令列表。
-
au.Debug.SoundMixes - 设置为 1 时,此变量提供有关当前活动音效类混音的信息。由于混音是可以同时影响关卡中多个音效的对象,因此很难追踪它们的问题。通过显示有关混音的信息,可以轻松判断是否触发了任何意外的混音,混音是否未按预期推送并弹出混音调节器列表,或者同一混音的多个实例是否同时处于活动状态。对于尝试调试突然听不到某个类别的音效这类情况,这通常是重要的第一步。
-
au.DumpActiveSounds - 设置为 1 时,此变量提供当前正在播放的所有音效列表。对于人耳听起来相同,但原因不同的问题,你可以使用此变量缩小可能的错误来源范围。例如,如果无法听到音效,转储活动音效有助于弄清楚是音效未播放,还是音效在以听不到的低音量播放。同样,该变量可以帮助区分将音量调节器设置为不合理的音量,而由此产生的响亮音效,和由于同一音效的多个实例同时播放而产生的响亮音效,后者可能会让你觉得是一个非常响亮的音效。
-
AudioMemReport - 键入 AudioMemReport 命令,但不带值(不需要),生成有关活动音效对象内存使用情况的详细文档。这适用于追踪音频系统中内存意外大量使用的情况。它还有助于一般音频优化。
音频控制台命令
使用以下命令调试虚幻音频引擎。在适用情况下,该表还将指出被新命令取代的已弃用命令。
大部分情况下可以使用 1 或 0 , 开(on) 或 关(off) , true 或 false (on/off和true/false区分大小写)来设置启用和禁用。
需要记住的是,如果0 = false(禁用),1 = true(启用),则使用au.DisableDeviceSwap这样的命令时,命令的操作是禁用,则true设置将是启用禁用操作。这意味着要输入 au.DisableDeviceSwap 1 才能打开此功能。
命令 |
说明/注释 |
参数 |
---|---|---|
au.3dVisualize.ActiveSounds |
活动音效的可视化模式。 |
0: 禁用,1:音量(Lin),2:音量(dB),3:距离:4:随机颜色 |
au.3dVisualize.ActiveSounds.Type |
应用音频可视化的音效类型。 |
0: 全部,1:仅限组件,2:仅限非组件 |
au.3dVisualize.Enabled |
音频可视化 |
0:禁用,1:启用 |
au.3dVisualize.Listeners |
启用3D可视化时,监听器是否可见。 |
0: 禁用,1:启用 |
au.3dVisualize.SpatialSources |
启用3D可视化时,音频空间化源是否可见。 |
0: 禁用,1:启用 |
au.3dVisualize.VirtualLoops |
启用3D可视化时,虚拟化循环是否可见。 |
0: 禁用,1:启用 |
au.adpcm.ADPCMReadFailureTimeout |
设置在完全停止声波之前的ADPCM解码尝试次数。 |
值:尝试次数 |
au.adpcm.DisableSeeking |
禁用通过ADPCM搜索。 |
1: 禁用搜索 |
au.AllowAudioSpatialization |
允许音频空间化。此设置通常是启用的。如果禁用,所有音频不会空间化,但是会产生衰减。 |
0: 禁用,>0:启用 |
au.AllowInitOnAudioRenderThread |
启用时,将在音频渲染线程上初始化子混音。 |
0: 禁用,1:启用 |
au.AllowReverbForMultichannelSources |
允许对信道数大于2的源进行混响处理。 |
0: 禁用,>0:启用 |
au.AnalysisTimeShift |
改变烘焙分析播放的时间轴。 |
值:时间轴应改变的秒数 |
au.BakedAnalysisEnabled |
启用或禁用对音频组件烘焙分析的查询。 |
0: 禁用,1:启用 |
au.BypassAudioPlugins |
绕过任何音频插件处理。 |
0: 启用,1:禁用音频插件处理 |
au.BypassPlayWhenSilent |
设置为1时,将忽略非程序源的静音播放标记。 |
0: 调用静音播放标记,1:停止所有静音非程序源 |
au.ClearMutesAndSolos |
清除任何独奏或静音音效。 |
0: 禁用,1:启用 |
au.CommandBufferFlushWaitTimeMs |
等待命令缓冲区完成清空的时间。 |
值:毫秒数 |
au.Debug.Display.X |
设置在将调试文本渲染到视口时的初始X位置。 |
默认值 = 100 |
au.Debug.Display.Y |
设置在将调试文本渲染到视口时的初始Y位置。 |
默认值:-1 |
au.Debug.SoundCues |
将SoundCue信息发布到视口。替换弃用命令 stat soundcues 。 |
0: 禁用,1:启用,可选:-AllViews(启用/禁用所有视口,而不仅仅是与当前世界场景关联的视口) |
au.Debug.SoundCues.Minimal |
启用时,使用Sound Cue调试的紧凑视图。 |
0: 禁用,1:启用 |
au.Debug.Soundcues.ShowPath |
启用时,显示Sound Cue的完整路径。 |
0: 禁用,1:启用 |
au.Debug.SoundCues.Spacing.Char |
具有紧凑视图的角色大小(以像素为单位)。 |
默认值:7 |
au.Debug.SoundCues.Spacing.Tab |
具有紧凑视图的选项卡大小(以字符为单位)。 |
默认值:5 |
au.Debug.SoundMixes |
将SoundMix信息发布到视口。替换弃用命令 stat soundmixes 。 |
0: 禁用,1:启用,可选:-AllViews(启用/禁用所有视口,而不仅仅是与当前世界场景关联的视口) |
au.Debug.SoundModulators |
将SoundModulation信息发布到视口。替换弃用命令 stat soundmodulators 。 |
0: 禁用,1:启用,可选:-AllViews(启用/禁用所有视口,而不仅仅是与当前世界场景关联的视口) |
au.Debug.SoundReverb |
将SoundReverb信息发布到视口。替换弃用命令 stat soundreverb 。 |
0: 禁用,1:启用,可选:-AllViews(启用/禁用所有视口,而不仅仅是与当前世界场景关联的视口) |
au.Debug.Sounds |
将SoundWave信息发布到视口。替换弃用命令 stat sounds 。 |
0: 禁用,1:启用,可选:-AllViews(启用/禁用所有视口,而不仅仅是与当前世界场景关联的视口) |
au.Debug.Sounds.Max |
在完整的音效调试器视图中显示的最大音效数。 |
默认值:32 |
au.Debug.Sounds.ShowPath |
在音效调试器列表中启用时,显示音效的完整路径。 |
0: 禁用,1:启用 |
au.Debug.Sounds.Sort |
音效统计处于活动状态时要排序并显示的值。 |
值:类、距离、名称(默认)、优先级(每个音效的最高波形实例)、时间、波形、音量 |
au.Debug.Sounds.TextColor |
音频调试视图中正文文本的颜色。 |
值:白色、红色、橙色、黄色、蓝色、洋红色、紫色、黑色 |
au.Debug.SoundWaves |
将SoundWave信息发布到视口。替换弃用命令 stat soundwaves 。 |
0: 禁用,1:启用,可选:-AllViews(启用/禁用所有视口,而不仅仅是与当前世界场景关联的视口) |
au.DecompressionThreshold |
如果为非零,则覆盖音效组或平台运行时设置中设置的解压阈值。 |
值:完全解压缩所需的最大持续时间(以秒为单位) |
au.DefaultModulationPlugin |
要加载和使用的默认调制插件的名称(由配置中平台特定实现名称覆盖)。 |
N/A |
au.DisableAppVolume |
设置为1时,忽略外部音量更改命令。 |
0: 恢复应用程序音量,1:禁用应用程序音量 |
au.DisableAutomaticPrecache |
设置为1时,这会在加载或启动时禁用预缓存,并将仅在播放时同步预缓存。 |
0: 使用普通的预缓存逻辑,1:禁用除同步调用以外的所有预缓存 |
au.DisableBinauralSpatialization |
禁用双耳空间化。 |
0: 禁用,1:启用 |
au.DisableDeviceSwap |
在Windows上禁用音频混合器的设备交换处理代码。 |
0: 禁用,1:启用 |
au.DisableDistanceAttenuation |
禁止使用任何距离衰减。 |
0: 禁用,1:启用 |
au.DisableEnvelopeFollowing |
禁止使用包络跟踪器进行源包络跟踪。 |
0: 禁用,1:启用 |
au.DisableFiltering |
禁止使用每源低通和高通滤波器。 |
0: 禁用,1:启用 |
au.DisableHPFiltering |
禁止使用每源高通滤波器。 |
0: 禁用,1:启用 |
au.DisableLegacyReverb |
在旧版音频后端禁用混响。 |
0: 禁用,1:启用 |
au.DisableParallelSourceProcessing |
禁止使用异步任务处理源。 |
0: 禁用,1:启用 |
au.DisableQuadReverb |
禁用环绕声中的四重混响。 |
0: 禁用,1:启用 |
au.DisableQuadReverbLegacy |
禁用环绕声中的四重混响。 |
0: 禁用,1:启用 |
au.DisableReverbSubmix |
禁用混响子混音。 |
0: 禁用,1:启用 |
au.DisableReverbSubmixLegacy |
禁用混响子混音。 |
0: 禁用,1:启用 |
au.DisableSourceEffects |
禁止使用任何源效果。 |
0: 禁用,1:启用 |
au.DisableStereoSpread |
启用时,将忽略衰减设置中的3D立体声扩散属性,而是从奇点渲染音频。 |
0: 禁用,1:启用 |
au.DisableStoppingVoices |
禁用停止语音功能。 |
0: 禁用,1:启用 |
au.DisableSubmixEffectEQ |
禁用均衡器子混音。 |
0: 禁用,1:启用 |
au.dsp.FFTMethod |
确定使用迭代FFT方法还是DFT方法。 |
0: 使用迭代FFT,1:使用DFT |
au.DumpActiveSounds |
将有关所有当前活动音效的数据输出到日志。 |
N/A |
au.editor.CookOverrideCachingInterval |
设置在项目设置中更改烘焙覆盖时与将其应用于新音频源时之间的最大延迟。 |
值:缓存音程的间隔时间,以秒为单位 |
au.EnableBinauralAudioForAllSpatialSounds |
如果双耳渲染可用,切换所有空间音效的双耳音频渲染。 |
0: 禁用,1:启用 |
au.EnableDetailedWindowsDeviceLogging |
启用详细的Windows设备日志记录。 |
0: 禁用,1:启用 |
au.EnableOcclusionFilterScale |
将遮挡缩放0.25f,以便补偿音频混频器中滤波器截止频率的变化。 |
0: 禁用,1:启用 |
au.EnableReverbStereoFlipForQuad |
在环绕声中启用四路混响立体声翻转。 |
0: 禁用,1:启用 |
au.EnableReverbStereoFlipForQuadLegacy |
在环绕声中启用四路混响立体声翻转。 |
0: 禁用,1:启用 |
au.FadeOutTimeoutMSec |
等待FadeOut事件触发的时间。 |
值:时间,以毫秒为单位 |
au.FlushAudioRenderCommandsOnSuspend |
设置为1时,确保在应用程序挂起时,将所有待处理的命令发送到音频线程和音频渲染线程。 |
0: 启用,1:禁用 |
au.FlushAudioRenderThreadOnGC |
设置为1时,每次GC运行时,清空所有待处理的音频渲染线程命令。 |
1: 启用 |
au.FlushCommandBufferOnTimeout |
设置为1时,如果栅栏超时,则同步清空音频渲染线程。 |
1: 启用 |
au.ForceRealtimeDecompression |
设置为1时,这可以特意确保所有音频资产在播放时解压,而不是加载时完全解压。 |
0: 允许加载时完全解压,1:强制实时解压。 |
au.ForceSyncAudioDecodes |
禁止使用异步任务处理源。 |
0: 停止使用同步任务,1:强制音频解码同步 |
au.IsUsingAudioMixer |
确定是否使用音频混合器。这仅在当前未使用音频设备的情况下才会生效,除非 au.AllowUnsafeAudioMixerToggling 设置为1。音效将停止,并且循环音效将不会自动恢复。 |
0: 不使用音频混合器,1:使用音频混合器 |
au.LinearGainScalarForFinalOutut |
将线性增益标量应用于最终浮点缓冲区,可支持可热修复的削波抑制。 |
默认值:1.0f |
au.LogRenderTimes |
记录音频渲染时间。 |
0: 无记录,1:记录 |
au.MaxConcurrentStreams |
覆盖最大并行流送数。 |
0: 未覆盖,>0:已覆盖 |
au.nrt.RenderEveryTick |
设置为1时,引擎每更新函数调用RenderAudio。 |
0 = 每更新函数不进行渲染,1 = 每更新函数进行渲染 |
au.nrt.RenderFrameSize |
选择要在单个回调中渲染的帧数。 |
值:要渲染的帧数 |
au.NumPrecacheFrames |
设置为>0时,该值将确定为音频缓冲区预缓存的帧数。 |
0: 使用预缓存帧的默认值,>0:要预缓存的帧数。 |
au.OverrunTimeoutMSec |
交换到空设备之前等待渲染线程超时的时间。 |
值:时间,以毫秒为单位 |
au.RealtimeDecompressZeroDurationSounds |
设置为1时,这可以特意确保所有音频资产在播放时解压,而不是在加载时完全解压。 |
0: 允许加载时完全解压,1:强制实时解压 |
au.RecoverRecordingOnShutdown |
设置为1时,如果在录制过程中关闭游戏,将尝试将录制内容退回到.wav文件。 |
0: 禁用,1:启用 |
au.RenderThreadPriority |
设置音频渲染线程优先级。默认为3。 |
0: 正常,1:高于正常水平,2:低于正常水平,3:最高,4:最低,5:略低于正常水平,6:时间要求严格 |
au.ReportAudioDevices |
记录当时的所有活动音频设备(音频引擎实例)。 |
N/A |
au.SetAudioChannelCount |
更改音频信道数。最大值限制为初始化音频引擎时使用的MaxChannelCount。 |
0: 禁用,>0:输入的数字是新信道数 |
au.SetAudioChannelScaleCount |
按百分比更改音频信道数。 |
默认值取决于系统中的可用信道。可通过添加不同值进行更改。 |
au.SoundDistanceOptimizationLength |
在一次性距离优化时进入剔除候选之列的音效必须具备的最大时长。 |
默认值 1.0(以秒为单位) |
au.SpoofFailedStreamChunkLoad |
强制引擎处理任何传入的流送文件块,视同未能加载一样。 |
0: 禁用,1:启用 |
au.streamcaching.AlwaysLogCacheMisses |
当设置为非零值时,所有缓存未命中都将添加到
|
0: 在调用
|
au.streamcaching.FlushAudioCache |
启用流送缓存后,将从缓存中清空所有未保留的音频。 |
N/A |
au.streamcaching.ForceBlockForLoad |
设置为非零值时,将在磁盘读取完成前阻止
|
0: 禁用,1:强制加载到文件块 |
au.streamcaching.KeepCacheMissBufferOnFlush |
如果将其设置为1,则在调用
|
1: 整个会话中的所有缓存未命中都会显示在AudioMemReport中。0:仅自上一次调用AudioMemReport后的缓存未命中将显示在当前
|
au.streamcaching.MaxCachesToDisplay |
设置要在界面上显示的最大流送文件块数。 |
值:要在界面上显示的元素数。 |
au.streamcaching.MinimumCacheUsage |
该值是我们可支持的流送缓存最小潜在占用量。例如,将其设置为0.25,会导致我们在开始逐出文件块时(最坏的情况)缓存占用可能达到25%。 |
0.0: 将文件块数限制为(缓存大小/最大文件块大小),[0.01-0.99]:播放多个小音效时,增加文件块的数量可限制磁盘IO。 |
au.streamcaching.PlaybackRequestPriority |
可设置将要播放但不在缓存中的音频文件块默认请求优先级。 |
0: 最高,1:正常,2:低于正常水平,3:低,4:最小值 |
au.streamcaching.PrimeSoundOnAudioComponents |
设置为1时,当使用该音效生成
|
0: 禁用,1:启用 |
au.streamcaching.ReadRequestPriority |
当打开流缓存时可设置音频文件块的默认请求优先级。 |
0: 最高,1:正常,2:低于正常水平,3:低,4:最小值 |
au.streamcaching.ResizeAudioCacheTo |
将在必要时尝试剔除足够的音频文件块,以便将音频流送缓存缩小到新的缓存大小,并保持该缓存大小。 |
值:大小,以兆字节为单位 |
au.streamcaching.SaveAudiomemReportOnCacheOverflow |
设置为1时,如果缓存溢出,将打印audiomemreport。 |
0: 禁用,1:启用 |
au.streamcaching.StartProfiling |
将为此流送管理器启动性能占用分析模式。分析统计信息可以通过audiomemreport输出。 |
N/A |
au.streamcaching.StopProfiling |
停止 au.streamcaching.StartProfiling 命令。 |
N/A |
au.streamcaching.StreamCacheSizeOverrideMB |
可以将此CVar设置为覆盖缓存大小。0:使用项目设置中的缓存大小。 |
值:新缓存大小,以兆字节为单位。 |
au.streamcaching.TrimCacheWhenOverBudget |
当设置为非零值时,将在
|
0: 禁用,>0:启用(此处输入的任何非零值都相当于1) |
au.submix.clearbrokensubmixassets |
如果已修复,将验证你的子混音不会列示不再是其子项的子子混音,且前子项也不会错误地列出其之前的父项。 |
N/A |
au.UnderrunTimeoutMSec |
提交欠载缓冲区之前,等待渲染线程生成下一个缓冲区的时间。 |
值:毫秒数 |
au.UseListenerOverrideForSpread |
零衰减覆盖立体声平移距离。 |
0: 使用实际距离,1:使用监听器覆盖 |
au.VirtualLoops.Enabled |
启用或禁用对音频循环的虚拟化支持。 |
0: 禁用,1:启用 |
au.VirtualLoops.ForceUpdateListenerMoveDistance |
设置强制更新虚拟化音频所需的距离阈值,以检查监听器是否在给定距离内以单帧移动,以虚幻单位(UU)测量。 |
0: 禁用,1:启用,默认值:2500 UU |
au.VirtualLoops.PerfDistance |
设置虚拟循环距离,使更新速率在超越最大可听音效距离的最小和最大值之间缩放。 |
0: 禁用,1:启用,默认值:15000.0 |
au.VirtualLoops.UpdateRate.Max |
设置最大速率,以便检查音效是否再次可听(超出音效的最大可听距离+性能缩放距离)。 |
0: 禁用,1:启用,默认值:3.0f |
au.VirtualLoops.UpdateRate.Min |
设置最小速率,以便检查在音效的最大可听距离处,音效是否再次可听。 |
0: 禁用,1:启用,默认值:.1f |
au.WaitForSoundWaveToLoad |
设置为1时,除非已加载
|
0: 尝试播放,1:等待加载 |
旧音频控制台命令
包括以下命令,因为有些用户可能仍在使用它们,而且它们确实有使用价值。
但这些命令不接受输入,也不像较新的音频控制台命令那样自动填充。
命令 |
说明/注释 |
参数 |
---|---|---|
Audio3dVisualize |
切换打开/关闭3D音效的3D可视化 |
N/A |
AudioDebugSound |
将音效名称作为附加输入,并提供该音效的调试信息 |
N/A |
AudioGetDynamicSoundVolume |
将动态音效名称作为附加输入,并提供该音量的调试信息 |
N/A |
AudioMemReport |
创建有关音频对象的内存报告 |
N/A |
AudioMixerDebugSound |
将音效名称作为附加输入,并提供该音效的调试信息 |
N/A |
AudioResetAllDynamicSoundVolumes |
重置所有动态音效音量 |
N/A |
AudioResetDynamicSoundVolume |
将动态音效音量名称作为附加输入,并重置该特定音量 |
N/A |
AudioSetDynamicSoundVolume |
将动态音效音量名称作为附加输入,并重置该特定音量 |
N/A |
AudioSoloSoundClass |
将音效类名称作为附加输入,并切换该音效类是否为‘独奏'(唯一的可听音效) |
N/A |
AudioSoloSoundCue |
将sound cue名称作为附加输入,并切换该sound cue是否为独奏(唯一的可听音效) |
N/A |
AudioSoloSoundWave |
将声波名称作为附加输入,并切换该声波是否为独奏(唯一的可听音效) |
N/A |
ClearSoloAudio |
清除任何当前独奏音频设备的独奏命令 |
N/A |
DisableHPF |
禁用所有源的高通滤波器功能 |
N/A |
DisableLPF |
禁用所有源的低通滤波器功能 |
N/A |
DisableRadio |
禁用无线电效果 |
N/A |
DumpSoundInfo |
打印有关当前活动音效对象的详细信息 |
N/A |
EnableRadio |
启用无线电效果 |
N/A |
IsolateDryAudio |
隔离当前正在播放的音效的干信号(例如,尚未经过效果处理的音效部分) |
N/A |
IsolateReverb |
隔离混响过程生成的音频 |
N/A |
ListAudioComponents |
转储所有活动音效组件及其数据的列表 |
N/A |
ListSoundClassVolumes |
转储所有活动音效类音量及其数据的列表 |
N/A |
ListSoundClasses |
转储所有活动音效类及其数据的列表 |
N/A |
ListSoundDurations |
转储每个声波对象及其对应时长的列表 |
N/A |
ListSounds |
显示有关已加载音效的调试信息。其他参数:ALPHASORT:如果设置为true,则按名称对音效排序。否则,按内存占用降序排序;LONGNAMES:如果设置为true,将打印所列的每种音效的完整路径。否则将仅打印对象名称。 |
N/A |
ListWaves |
使用以下字段显示有关当前活动波实例的信息:实例索引源?文本("是"):文本("否")、播放时间、音量、路径名称、音效名称 |
N/A |
PlayAllPIEAudio |
切换无论哪个PIE窗口有焦点,所有设备的音频是否可听 |
N/A |
PlaySoundCue |
将sound cue名称作为附加输入,并播放该sound cue |
N/A |
PlaySoundWave |
将声波名称作为附加输入,并播放该声波 |
N/A |
ResetSoundState |
将所有音量重置为其默认值,并删除所有测试滤波器 |
N/A |
SetBaseSoundMix |
将混音名称作为附加参数,并将混音设置为基本混音 |
N/A |
ShowSoundClassHierarchy |
显示音效类层级 |
N/A |
SoloAudio |
通过使所有其他设备静音,将单个设备设置为独奏设备。 |
N/A |
SoundClassFixup |
处理音效类中的潜在损坏和路径冲突 |
N/A |
TestLFEBleed |
将所有源的低通滤波器设置为最大值,以便测试潜在的LFE泄漏问题 |
N/A |
TestLPF |
将所有源的低通滤波器设置为最大值 |
N/A |
ToggleHRTFForAll |
调用时,它将更改是否为所有源启用HRTF。例如,如果bHRTFEnabledForAll当前设置为false,会将其设置为true。 |
N/A |