Cascade是使用虚幻引擎中的发射器创建基于粒子的模块化效果的工具。
打开Cascade
要打开Cascade粒子编辑器,可以 双击 任意粒子系统资源,或在 内容浏览器 中 右键单击 粒子系统资源调出快捷菜单。任一方法均将在Cascade中打开特定粒子系统以供编辑。
(#cascadeinterface)
Cascade界面
Cascade包含六个主要区域:

- 菜单栏——可保存资源以及在 内容浏览器 中查找当前粒子系统。
- 工具栏——可视化和导航工具。
- 视口(Viewport)面板——显示当前粒子系统(包括该系统包含的所有发射器)。_模拟_工具栏选项中的控件用于设置模拟速度。
- 发射器(Emitters)面板——该窗格包含当前粒子系统中的所有发射器列表以及这些发射器中的所有模块列表。
- 细节(Details)面板——该窗格允许查看和修改当前粒子系统、粒子发射器或粒子模块的属性。
- 曲线编辑器(Curve Editor)——该图表编辑器显示基于相对时间或绝对时间修改的任意属性。在将模块添加到图表编辑器时,会出现一些用来控制显示哪些模块的控件(本文后面将做介绍)。
(#menubar)
菜单栏

(#file)
文件(File)
命令 | 说明 |
---|---|
加载和保存 | |
保存(Save) | 保存当前粒子系统。 |
全部保存(Save All) | 保存所有资源。 |
选择要保存的文件(Choose Files to Save) | 打开一个对话框,其中包含资源的保存选项。 |
应用程序 | |
切换项目(Switch Project) | 在任意可用游戏项目之间切换。 |
退出(Exit) | 关闭编辑器。 |
(#edit)
编辑(Edit)
命令 | 说明 |
---|---|
操作 | |
撤销(Undo) | 撤销最后完成的操作。 |
恢复(Redo) | 恢复最后撤销的操作。 |
(#asset)
资源(Asset)
命令 | 说明 |
---|---|
操作 | |
在内容浏览器中查找(Find in Content Browser) | 在 内容浏览器 中选择当前粒子系统。 |
(#window)
窗口(Window)
命令 | 说明 |
---|---|
资源编辑器选项卡 编辑器选项卡 | |
视口(Viewport) | 打开视口窗格(Viewport Pane)选项卡,其中显示所产生的粒子系统。 |
发射器(Emitters) | 打开发射器列表(Emitter List)选项卡,在这里可以向粒子系统添加各种发射器。 |
细节(Details) | 打开细节窗格(Details Pane),编辑每个粒子模块的属性。 |
曲线编辑器(Curve Editor) | 打开曲线编辑器(Curve Editor),通过动画曲线调整属性。 |
工具栏(Toolbar) | 打开工具栏(Toolbar),提供一组水平排列的常用操作快捷按钮。 |
(#toolbar)
工具栏
界面上还有一个工具栏,如下所示:
(w:860)
该工具栏包含以下控件(按工具栏上从左到右排列):
图标 | 名称 | 说明 |
---|---|---|
![]() |
保存(Save) | 保存当前粒子系统资源。 |
![]() |
在内容浏览器中查找(Find in Content Browser) | 在 内容浏览器 中查找当前粒子系统。 |
![]() |
重启模拟(Restart Sim) | 该操作将重置视口窗口中的模拟。也可以按 空格键 来执行此操作。 |
![]() |
在关卡中重启(Restart in Level) | 该操作重置粒子系统以及关卡中的任意系统实例。 |
![]() |
撤销(Undo) | 撤销上一个操作。也可以使用 Ctrl+Z。 |
![]() |
恢复(Redo) | 恢复上一个撤销的操作。也可以使用 Ctrl+Y。 |
![]() |
保存缩略图(Save Thumbnail Image) | 将从视口窗格摄像头视点看出去的画面保存为缩略图,以在内容浏览器中用来表示该粒子系统。 |
![]() |
切换边界(Toggle Bounds) | 切换粒子系统当前边界在视口窗格中的显示。 |
![]() |
边界选项(Bounds Options) | 单击可为GPU Sprite粒子系统设置固定边界。固定边界限制GPU Sprite粒子可以移动的距离。 |
![]() |
切换原点轴(Toggle Origin Axis) | 在粒子视口窗口中显示或隐藏原点轴。 |
![]() |
复制最高LOD以重新生成最低LOD(Regenerate lowest LOD duplicating highest) | 通过复制最高LOD来重新生成最低LOD。 |
![]() |
重新生成最低LOD(Regenerate lowest LOD) | 使用最高LOD值的预设百分比值重新生成最低LOD。 |
![]() |
跳转至最高LOD级别(Jump to Highest LOD Level) | 加载最高LOD。 |
![]() |
在当前LOD前面添加LOD(Add LOD before current) | 在当前加载的LOD前面添加新LOD。 |
![]() |
在当前LOD后面添加LOD(Add LOD after current) | 在当前加载的LOD后面添加新LOD。 |
![]() |
跳转至较低LOD级别(Jump to Lower LOD Level) | 调转到下一个较低LOD。 |
![]() |
跳转至最低LOD级别(Jump to Lowest LOD Level) | 加载最低LOD。 |
![]() |
删除LOD(Delete LOD) | 删除当前加载的LOD。 |
![]() |
当前LOD滑块(Current LOD Slider) | 允许选择想要预览的当前LOD。您可以手动输入值或拖动鼠标来编辑该数字。 |
(#viewportpanel)
视口(Viewport)面板

视口(Viewport) 窗格为你提供当前粒子系统的渲染预览,效果与它在游戏中实际渲染时完全一样。它提供了在Cascade中对粒子系统所做更改的实时反馈。除了完全渲染预览之外,视口窗格也可以在无光照、纹理密度、过度绘制和线框视图模式下渲染,并显示粒子系统的当前边界等信息。
(#viewportpanenavigation)
视口窗格导航
视口(Viewport) 窗格可以使用以下鼠标操作进行浏览:
按钮 | 操作 |
---|---|
鼠标左键 | 围绕着粒子系统反转摄像机。 |
鼠标中键 | 围绕着粒子系统平移摄像机。 |
鼠标右键 | 旋转摄像机。 |
Alt+鼠标左键 | 环绕粒子系统。 |
Alt+鼠标右键 | 将摄像机靠近和远离粒子系统。 |
F | 聚焦粒子系统。 |
L + 鼠标左键 | 旋转照明。仅对使用光照材质的粒子有效。在无光照粒子(大部分火焰、火花,等等)上将看不到任何效果。 |
(#viewportpanemenus)
视口窗格菜单

视口(Viewport) 窗格左上角有两个菜单。可以用来显示和隐藏窗格的多个功能以及控制视口设置。
(#viewmenu)
视图(View)菜单

“视图”(View)菜单可显示和隐藏视口窗格的各种诊断和可视化功能。该菜单包含下列选项:
项目 | 说明 |
---|---|
视图(View)菜单 | |
视图覆层(View Overlays) | 访问“视图覆层”(View Overlays)子菜单。参见下文。 |
视图模式(View Modes) | 访问“视图模式”(View Modes)子菜单。参见下文。 |
细节模式(Detail Modes) | 访问“细节模式”(Detail Modes)子菜单。参见下文。 |
背景色(Background Color) | 调出取色器,供您更改视口窗格的背景色。 |
环绕模式(Orbit Mode) | 在环绕粒子系统和在视口窗格中任意移动之间切换摄像机行为。 |
原点轴(Origin Axis) | 切换原点轴小工具的可视性,通常位于左下角。 |
矢量字段(Vector Fields) | 切换应用于粒子系统的任意矢量字段的可视性。 |
网格(Grid) | 切换网格的可视性。 |
线框球体(Wireframe Sphere) | 显示一个线框球体,它表示粒子系统的球面半径。 |
后期处理(Post Process) | 切换全局后期处理的可视性。 |
运动(Motion) | 切换粒子系统是保持静止还是围绕网格中心转动。 |
运动半径(Motion Radius) | 调出输入字段,允许您设置“运动”(Motion)设置的运行半径。 |
几何体(Geometry) | 显示或隐藏默认测试网格体。 |
几何体属性(Geometry Properties) | 调出几何体属性窗口,在这里可以调整默认几何体属性,如调节放置,切换所用的网格体以及许多其他选项。 |
边界(Bounds) | 切换粒子系统边界的可视性。边界显示为边界框和包围球。 |
设置固定边界(Set Fixed Bounds) | 激活粒子系统的固定边界,并自动将值设置为目前计算出的最大设置。 |
(#viewoverlaysubmenu)
视图覆层(View Overlay)子菜单

“视图覆层”(View Overlays)子菜单允许切换一系列数据读数,以提供有关当前粒子系统的各种信息。
项目 | 说明 |
---|---|
视图覆层(View Overlays)子菜单 | |
粒子计数(Particle Counts) | 切换粒子计数覆层的可视性,它显示从系统中的每个发射器发射出的粒子数。 |
粒子事件计数(Particle Event Counts) | 切换事件计数覆层的可视性,它显示每个发射器中触发的事件数。 |
粒子距离(Particle Distance) | 需要说明。 |
粒子时间(Particle Times) | 切换粒子发射器时间反馈的显示。这里显示的是每个发射器保持活动的时长。 |
粒子内存(Particle Memory) | 切换粒子系统内存占用量的显示,显示的是模板和每个实例的占用量。 |
(#viewmodessubmenu)
视图模式(View Modes)子菜单

“视图模式”(View Modes)子菜单允许在视口窗格中切换不同绘制模式。
(#wireframe)
线框
线框视(Wireframe)图模式显示粒子线框。如果是Sprite,会看到每个Sprite由2个多边形构成。

(#unlit)
无光照
无光照(Unlit)视图模式显示没有照明或后期处理的粒子结果。

(#lit)
光照
光照(Lit)视图模式显示有照明和后期处理的粒子结果。

(#shadercomplexity)
着色器复杂性
着色器复杂性(Shader complexity)提供一个特定着色器需要多少条指令的反馈。绿色是最低值,越红则代表指令值越高。

(#detailmodessubmenu)
细节模式(Detail Modes)子菜单
细节模式(Detail Modes)子菜单允许在低(low)、中(medium)和高(high)细节之间切换视口。这与引擎细节模式有关,让您可以看到粒子系统在每种不同模式下的效果。

项目 | 说明 |
---|---|
细节模式(Detail Modes)子菜单 | |
低(Low) | 预览系统细节模式设置为_低_时的粒子系统效果。 |
中(Medium) | 预览系统细节模式设置为_中_时的粒子系统效果。 |
高(High) | 预览系统细节模式设置为_高_时的粒子系统效果。 |
时间(Time)菜单

时间(Time)菜单允许您调整视口窗格的播放速度。
项目 | 说明 |
---|---|
时间(Time)菜单 | |
播放/暂停(Play/Pause) | 如果选中,则播放模拟。如果取消选中,则模拟暂停。 |
实时(Realtime) | 如果选中,则模拟实时播放。如果取消选中,则仅在 视口(Viewport) 窗格中有更新时播放模拟。 |
循环(Loop) | 如果选中,则粒子系统在达到循环结尾时重新开始。如果取消选中,则仅播放一次。 |
动画速度(AnimSpeed) | 打开一个子菜单,用于调节播放速度百分比,可用值包括100%、50%、25%、10%和1%。 |
发射器(Emitters)面板

发射器(Emitters) 面板包含当前在Cascade中打开的粒子系统中所含的每个粒子发射器。你可以在该面板中添加、选择和使用各种粒子模块,控制粒子系统的外观和行为。
发射器列表中水平排列了当前粒子系统中的所有发射器。一个粒子系统可以包含任意数量的发射器,每个发射器通常负责处理总体效果的一个不同方面。
每一列表示一个例子发射器,每个发射器包含顶部的一个发射器块和后续的任意数量的模块块。发射器块包含发射器的主要属性,如发射器的名称和类型,而下面的模块分别控制粒子行为的不同方面。
虽然发射器列表界面相当简洁,但包含一个情景关联菜单,通过单击鼠标右键可以访问。
粒子系统中的发射器沿着发射器列表从左到右计算。单击发射器并使用 左右箭头键 可以调整发射器在列表中的位置。
(#navigationandcontrols)
导航和控制
下面的控制和命令适用于发射器列表:
按钮 | 操作 |
---|---|
鼠标左键单击 | 选择发射器或模块。 |
鼠标左键拖拽(在模块上) | 将模块从一个发射器移到另一个。 |
Shift + 鼠标左键拖拽(在模块上) | 在发射器之间生成模块的实例,以模块名称旁边的+表示,而各个模块将具有相同的颜色。 |
Ctrl + 鼠标左键拖拽(在模块上) | 将模块从源发射器复制到目标发射器。 |
鼠标右键单击 | 打开快捷菜单。在空的列上 右键单击 可以创建新发射器。右键单击 发射器可以对发射器本身执行各种功能,还可以添加新模块。 |
左右箭头键 | 选中发射器的情况下,将向左或向右调整发射器在发射器列表中的位置。 |
发射器
在使用发射器列表时,理解其中的发射器基本结构非常重要。下面是一个快速分解图:

- 发射器列——每一列表示一个单独的发射器。
- 发射器块——这是每个发射器顶部的一个框,其中包含发射器本身的主要属性和控件,例如发射器类型和发射器名称,还包含一些其他主要属性。
- 模块列表——发射器块下方是定义发射器的外观和行为的所有模块的列表。所有发射器都有一个 必需 模块,之后可以添加任意数量的模块来进一步定义行为。
有关粒子模块的更多信息,请参阅模块参考部分。
(#emitterlistcontextmenu)
发射器列表快捷菜单
右键单击 空列可以创建一个新发射器,右键单击现有发射器将会调出一个可以直接对发射器执行的潜在操作列表,例如更改发射器的名称或类型,以及向发射器添加各种行为模块。

(#detailspanel)
细节(Details)面板

细节(Details) 面板包含一个标准的虚幻编辑器4细节窗口。在这个窗格中显示的属性取决于当前在Cascade中的选择。例如,如果选择了粒子模块,就会显示该特定粒子模块的属性。
要访问粒子系统的全部主要属性,可以在发射器列表中不选中任何内容,或者在发射器列表中 单击右键,并从快捷菜单中选择 粒子系统(Particle System)>选择粒子系统(Select Particle System)。
(#curveeditor)
曲线编辑器

Cascade界面还包含标准的虚幻编辑器曲线编辑器窗口。该窗口允许用户调节粒子生命周期或发射器生命周期中需要变化的任意值。简而言之,它定义随时间而变的任意值。为了使任何属性(通常来自于粒子模块)能够在曲线编辑器中编辑,该属性需要具有使用曲线的“分布”类型,如DistributionFLoatConstantCurve。有关使用“分布”的更多信息,请参阅“分布”部分。
请参阅曲线编辑器用户指南页面以了解更多详细信息。
要向曲线编辑器添加模块,单击模块左侧显示的绿框。请注意,图表编辑器中显示的模块颜色是在创建模块时随机确定的。该颜色可以在“属性”(Property)窗口中进行更改,方法是选择模块,然后修改模块编辑器颜色(Module Editor Color)属性。
(#navigation)
导航
按钮 | 操作 |
---|---|
![]() |
|
鼠标左键拖拽 | 四处移动曲线视图,就像平移正交视图一样。 |
鼠标滚轮 | 均匀缩放曲线。 |
![]() |
|
鼠标左键拖拽 | 仅横向放大视图。 |
鼠标右键拖拽 | 仅纵向放大视图。 |
(#addingcurvestothegraph)
向图表添加曲线
曲线不会自动出现在图表编辑器中。它们必须先发送到编辑器,然后才能对它们进行编辑。在每个粒子模块块上都有一个小的绿色曲线图标。单击该图标会将该模块的任何可用曲线发送到曲线编辑器以供调整。
(#removingcurvesfromthegraph)
从图表移除曲线
有时,您可能在编辑完曲线后,需要从图表中抽走曲线。只需 右键单击 曲线编辑器中该曲线的块并选择_移除曲线(Remove Curve)_即可。

(#creatingpointsonthegraph)
在图表上创建点
请注意,您需要确保正在修改的“分布”是“曲线”类型(如DistributionFloatConstantCurve),然后才能添加多个点等。
要在图表编辑器中创建点,在所需值的样条上 按住ctrl并单击左键。最简单的方法是使用上文提到的复选框关闭所有其他模块。所有模块都是从0开始,并在时间0处有一个键。在时间轴上任意位置的样条上 按住Ctrl并单击左键 会在此处创建一个点。这个点可以任意四处拖动,但如上文所述,如果样条表示的是矢量(XYZ),那么会在时间上移动该矢量的所有3个键,而值不动。
在关键点上 单击右键 将调出一个菜单,让您可以手动输入该关键点的时间或值。如果这个键位于彩色曲线中,您还可以使用取色器选择它的颜色。
如果模块是ColorOverLife,则渲染的样条反映的是当时的颜色,而点将被着色以反映该样条的特定通道。

(#modules)
模块
模块是定义特定行为的关键所在。每个模块向系统添加一个方面的粒子行为,例如在哪里产生粒子、粒子如何移动、粒子颜色等等。
要向发射器列添加模块,可以在粒子的空白区域上 单击右键,并从快捷菜单中选择发射器。

(#moduleinteraction)
模块交互
理解模块的计算方式十分重要。模块行为是叠加的,但影响同一个值的任意初始模块将彼此覆盖,除非另有指定。例如,_Scale Color/Life_模块_影响_粒子的退出颜色,而不是替换颜色。
这种计算在发射器堆栈中自顶向下运行。例如,影响粒子颜色的任意模块都将覆盖它上面的任何类似模块。因此,最好将最重要的模块排列在靠近堆栈顶部。
(#distributiontypes)
分布类型
分布是指以高度特殊化方式设计为数字的特殊数据类型。任意粒子模块中的大多数主要属性都分配有分布类型。这些分布可能将该属性定义为有一个值、一个范围或沿着曲线插值。
您将使用的分布类型取决于属性。例如,如果想要所有粒子的生命周期都是5秒,则_DistributionFloatConstant_允许容纳一个值。但是,如果想要粒子生命周期是2-5秒之间的随机值,则改用_DistributionFloatUniform_,可以指定一个范围的值。
对于新用户,分布可能起初有点令人困惑,但很快会意识到,在处理粒子系统中的各种属性时,您有相当大的自由。有关更多详细信息,请参阅分布参考页面。
(#PartileSystemLODs)