Choose your operating system:
Windows
macOS
Linux
Niagara调试器
Niagara调试器(Niagara Debugger)为你提供了一套工具,可以帮助你查看当前关卡中关于模拟的详细数据。要打开调试器,在你的关卡中点击顶部菜单并选择 窗口(Window)> Niagara调试器(Niagara Debugger) 。系统将显示一个面板,你可以将其放在你想要的位置。
-
Niagara调试器面板
-
播放选项
-
调试器选项卡
-
调试器选项
调试器分为几个分段。首先,顶部有一个为你提供播放功能按钮的分段。你可以在此处选择播放、暂停、循环、步进和速度。
参数 |
说明 |
---|---|
刷新(Refresh) |
刷新所选设备上的设置。当某些东西不同步时使用。 |
播放(Play) |
播放关卡中的所有Niagara模拟。 |
暂停(Pause) |
暂停关卡中的所有Niagara模拟。 |
循环(Loop) |
循环关卡中的所有Niagara模拟。当与循环时间设置配对时,可以使单发系统循环,例如爆裂。 |
步进(Step) |
每点击一次,所有Niagara模拟前进一帧。 |
速度(Speed) |
调整关卡中Niagara模拟的速度。这只会影响Niagara模拟的播放速度,关卡中的所有其他元素都将以正常速度播放。 |
在播放功能按钮下方,你将看到不同的选项卡。点击选项卡可以访问调试器中的不同工具。
参数 |
说明 |
---|---|
调试HUD(Debug HUD) |
你可以用调试Hud打开抬头显示器,查看关卡中关于模拟的详细信息。 |
FX大纲视图(FX Outliner) |
当Niagara在设备或PIE中运行时,FX大纲视图可以让你调试和分析Niagara上的数据。 |
性能(Performance) |
使用各种性能测试工具分析你的Niagara模拟。 |
会话浏览器(Session Browser) |
将调试选项设置到不同会话,例如控制台或PIE。 |
调试HUD
调试器中的第一个选项卡是 调试HUD(Debug HUD) 选项卡。你可以打开调试HUD,直接在关卡的视口中显示抬头显示器。然后,你可以调整选项,选择要显示的信息。
要打开调试HUD,请从 调试HUD(Debug HUD) 选项卡中选择 已启用调试HUD(Debug HUD Enabled) 选项。
启用调试HUD后,你将在 视口 中看到各种值的打印输出。
你在调试HUD选项卡中选择的设置将在会话之间保存。你可以选择显示各种数据。数据分成几组。
参数 |
说明 |
---|---|
调试概述(Debug Overview) |
此分段使你能够打开调试HUD顶部的概览分段,其中包括系统总数、总可扩展性、激活发射器总数、粒子总数和总内存。 |
调试筛选器(Debug Filters) |
你可以通过此分段设置筛选器,以便你仅显示与该筛选器匹配的Actor、组件、系统或发射器的信息。例如,你可以输入
请参阅 通配符搜索 ,了解更多信息。 |
调试系统(Debug System) |
此分段将在关卡编辑器的视口中显示每个系统的详细信息。 |
调试粒子(Debug Particles) |
你可以通过此分段在视口中显示有关单个粒子的详细信息。鉴于可能有数千个粒子,你还可以将显示的数据量限制为最大粒子数。 |
调试概述
点击 已启用调试概述(Debug Overview Enabled) ,打开 视口(Viewport) 中这些值的显示。
下面显示了 视口 中以下信息的打印输出:
-
系统总数
-
总可扩展性
-
激活发射器总数
-
粒子总数
-
总内存
点击 概述字体(Overview Font) 选项,你可以选择是要查看 小(Small) 字体还是 正常(Normal) 字体。你还可以使用 概述位置(Overview Location) 值调整 视口(Viewport) 中的概述位置。
调试筛选器
你已激活的筛选器可帮助你控制在调试HUD中看到的打印信息。默认情况下,每个筛选器中都设置为(*),表示显示所有内容。
点击筛选器旁边的复选框可以启用相应筛选器。你可以选择筛选出 Actor 、 组件(Components) 、 系统(Systems) 或 发射器(Emitters) 。
要设置筛选器,在星号之间输入你要筛选的内容。例如,你想筛选掉名称中带有System一词的系统,请点击
系统筛选器(System Filter)
旁边的复选框启用它,然后在文本输入字段中输入
*System*
。
在 调试HUD(Debug HUD) 中,你将看到与黄色亮显筛选器匹配的系统。
请参阅 通配符搜索 ,了解更多信息。
调试系统
你可以使用此分段在 视口 中为每个系统启用调试信息显示。
仅当至少启用了一个筛选器并且至少一个系统通过了筛选器时,才会显示此信息。
设置以下选项,调整视口中系统信息的显示。
参数 |
说明 |
---|---|
系统调试冗余度(System Debug Verbosity) |
无(None) - 仅显示系统的边界(如果启用)以及系统的位置和方向 基本(Basic) - 显示系统的边界(如果启用)、系统的位置和方向,以及组件和系统名称。此外还显示系统是否因可扩展性而被剔除以及原因。 冗余(Verbose) - 显示系统的边界(如果启用)、系统的位置和方向,以及组件和系统名称。显示系统是否因可扩展性而被剔除以及原因。显示系统的激活状态。显示系统正在使用的内存量。显示系统是否具有 效果类型(Effect Type) 。 |
系统发射器冗余度(System Emitter Verbosity) |
无(None) - 不显示其他信息。 基本(Basic) - 显示发射器和粒子的数量。 冗余(Verbose) - 显示系统中找到的每个发射器、该发射器的状态以及它拥有的粒子数。 |
系统显示边界(System Show Bounds) |
显示系统边界。如果系统具有固定边界,则此大小恒定。如果边界不固定,边界将动态调整大小,以便包含系统的粒子。 |
系统仅在世界中显示激活(System Show Active Only in World) |
启用此选项后,你将只会看到可见系统显示的信息。 禁用后,你将看到因可扩展性而被剔除的系统的显示。被剔除的系统用黑色定位器表示。 |
显示系统属性(Show System Attributes) |
只要系统调试冗余度(System Debug Verbosity)设置为基本(Basic)或冗余(Verbose),你就可以使用系统属性在调试HUD中显示附加信息。例如,你可以添加一个或多个特定属性的数组,例如System.Age。你也可以使用星号来显示包含某个单词的所有属性,例如
请参阅 通配符搜索 ,了解更多信息。 |
系统文本选项(System Text Options) |
使用这些选项来调整相对于系统原点的文本显示。 字体(Font) 可调整尺寸(小或正常)。 水平对齐(Horizontal Alignment) :左、中或右与系统原点对齐。 垂直对齐(Vertical Alignment) :上、中或下与系统原点对齐。 屏幕偏移(Screen Offset) :使用坐标向左或向右调整。 |
系统选项(System Options) 根据上面设置的选项打印在每个系统原点旁边的 视口(Viewport) 中。
如果你选择启用选项 系统显示边界(System Show Bounds) ,它将在系统边界周围绘制一个动态更新的框。
调试粒子
你可以使用 调试HUD 直接在视口中显示每粒子信息,以便帮助你调试场景。
请记住,在使用调试粒子时,使用播放功能按钮来 暂停(Pause) 、 跳过(Skip) 和 播放(Play) 会很有帮助。
为了显示粒子属性, 系统调试冗余度(System Debug Verbosity) 必须设置为 基本(Basic) 或 冗余(Verbose) 。
参数 |
说明 |
---|---|
显示粒子属性(Show Particle Attributes) |
启用此选项可直观显示每个粒子的属性。然后,你可以使用数组元素添加要显示的粒子属性。就像系统属性一样,你可以使用星号筛选使用字符串的一系列属性,也可以键入属性的确切名称,例如颜色(Color)。 请参阅 通配符搜索 ,了解更多信息。 |
启用GPU回读(Enable GPU Readback) |
首先,你必须启用显示粒子属性(Show Particle Attributes)选项。然后,如果你启用此选项,你将看到GPU发射器的粒子属性显示。 使用此选项时,数据从GPU收集并发送回CPU进行处理,因此会有数帧延迟。 使用此选项会产生内存成本,因为我们回读每个系统的所有内容。 |
粒子属性(Particle Attributes) |
将属性输入到数组中以便在粒子旁边的视口中打印出来。你可以输入多个属性,但你必须至少设置一个属性才能显示内容。 示例:在上面的截图中,有2个属性添加到了数组中:颜色和位置。 |
粒子文本选项(Particle Text Options) |
选择此处的选项以便调整视口中文本的显示。默认情况下,每个粒子旁边都有单独打印的文本,文本将跟随粒子从一帧移动到下一帧。 字体(Font) : 小或正常。 水平对齐(Horizontal Alignment) : 粒子的左、中或右。 垂直对齐(Vertical Alignment) : 粒子的上、中或下。 |
显示系统粒子属性(Show Particle Attributes With System) |
启用此选项会覆盖粒子文本选项的默认行为。文本并非在每个粒子旁边打印,而是附加到系统统计数据中。 |
使用显示的最大粒子数(Use Max Particles to Display) |
此选项确定要在视口中显示有关信息的粒子数。 如果 启用(Enabled) ,将显示你在显示的最大粒子数(Max Particles to Display)字段中设置的粒子数。 如果 禁用(Disabled) ,将显示Niagara 系统关卡中所有有可见粒子。如果你的关卡中有数千个粒子,这可能会导致某些工作站出现性能问题和内存不足错误。 |
显示全局预算信息(Show Global Budget Info) |
此选项显示带有全局预算信息的附加控件。显示信息包括全局FX时间、以毫秒为单位的预算以及时间/预算比率。 |
根据你的喜好设置选项后,你将在视口中看到每个粒子的打印输出,其中包含你在粒子属性数组中选择的属性。
通配符搜索
筛选时,有时你想要使用精确字符串进行筛选或搜索。在其他时候,你可能想要搜索或筛选包含某个字符串的所有项目。使用以下指南了解如何使用星号(*)进行通配符搜索。
语法 |
说明 |
---|---|
mystring |
返回确切的字符串mystring |
*mystring |
返回所有以mystring结尾的项目 |
mystring* |
返回所有以mystring开头的项目 |
*mystring* |
返回文本中某处包含mystring的所有项目,例如WootMyStringIsGreat |
my*string |
返回所有以my开头并以string结尾但中间包含任意内容的项目,例如MyGreatestEverString |
控制台命令
调试HUD(Debug HUD) 选项卡中的所有选项都可以使用控制台命令手动运行。
为了运行控制台命令,你需要将它们输入到输出日志的控制台中。
fx.Niagara.Debug.Hud
用于修改HUD的主要控制台命令(带你可以设置的值):
-
fx.Niagara.Debug.Hud
显示可用命令的列表。 -
Enabled=1
将启用HUD(0为禁用)。 -
ValidateSystemSimulationDataBuffers=1
启用或禁用(0为禁用)对系统数据缓冲区的验证。 -
bValidateParticleDataBuffers=1
启用或禁用(0为禁用)对粒子数据缓冲区的验证。 -
OverviewEnabled=1
启用或禁用(0为禁用)主概览显示。 -
OverviewLocation=30,50
设置HUD在编辑器视口中的位置。第一个值对应X轴,第二个值对应Y轴。 -
ShowGlobalBudgetInfo=1
启用全局预算信息控件(0为禁用)。 -
EnableGpuParticleReadback=1
使我们能够为粒子显示回读GPU数据(0为禁用)。 -
SystemDebugVerbosity=0
设置系统冗余度级别。0对应无(None),1对应基本(Basic),2对应冗余(Verbose)。 -
SystemEmitterVerbosity=0
设置世界系统发射器调试冗余度。0对应无(None),1对应基本(Basic),2对应冗余(Verbose)。 -
SystemShowBounds=1
显示所有筛选后的系统边界(0为禁用)。 -
SystemShowActiveOnlyInWorld=1
只会在世界显示中显示活动组件(0为禁用)。 -
SystemFilter=*Flop*
为世界显示设置通配符系统筛选器,这将匹配名称中包含flop的所有内容。 -
ComponentFilter=MyComp
将在世界显示中筛选与MyComp匹配的所有组件。 -
ShowSystemVariables=1
启用系统变量可见性(0为禁用)。 -
SystemVariables=Position,*Color
将显示匹配"Position"的所有变量和包含"Color"的所有变量。 -
ShowParticlesVariablesWithSystem=1
启用时,粒子变量与系统显示一起显示,禁用时(设置为0),它会附加到世界显示中的组件。 -
MaxParticlesToDisplay=32
会将显示限制为32个粒子,这纯粹是为了避免破坏帧速率/内存。 -
ShowParticleVariables=1
启用粒子变量可见性(0为禁用)。 -
ParticlesVariables=*Pos,Color
将显示包含"Pos"的所有变量以及与"Color"匹配的所有变量。
fx.Niagara.Debug.PlaybackMode
为所有Niagara效果设置播放模式。
-
fx.Niagara.Debug.PlaybackMode 0
将播放所有模拟。 -
fx.Niagara.Debug.PlaybackMode 1
暂停模拟。 -
fx.Niagara.Debug.PlaybackMode 2
将步进单个帧,然后暂停所有模拟。
fx.Niagara.Debug.PlaybackRate
播放速率是所有Niagara模拟的增量时间的修饰符。
-
fx.Niagara.Debug.PlaybackRate 0.5
将以半速运行所有模拟。
显示全局预算信息相关命令
-
fx.budget.enabled 1
启用全局预算跟踪(0为禁用)。 -
fx.Budget.GameThread
将显示仅在游戏线程上运行的所有合并FX工作的预算(以毫秒为单位)。随着接近或超过此预算,各种FX系统将尝试越来越积极地缩减,以便保持在预算范围内。 -
fx.Budget.GameThreadConcurrent
将显示所有合并FX工作的预算(以毫秒为单位),而这些工作在游戏线程上运行或从游戏线程产生的并发任务上运行。随着接近或超过此预算,各种FX系统将尝试越来越积极地缩减,以便保持在预算范围内。 -
fx.Budget.RenderThread
将显示在渲染线程上运行的所有合并FX工作的预算(以毫秒为单位)。随着接近或超过此预算,各种FX系统将尝试越来越积极地缩减,以便保持在预算范围内。
FX大纲视图
FX大纲视图 是你可以在 Niagara调试器(Niagara Debugger) 面板中找到的第二个选项卡。此选项卡使你能够从关卡中的Niagara模拟中捕获数据,以便你可以对其进行分析。
此功能仍在开发中,并将在未来版本中继续升级。
要打开FX大纲视图,点击Niagara调试器中的选项卡。
要开始,点击 捕获(Capture) 按钮。FX大纲视图将等待 延迟(Delay) 字段中指定的帧数,然后开始运行。然后,你将在下面的分段中看到输出。
FX大纲视图界面
FX大纲视图界面布局如下。
-
工具栏
-
世界行
-
系统行
-
系统实例行
-
发射器行
-
内联数据
-
所选行的细节
你可以在FX大纲视图工具栏选择工具选项。
参数 |
说明 |
---|---|
捕获(Capture) |
点击以便在当前连接的设备上触发捕获。要更改正在使用的设备,请点击 调试(Debugging) 面板中的 会话浏览器(Session Browser) 选项卡。 |
Perf |
打开或关闭此按钮以便在此捕获中捕获性能数据。 |
延迟(Delay) |
设置捕获数据之前要延迟的帧数。例如,你需要在游戏中执行特定操作,你可能需要设置延迟。 此值还会设置捕获的时长。 |
视图模式(View Mode) |
为下面的捕获区域选择哪种视图模式。视图模式有两种,状态(State)和性能(Performance)。 状态(State) 将显示执行状态、粒子数以及sim目标是CPU还是GPU。 性能(Performance) 将显示可用的性能信息。目前,性能是在系统和系统实例级别收集的。发射器只显示状态数据。 |
筛选器(Filters) |
点击此按钮,你可以为捕获数据选择各种筛选选项。 系统执行状态(System Execution State) :仅显示激活/不激活/不激活清除/已完成的系统。 发射器执行状态(Emitter Execution State) :仅显示激活/不激活/不激活清除/已完成的系统。
发射器Sim目标(Emitter Sim Target) 可以按CPU或GPU进行筛选。 系统剔除状态(System Cull State) 仅显示已因或未因可扩展性而被剔除的系统。
你还可以使用搜索框按字符串筛选。 |
降序(Descending) |
切换 升序(Ascending) 或 降序(Descending) ,根据 排序模式(Sort Mode) 的值更改条目的排序方式。 |
排序模式(Sort Mode) |
设置条目的排序方式。 自动(Auto) 将为当前视图模式选择默认模式。如果你处于状态视图(State View)中,这将按与当前筛选器匹配的条目数进行排序。在性能视图(Performance View)中,它将按平均游戏线程时间排序。 筛选匹配(Filter Matches) 将按与筛选条件匹配的条目数进行排序。 平均时间(Average Time) 将按平均游戏线程时间排序。 最大时间(Max Time) 将按最大游戏线程时间排序。 |
单位(Units) |
在性能模式下以微秒、毫秒或秒为单位查看时间值。默认值为微秒。 |
状态视图
状态视图将显示有关行项目状态的数据。根据该线是代表世界、系统、系统实例还是发射器,显示的数据类型会有所不同。
-
世界
-
系统
-
系统实例
-
发射器
世界
参数 |
说明 |
---|---|
世界类型(World Type) |
显示数据源。示例:编辑器、游戏、PIE。 |
网络模式(Net Mode) |
显示这是客户端、专用服务器还是独立服务器。 |
已开始运行(Has Begun Play) |
返回True或False。 |
系统数(Number of Systems) |
指世界中与当前搜索筛选器匹配的系统数量。 |
系统
系统当前仅输出与当前搜索筛选器匹配的系统实例数。
系统实例
参数 |
说明 |
---|---|
池化方法(Pooling Method) |
返回None、InUse或FreeInPool之一。 |
执行状态(Execution State) |
显示整个系统是处于激活状态、不激活状态还是完成状态。 |
发射器数(Number of Emitters) |
显示世界中与当前搜索筛选器匹配的发射器数量。 |
未初始化(Uninitialized) |
如果组件已创建但尚未完全初始化,它将显示未初始化。 |
发射器
参数 |
说明 |
---|---|
执行状态(Execution State) |
显示发射器的当前状态,激活、不激活或已完成。 |
Sim目标(Sim Target) |
显示此发射器是CPU发射器还是GPU发射器。 |
粒子数(Number of Particles) |
显示粒子数。 |
性能视图
性能视图(Performance View) 将显示捕获的所有性能数据。数字以选定的单位显示,默认为微秒。
每个数字块被分成两部分。你会在左边看到游戏线程成本,在右边看到渲染线程成本。
所有值均在由 延迟(Delay) 值设置的捕获时间内计算得出。
-
所有效果的平均总帧时间。
-
所有效果的最大总帧时间。
-
此系统的平均每实例成本。
-
此系统的最大每实例成本。
-
此系统所有实例的平均总成本。
-
此系统所有实例的最高总成本。
-
此实例的平均成本。
-
此实例的最高成本。
不会在单个发射器上捕获信息,因此你只会看到发射器的状态数据。
性能
该工具的此分段具有高度试验性,可能会发生变化。
参数 |
说明 |
---|---|
切换ParticlePerf(Toggle ParticlePerf) |
此选项会在运行性能测试时打开CPU成本。 |
运行性能测试(Run Performance Test) |
点击它将在指定的帧时长内运行性能测试。测试运行后,输出将以文本格式粘贴到输出日志中。数据采用
|
切换基线(Toggle Baseline) |
每种效果类型都有在Niagara系统的系统属性中设置的基线。启用后,在运行性能测试时,它将根据该效果类型的基线成本来衡量关卡中的系统成本。 |
启用异步模拟(Enable Async Simulation) |
点击可以启用关卡中的所有Niagara模拟。快速启用或禁用此设置有助于确定你遇到的问题是否与此设置有关。 |
禁用异步模拟(Enable Async Simulation) |
点击可以禁用关卡中的所有Niagara模拟。快速启用或禁用此设置有助于确定你遇到的问题是否与此设置有关。 |
会话浏览器
Niagara调试器中的第四个选项卡是 会话浏览器(Session Browser) 。
会话浏览器将驱动所有测试在Niagara调试器的其他选项卡上运行。在会话浏览器中,你将看到当前处于激活状态的所有会话。在此截图中,唯一可用的会话是在本地设备上运行的应用程序上。
如果你有会话在控制台或其他设备上运行,你可以在会话浏览器中选择Niagara调试器信息,将它们输出到这些设备上。
然后你可以返回到调试HUD选项卡来调整显示设置。