Generista is a powerful Figma plugin that lets you apply generative design techniques to create amazing artwork without writing code. There are many ways you can use it. Here are just a few of them:
You can think about the plugin as a grid generator that clones an object you select and applies a bunch of modifiers to change some properties of this object. By doing that, you can create a wide variety of patterns.
There are five modifiers you can experiment with:
The general flow of creating generative artwork with the plugin looks like this:
Here is an example of generating a grid of items and randomizing its rotation property:
It generates a grid with an object you selected by the size of C (columns) by R (rows) and offset for X and Y axes.
The 2D grid generator works very straightforwardly. Though you can also use it to create a 1D sequence by setting the number of columns or rows to 1.
It might be useful for creating different types of graphs.
You might also want to generate a certain number of clones without any offset at all to make effects like this:
The GRID / RADIAL tabs at the top of the block switch between the two layouts.
RADIAL places the clones on rings around the object you selected: the object becomes the centre. Choose how the rings are filled:
Every modifier works with RADIAL too. In PROXIMITY, the pad covers the whole circle: U runs left to right, V bottom to top, and 0.5 / 0.5 is the centre. Put the point in the middle to grow the effect from the centre out.
Every grid is built from a seed: a number that drives all RANDOM and NOISE picks. The same seed with the same settings always rebuilds the same grid, so you can always come back to a result you liked.
If you select an object that has different variants, you can generate clones within all its possible permutations. Using variants, you can encapsulate the randomization of colors, shapes, or even images.
There are three modes to randomize variants:
For each generated clone, the plugin randomly selects one of the possible permutations. It's completely random. Each pick isn't affected by what was picked before. It doesn't have memory.
This mode allows you to generate all permutations in the order they were defined in the master component. If the number of clones was bigger than the number of possible permutations, the sequence would start over.
This mode combines the previous modes: random and sequence. In ranseq mode, it sequentially generates all permutations but in random order.
As shown in the example below, each row uses a unique color. But their order is randomized.
Before we continue discussing the rest of the modifiers, I would like us to look at the difference between RANDOM, NOISE and PROXIMITY.
Random works the same way you roll a dice. Each roll result is independent of the previous rolls.
If you roll a dice six times, you can get something like [1, 4, 3, 6, 6, 1] or [6, 6, 6, 6, 6, 6].
In Generista, you can specify the range for random values or define a set of values, and then the plugin will randomly pick one of them.
NOISE introduces a form of "randomness" in which each outcome depends on the previous ones. NOISE is great for generating organic patterns.
In the case of rolling a dice, you might get [1, 2, 3, 2, 3, 4] or [3, 2, 3, 4, 5, 6].
PROXIMITY isn't random at all. Each clone gets a value based on how far it is from a point you choose: F (from) at the point, T (to) at the distance R (radius) and beyond. It's great for radial gradients, vignettes and focus effects.
The grid is mapped to a square from 0 to 1: U goes from left to right, V from bottom to top. Drag the point on the pad or type U and V. The dashed outline shows the radius; R = 1 is the full width of the grid.
Easing shapes the transition from F to T: linear is even, easy-in stays close to F longer, easy-out moves away from F quickly, and in-out combines both.
Because PROXIMITY doesn't use randomness, the seed doesn't change it.
This modifier allows you to manipulate the rotation property of a clone.
This modifier allows you to manipulate the opacity property of a clone.
You can use the RANDOM/sequence algorithm with 0 and 100 to emulate the On/Off state.
This modifier allows you to manipulate the scale property of a clone.
This modifier allows you to manipulate the position property of a clone.
The full potential of the plugin comes with mixing different modifiers. The possibilities of what you can create are endless.
You can also use it as a particle generator!
CONFIG shows all the plugin's settings as text. Use it to save a look you like, share it with someone, or bring a recipe back.
Both tabs accept either format. A recipe looks like this:
c=8 r=12 x=64 rot=45,-45 sc=0.5..1 op=noise 0..100 pos=-8..8 seed=random
Keys:
Modifier values: 45,-45 picks from a set (RANDOM/sequence), -45..45 picks from a range (RANDOM/range), noise 0..360 uses NOISE, prox 0..360 uses PROXIMITY, and off turns the modifier off.
In JSON, the version field shows which plugin version wrote the config. It's ignored when you paste one.
Generista also runs from Figma's quick actions bar (⌘/ on Mac, Ctrl+/ on Windows), without opening the panel. Select an object, type Generista and pick a command:
Both commands start from your last settings, roll a new seed unless you give one, and close the plugin when the grid is ready.