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.
Opening and closing
Section titled “Opening and closing”| To | Do this |
|---|---|
| Open on a graph row | Press ⋯ 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 result | Press Apply. The graph is written to every selected emitter and every lit axis, as one step in Studio’s undo history. |
| Throw the result away | Press 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 closing | Press 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.
The controls
Section titled “The controls”| Place | Control | What it does |
|---|---|---|
| Header | < and > | Undo and redo inside the editor. |
| Header | Invert | Flips the graph upside down between its lowest and highest value. |
| Header | Code | Shows the graph as Roblox code, and reads code back in. |
| Header | Copy, Paste | Copy the whole graph, or paste the last one copied. |
| Header | Slider | Sets 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. |
| Header | X | Closes the editor without keeping the result. |
| Strip | Presets and twenty thumbnails | Replace the graph with a ready shape. Click Presets to fold the strip away. |
| Status bar | Show ▾ | Switches Envelope Fill and Bezier Handles on and off. |
| Status bar | Sync, Seg | Shown while Bezier Handles is on. See Bezier handles. |
| Status bar | Env | Adds a random spread to every keypoint. See Random spread. |
| Status bar | Min, Max | The lowest and highest value the graph area shows. |
| Status bar | Fit | Sets Min and Max to fit the graph closely. |
| Status bar | Simplify | Removes keypoints the shape does not need. |
| Footer | Reload, Cancel, Apply | See Opening and closing. |
Keypoints
Section titled “Keypoints”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.
| To | Do this |
|---|---|
| Add a keypoint | Click an empty place in the graph area. A faint dot shows where it will go. |
| Select a keypoint | Click it. |
| Select several | Hold Shift and click each one, or drag a box around them. |
| Move | Drag. Several selected keypoints move together. |
| Move in one direction only | Hold Shift while dragging. |
| Move in round steps | Hold Ctrl while dragging. |
| Move by a small step | Press an arrow key. Up and Down change the Value, Left and Right change the Time. Hold Shift for a larger step. |
| Set by number | Double-click the keypoint. Enter Time and Value in the box that opens. |
| Read the numbers | Rest the cursor on the keypoint. |
| Delete | Press Delete or Backspace, or press Delete in the box that opens on a double-click. |
Random spread
Section titled “Random spread”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.
| To | Do this |
|---|---|
| Give every keypoint the same spread | Enter the amount in Env. Enter a negative number to reduce it. |
| Give one keypoint its own spread | Switch 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 number | Double-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.
Bezier handles
Section titled “Bezier handles”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.
| Control | What it does |
|---|---|
| Sync | On, 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. |
| Seg | How 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.
Presets
Section titled “Presets”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, paste and code
Section titled “Copy, paste and code”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.
Range and zoom
Section titled “Range and zoom”The graph area shows the values between Min and Max. The Time scale always runs from 0 to 1.
| To | Do this |
|---|---|
| Set the range by number | Enter Min and Max. Max must be the larger. |
| Zoom | Turn the mouse wheel over the graph area. |
| Slide the range up or down | Hold Alt and drag, or drag with the middle mouse button. |
| Fit the range to the graph | Press Fit. |
The range widens by itself when a value is typed or moved outside it.
Simplify
Section titled “Simplify”Simplify opens a small box with two controls.
| Control | What it does |
|---|---|
| Minimize | Removes as many keypoints as it can while keeping the shape, then closes the box. |
| Reduce slider | Dragged to the right, drops more keypoints and shows how many remain. It previews only. Closing the box without Minimize puts the keypoints back. |
Limits
Section titled “Limits”- 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.