Reka Grid Documentation
Reka Grid Basics
RekaGrid generates parametric shapes and places this shape instances on grid points. Each instance have follow parameters: Radius, Rotation angle, X and Y offset, Color, Alpha and it can be visible or hidden.
Grid is represented by rows and columns count, width, height and center point. Grid can be regular or hexagonal. Shape can have any points and can be triangle, rectangle, hexagon, circle. With Middle offset shape can became a star. Shelf Length can add a shelf on each point of shape. Also hard edges can be rounded with Shape Rounding Radius. Combination of all this parameters can generate complex and abstract shapes. Also Shape can have fill or stroke.
Almost all parameters have following structure:
Value + Noise + Layer
Math is the same: for each point of grid Value applies with Noise calculated for this point and applies with Layer intensity for this point.
Value is constant for all instances. If you need same radius for all instances you need to set Value and leave Noise Multiplier and Layer Multiplier equal to 0.
To add some randomness you can use Noise and animate it with Noise offset or Noise Evaluate. Also instance parameters can be driven with Layer color intensity.
1Select for Layer source any layer or precomp
2Inside instance parameter select Layer Index
and adjust Multiplier.
Finally this three values summed up for each point of grid. This allows you a lot of possibilities to animate Instances parameters.
Another control Noise&Layer Offset determines 0 point of generated noise or layer intensity. By default Noise&Layer Offset equals 0, in this condition noise have range [-1 to 1]. When Noise&Layer Offset is 100% - noise range is [0,1]. And finally when Noise&Layer Offset is -100% - noise range is [-1,0]. Same for Layer intensity. Noise have additional control Mult Layer. This Layer multiplies by noise amplitude allows to mask noise with layer.
1Elements count sets points count for shape.
2Shelf Length adds a shelf on each point of shape.
3Link Middle Offset creates a new point beetwen each points of shape and expand it outside or inside.
4Shape Rounding Radius rounding hard edges with given radius.
Scripts allows you to edit any parameter in grid. With this feature any adjustment is possible for group or individual element. It means you can for example hide any element of grid or set angle of rotation individually.
Script excecutes for every instance of grid. You can use col and row indexes [ i , j ] for individual adjustment.
In table below listed all available variables. Note that some of them is read only.
Functions allows you to get values from custom Sliders, Colors and Layers. Also to get Noise and Random parameters.
GetFloat(ind) — returns the Parameters Slider value with the given index ind [1..10]
GetColor(ind) — returns the Parameters Color value with the given index ind [1..10]
GetLayer(ind, xPart, yPart)— returns the Parameters Layer value with the given index ind [1..10] and x and y coords [0..1]
GetNoise(ind, xPart, yPart) — returns the Parameters noise value with the given index ind [1..10] and x and y coords [0..1]. Noise amplitude, scale, offsets and seed can be adjusted from Parameters -> Noises
GetRandom(ind, i, j) — returns the Parameters random value with the given index ind [1..10] and i and j integer values (indexes). Random range and seed can be adjusted from Parameters -> Randoms
Scripts is based on Lua language, so you can use built-in mathematical functions like a math.sin (x) in your scripts.
This sample demonstrate how to turn each element by 90 degrees CV from each other:
angle = (i + j) * 90
This sample demonstrate how to create wave using sine function with amplitude from Slider 1 and offset from Slider 2:
y = y + GetFloat(1)*math.sin(x+GetFloat(2))
This sample demonstrate how to scatter random colors to instances from colors list. Random range and seed can be adjusted from Random 1 parameters:
r,g,b = GetColor(GetRandom(1,i,j));
In this sample Stroke and Fill is randomized. Random seed can be adjusted from Random 1 parameters:
stroke = false
if ( GetRandom(1,i,j) > 50 ) then
stroke = true