Cascade Particle Editor Reference

Cascade is a tool for creating modular particle-based effects using emitters in the Unreal Engine.

Opening Cascade

The Cascade particle editor can be opened by double-clicking any Particle System asset or through the right-click context menu of a Particle System asset in the Content Browser. Either of these will open up that particular particle system in Cascade for editing.

Cascade Interface

Cascade is comprised of six primary areas:

Cascade_Interface.png

  1. Menu Bar - Access to saving the asset and finding the current particle system in the Content Browser.

  2. Toolbar - Visualization and navigation tools.

  3. Viewport Panel - Shows the current particle system (including all emitters contained in that system). Controls in the Sim toolbar options set simulation speed.

  4. Emitters Panel - This pane contains a list of all emitters in the current particle system, and a list of all modules within those emitters.

  5. Details Panel - This pane allows the properties of the current particle system, particle emitter, or particle module to be viewed and modified.

  6. Curve Editor - This graph editor displays any properties that are being modified over either relative or absolute time. As modules are added to the graph editor, there are controls for which to display (discussed later in this document).

Cascade_Menubar.png

File

Command

Description

Load and Save

Save

Saves the current particle system.

Save All

Saves all assets.

Choose Files to Save

Opens a dialog with save options for assets.

Application

Switch Project

Switches between any of the available game projects.

Exit

Closes the editor.

Edit

Command

Description

Actions

Undo

Undo the last completed action.

Redo

Redo the last undone action.

Asset

Command

Description

Actions

Find in Content Browser

Selects the current particle system in the Content Browser.

Window

Command

Description

Asset Editor TabsEditor Tabs

Viewport

Opens the Viewport Pane tab, which shows the resultant particle system.

Emitters

Opens the Emitter List tab, where various emitters can be added to the particle system.

Details

Opens the Details Pane tab, where the properties of each particle module can be edited.

Curve Editor

Opens the Curve Editor , which allows for the adjustment of properties via animation curves.

Toolbar

Opens the Toolbar , which provides a horizontal array of shortcut buttons for common operations.

Tool Bar

There is also a toolbar, as shown below:

Cascade_ToolBar.png

The toolbar contains the following controls (from left to right on the toolbar):

Icon

Name

Description

Cascade_Toolbar_Save.png

Save

Saves the current particle system asset.

Cascade_Toolbar_FindInCB.png

Find in Content Browser

Locates the current particle system asset in the Content Browser.

Cascade_Toolbar_RestartSim.png

Restart Sim

This will reset the simulation in the viewport window. This can also be done by pressing the spacebar.

Cascade_Toolbar_RestartLevel.png

Restart in Level

This resets the particle system, and any instance of the system in the level.

Cascade_Toolbar_Undo.png

Undo

Undoes the previous operation. You can also use Ctrl+Z.

Cascade_Toolbar_Redo.png

Redo

Redoes the previously undone operation. You can also use Ctrl+Y.

Cascade_Toolbar_Thumbnail.png

Save Thumbnail Image

Saves the viewpoint from the viewport pane's camera out as the thumbnail for the particle system in the Content Browser.

Cascade_Toolbar_Bounds.png

Toggle Bounds

Toggles the display of the particle system's current bounds in the viewport pane.

Cascade_Toolbar_BoundsOptions.png

Bounds Options

Clicking this allows for the setup of fixed bounds for GPU Sprite particle systems. Fixed bounds limit the distance GPU sprite particles can travel.

Cascade_Toolbar_OriginAxis.png

Toggle Origin Axis

Shows or hides the origin axis in the particle viewport window.

Cascade_Toolbar_RegenLOD.png

Regenerate lowest LOD duplicating highest

Regenerates the lowest LOD by duplicating the highest LOD.

Cascade_Toolbar_RegenLODPer.png

Regenerate lowest LOD

Regenerates the lowest LOD by using values that are a preset percentage of the highest LOD's values.

Cascade_Toolbar_HighestLOD.png

Jump to Highest LOD Level

Loads the highest LOD.

Cascade_Toolbar_AddLOD_Before.png

Add LOD before current

Adds a new LOD before the currently loaded LOD.

Cascade_Toolbar_AddLOD_After.png

Add LOD after current

Adds a new LOD after the currently loaded LOD.

Cascade_Toolbar_LowerLOD.png

Jump to Lower LOD Level

Loads the next lower LOD.

Cascade_Toolbar_LowestLOD.png

Jump to Lowest LOD Level

Loads the lowest LOD.

Cascade_Toolbar_DeleteLOD.png

Delete LOD

Deletes the currently loaded LOD.

Cascade_Toolbar_CurrentLOD.png

Current LOD Slider

This allows you to select the current LOD you would like to preview. You can manually enter a value or drag with the mouse to edit the number.

Viewport Panel

PreviewPane.png

The Viewport pane gives you a rendered preview of the current particle system just as it would appear when rendered in-game. It provides real-time feedback of changes made to the particle system in Cascade. In addition to the fully rendered preview, the viewport pane can also render in unlit, texture density, overdraw, and wireframe view modes and show information such as the current bounds of the particle system.

Viewport Pane Navigation

The Viewport pane can be navigated via the mouse in the following manner:

Button

Operation

Left Mouse Button

Tumble the camera around the particle system.

Middle Mouse Button

Pan the camera around the particle system.

Right Mouse Button

Rotate the camera.

Alt Left Mouse Button

Orbit the particle system.

Alt Right Mouse Button

Dolly the camera toward and away from the particle system.

F

Focus on the particle system.

L + Left Mouse

Rotate lighting. Only works on particles using lit materials. Unlit particles (most flames, sparks, etc.) will see no effect.

Viewport Pane Menus

PreviewPaneMenus.png

The Viewport pane has two menus in its upper left corner. These allow you to show and hide several features of the pane, as well as control viewport settings.

View Menu

ViewMenu.png

The View menu allows you show and hide various diagnostic and visualization features of the viewport pane. The menu includes the following options:

Item

Description

View Menu

View Overlays

Accesses the View Overlays submenu. See below.

View Modes

Accesses the View Modes submenu. See below.

Detail Modes

Accesses the Detail Modes submenu. See below.

Background Color

Brings up a color picker where you can change the color of the Viewport pane's background.

Orbit Mode

Toggles camera behavior between orbiting around the particle system and free moving in the Viewport pane.

Origin Axis

Toggles visibility for the origin axis gizmo, typically located in the lower left corner.

Vector Fields

Toggles visibility for any vector fields applied to the particle system.

Grid

Toggles visibility for the grid.

Wireframe Sphere

Shows a wireframe sphere representing the spherical radius of the particle system.

Post Process

Toggles visibility of the global post process.

Motion

Toggles whether the particle system remains stationary or revolves around the center of the grid.

Motion Radius

Brings up an entry field allowing you to set the radius of revolution for the Motion setting.

Geometry

Shows or hides the default test mesh.

Geometry Properties

Brings up the geometry properties window, where you can adjust the properties of the default geometry, adjusting placement, swapping out the mesh used, and many other options.

Bounds

Toggles visibility for the particle system bounds. These are shown as both a bounding box and bounding sphere.

Set Fixed Bounds

This activates fixed boundaries for the particle system and automatically sets the values to the largest setting calculated thus far.

View Overlay Submenu

ViewOverlaysMenu.png

The View Overlays submenu allows you to toggle a series of data readouts which give various information on the status of the current particle system.

Item

Description

View Overlays Submenu

Particle Counts

Toggles visibility of the particle count overlay, which shows how many particles are being emitted from each emitter in the system.

Particle Event Counts

This toggles visibility of the event count overlay, which shows how many events have been triggered within each emitter.

Particle Distance

Description needed.

Particle Times

Toggles display of particle emitter time feedback. This shows how long each emitter has been active.

Particle Memory

Toggles display of particle system memory usage, both for the template and for each instance.

View Modes Submenu

ViewModeMenu.png

The View Modes submenu allows you to switch between a variety of different draw modes in the Viewport pane.

Wireframe

The Wireframe view mode shows the wireframe of the particles. In the case of sprites, you will see the 2 polygons which make up each sprite.

Wireframe.png

Unlit

The Unlit view mode shows the result of the particles without lighting or post processing.

Unlit.png

Lit

The Lit view mode shows the result of the particles with lighting and post processing.

Lit.png

Shader Complexity

Shader complexity gives feedback on how many instructions are required for a particular shader. Green is the lowest value, with higher instruction values working gradually up to red.

ShaderComplexity.png

Detail Modes Submenu

The Detail Modes submenu allows you to switch the viewport window between low, medium, and high detail. These correlate to engine detail modes, allowing you to see how a particle system will appear at each different mode.

DetailModesMenu.png

Item

Description

Detail Modes Submenu

Low

Previews the particle system as it would appear when the system detail mode is set to low.

Medium

Previews the particle system as it would appear when the system detail mode is set to medium.

High

Previews the particle system as it would appear when the system detail mode is set to high.

Time Menu

TimeMenu.png

The time menu allows you to make adjustments to playback speed of the Viewport pane.

Item

Description

Time Menu

Play/Pause

If checked, the simulation is playing. If unchecked, the simulation pauses.

Realtime

If checked, the simulation plays in real time. Unchecked, the simulation only plays when something updates the Viewport pane.

Loop

If checked, the particle system will restart once it reaches the end of its cycle. If unchecked, it will play once only.

AnimSpeed

This opens a submenu allowing you to adjust playback speed percentage between 100%, 50%, 25%, 10%, and 1%.

Emitters Panel

EmitterList.png

The Emitters Panel contains each particle emitter contained within the particle system currently open in Cascade. From here you can add, select, and work with the various particle modules that control particle system look and behavior.

The emitter list contains a horizontal arrangement of all the emitters within the current particle system. There can be any number of emitters within a single particle system, each generally handling a different aspect of the overall effect.

Each column represents a single particle emitter, and each is made up of an emitter block at the top, followed by any number of module blocks. The emitter block contains the primary properties of the emitter, such as name and type for the emitter, while the modules beneath it each control various aspects of particle behavior.

Although the interface for the emitter list is rather straightforward, it does contain a context-sensitive menu that can be accessed via the right mouse button.

Emitters within a particle system are calculated from left to right along the emitter list. Click an emitter and use the left and right arrow keys to reposition the emitter along the list.

The following controls and commands apply in the emitter list:

Button

Operation

Left Mouse Button click

Select an emitter or module.

Left Mouse Button drag (on a module)

Move a module from one emitter to another.

Shift + Left Mouse Button drag (on a module)

This will instance a module between emitters, which is expressed as a + next to the module name, and the modules will share the same color.

Ctrl + Left Mouse Button drag (on a module)

This will copy a module from the source emitter to the target one.

Right Mouse Button click

Opens the context menu. Right-clicking an empty column allows for creation of a new emitter. Right-clicking on an emitter allows you to perform various functions on the emitter itself, as well as add new modules.

Left and Right Arrow Keys

With an emitter selected, this will reposition an emitter farther to the left or right in the emitter list.

Emitters

When using the emitter list, it is important to understand the basic anatomy of the emitters found within it. Here is a quick breakdown:

EmitterCallout.png

  1. Emitter column - Each one of these columns represents a separate emitter.

  2. Emitter block - This box at the top of each emitter contains the primary properties and controls for the emitter itself, such as the type of emitter, the emitter's name, along with other primary properties.

  3. Module list - Descending from the emitter block is a list of all of the modules that define the look and behavior of this emitter. All emitters will have a Required module, after which there may be any number of modules to further define behavior.

spacer.png

For more information on particle modules, please see the Module Reference section .

Emitter List Context Menu

Right-clicking on an empty column will allow you to create a new emitter, while on an emitter will bring up a list of potential actions you can perform directly to the emitter, such as changing the emitter's name or type, as well as adding various behavior modules to that emitter.

EmitterListMenu.png

Details Panel

PropertiesWindow.png

The Details panel contains a standard Unreal Editor 4 details window. The properties displayed in this pane depend on what is currently selected in Cascade. For instance, if a particle module is selected, the properties for that particular particle module are displayed.

The main properties for the particle system as a whole can be accessed by either selecting nothing in the Emitter List, or by right-clicking in the Emitter List and choosing Particle System > Select Particle System from the context menu.

Curve Editor

Curve_Editor.png

The Cascade interface also includes a standard Unreal Editor curve editor window. This allows the user to adjust any values that need to change during the life of a particle, or across the life of an emitter. In short, it defines any values which change over time. In order for any property (generally from within a particle module) to be editable within the curve editor, that property will need to have a Distribution type that utilizes a curve, such as DistributionFLoatConstantCurve. For more information on working with Distributions, see the Distributions section .

See the Curve Editor User Guide page for more details.

To add a module to the curve editor, click the green box that appears on the left side of a module. Be aware that the color of the module that appears in the Graph Editor is determined randomly when the module is created. This can be changed in the Property window by selecting the respective module and modifying the Module Editor Color property.

Button

Operation

PanMode.png Pan Mode Navigation

Left Mouse Button drag

Moves the curve view around, as if panning an orthographic view.

Mousewheel

Zooms into and out of the curves uniformly.

ZoomMode.png Zoom Mode Navigation

Left Mouse Button drag

Zooms the view in the horizontal dimension only.

Right Mouse Button drag

Zooms the view in the vertical dimension only.

Adding Curves to the Graph

Curves do not appear automatically in the Graph Editor. They must be sent to it before they can be edited. On each particle module block is a small green icon of a curve SendToCurveEditor_button.png. Clicking that icon will send any available curves for that module down to the Curve Editor for adjustment.

Removing Curves from the Graph

At some point, you may need to pull curves from the graph once you are done editing them. This is done by simply right-clicking the block for the curve in the curve editor and choosing Remove Curve.

RemoveCurve.png

Creating points on the graph

Note that you need to make sure the Distribution you are modifying is a 'curve' type (eg DistributionFloatConstantCurve) before you can add multiple points etc.

To create points in the Graph Editor, ctrl-left click on the spline for the value you want. The easiest way to do this is by turning off all the other modules by using the checkbox discussed above. All modules start at 0 with a single key at time 0. Ctrl-Left clicking on the spline anywhere in the timeline will create a point there. This point can be dragged around at will, but as discussed above, if the spline represents a vector (XYZ), then it will move all 3 keys for that vector in time but not in value.

Right clicking on a keypoint will bring up a menu and let you manually enter the Time or Value of that keypoint. If it is a key in a color curve, it will also let you select its color using the color picker.

If the module is ColorOverLife, then the splines rendered will reflect the current color at that time, while the points will be colored to reflect the particular channel for that spline.

CurveEditor_1.png

Modules

Modules are the key to defining particle behavior. Each module adds another aspect of particle behavior to the system, such as where the particles will spawn, how they will move, their colors, and many more.

Modules are added to emitter columns by right-clicking on a blank area of an emitter and choosing the emitter from the context menu.

ModuleMenu.png

Module Interaction

It is important to understand how modules are calculated. Modules behaviors are additive, but any initial modules affecting the same value will override each other unless otherwise specified. For instance, the Scale Color/Life module affects the exiting color of the particles, rather than replacing it.

This calculation runs from top to bottom within the emitter stack. For example, any module that affects the color of a particle will override any similar modules that exist above it. For this reason, it is generally a good idea to keep your most important modules closer to the top of the stack.

Distribution Types

Distributions are special data types designed to numbers in highly specialized ways. Most of the primary properties available within any particle module will have distributions assigned to them. These distributions might define that property as having a single value, a range, or to be interpolated along a curve.

The type of distribution you use will change based on the property. As an example, if you want the lifetime of all of your particles to be 5 seconds, then a distribution of DistributionFloatConstant would allow you to hold a single value. However, if you wanted the lifetime of the particles to have a random value between 2 and 5 seconds, you would switch to a DistributionFloatUniform, within which you could specify such a range.

For new users, distributions may seem confusing at first, but you will quickly see how they allow a great range of freedom over how the various properties within your particle systems are handled. See the Distributions Reference page for more details.

Tags