Skip to content

The graph editor

The graph editor draws how a value changes over a particle’s life. It opens from any row of the Properties panel that has a ⋯ button. Exercise 4 uses it for the first time. This page lists everything it can do.

What it makes possible:

  • A fade, a swell, a pulse or a sudden step, on any graph row: Size, Speed, Transparency, Brightness and the rest.
  • A random spread, so that no two particles are exactly alike.
  • Smooth bends in place of straight lines, shaped with handles or picked from a preset.
  • One graph written to several axes or several emitters at once.
  • A graph carried to another row, another emitter, or a script.
ToDo this
Open on a graph rowPress ⋯ on the row.
Open on an axis row (Size, Displacement, Rotation Speed)Click the X, Y, Z buttons you want, then press ⋯. The editor opens with the graph of the first button clicked and writes to every button that is lit.
Keep the resultPress Apply. The graph is written to every selected emitter and every lit axis, as one step in Studio’s undo history.
Throw the result awayPress Cancel, X or Esc. Every emitter gets its own graph back. On an axis row, every lit axis gets its own graph back.
Start again without closingPress Reload. The graph returns to what it was when the editor opened, on every emitter and every lit axis.

The title reads Graph - Size, or Graph - Size (X+Y) for axes. With several emitters selected, the editor shows the first emitter’s graph and writes the result to all of them.

Every change shows in the viewport as it is made. Nothing is kept until Apply is pressed.

PlaceControlWhat it does
Header< and >Undo and redo inside the editor.
HeaderInvertFlips the graph upside down between its lowest and highest value.
HeaderCodeShows the graph as Roblox code, and reads code back in.
HeaderCopy, PasteCopy the whole graph, or paste the last one copied.
HeaderSliderSets the size of the editor panel, from 0.30x to 1.50x. Starts at 1.00x.
Header?Shows the list of mouse and key actions.
HeaderXCloses the editor without keeping the result.
StripPresets and twenty thumbnailsReplace the graph with a ready shape. Click Presets to fold the strip away.
Status barShow ▾Switches Envelope Fill and Bezier Handles on and off.
Status barSync, SegShown while Bezier Handles is on. See Bezier handles.
Status barEnvAdds a random spread to every keypoint. See Random spread.
Status barMin, MaxThe lowest and highest value the graph area shows.
Status barFitSets Min and Max to fit the graph closely.
Status barSimplifyRemoves keypoints the shape does not need.
FooterReload, Cancel, ApplySee Opening and closing.

A graph is a line through keypoints. Each keypoint has a Time, from 0 at the start of the particle’s life to 1 at its end, and a Value. A graph has at least 2 keypoints and at most 20. The limit of 20 is Roblox’s.

ToDo this
Add a keypointClick an empty place in the graph area. A faint dot shows where it will go.
Select a keypointClick it.
Select severalHold Shift and click each one, or drag a box around them.
MoveDrag. Several selected keypoints move together.
Move in one direction onlyHold Shift while dragging.
Move in round stepsHold Ctrl while dragging.
Move by a small stepPress an arrow key. Up and Down change the Value, Left and Right change the Time. Hold Shift for a larger step.
Set by numberDouble-click the keypoint. Enter Time and Value in the box that opens.
Read the numbersRest the cursor on the keypoint.
DeletePress Delete or Backspace, or press Delete in the box that opens on a double-click.

A spread makes each particle run a little above or below the line. A particle picks its place once, when it is made, and keeps it for life. It does not waver.

ToDo this
Give every keypoint the same spreadEnter the amount in Env. Enter a negative number to reduce it.
Give one keypoint its own spreadSwitch on Show ▾ ▸ Envelope Fill. Select the keypoint. Drag one of the two ticks that appear above and below it.
Set one keypoint’s spread by numberDouble-click the keypoint and enter Env.

The spread is drawn as a band around the line. A spread of 0.2 on a keypoint with Value 1 means the particle’s value there lies between 0.8 and 1.2.

With Show ▾ ▸ Bezier Handles off, the line between two keypoints is straight. With it on, the line bends, and each selected keypoint shows a pair of handles. Drag a handle to shape the bend.

ControlWhat it does
SyncOn, the two handles of a keypoint move as one and the line passes through smoothly. Off, each handle moves alone and the line can turn a corner. Starts on.
SegHow finely the bends are kept when the graph is saved, from 2 to 19. Higher keeps more detail. Starts at 19.

The handles are saved with the emitter. Opening the graph again shows the same bends, ready to edit.

Twenty ready shapes: Linear, Ramp Down, Constant, Bell, Inv Bell, Step, Bounce, InSine, OutSine, InOutSine, InQuad, OutQuad, InOutQuad, InCubic, OutCubic, InOutCubic, InExpo, OutExpo, InOutExpo, Smooth.

A preset replaces the whole graph. It is fitted between the Min and Max showing at that moment. On a graph showing 0 to 10, Linear runs from 0 to 10.

Copy and Paste, or the C and V keys, carry a whole graph with its handles and its spread. The copy is kept for the session. It survives a change of row and a change of selection, so it carries a graph from one emitter to another.

A pasted graph is fitted to the Min and Max now showing. A graph copied from a row showing 0 to 1 and pasted into a row showing 0 to 10 runs from 0 to 10.

Code opens a box holding the graph as Roblox code, a NumberSequence, already selected. Press Ctrl+C to copy it into a script. To bring a graph in from a script, paste the code into the box and press Import. The code needs between 2 and 20 keypoints.

The graph area shows the values between Min and Max. The Time scale always runs from 0 to 1.

ToDo this
Set the range by numberEnter Min and Max. Max must be the larger.
ZoomTurn the mouse wheel over the graph area.
Slide the range up or downHold Alt and drag, or drag with the middle mouse button.
Fit the range to the graphPress Fit.

The range widens by itself when a value is typed or moved outside it.

Simplify opens a small box with two controls.

ControlWhat it does
MinimizeRemoves as many keypoints as it can while keeping the shape, then closes the box.
Reduce sliderDragged to the right, drops more keypoints and shows how many remain. It previews only. Closing the box without Minimize puts the keypoints back.
  • At most 20 keypoints, at least 2.
  • There is no Ctrl+Z inside the editor. Use < and >. Ctrl+Z belongs to Studio: it undoes the last change made before the editor opened, and closes the editor.
  • A number typed into the row’s box in the Properties panel replaces the whole graph, handles included, with a level line.