Motion
Get Motion

ReferenceMaterial nodesMath

Rectangle

A box, with rounded corners if you like; Size is half its width and height.

Mathrectangle

Inputs

PinTypeStarts atNotes
UVpvec20–
Centrecentrevec2(0, 0)–
Sizesizevec2(0.3, 0.2)–
Corner Radiusroundnessfloat0–
Softnesssoftnessfloat0.005–

Outputs

PinType
Maskmaskfloat
Distancedistancefloat

The code it becomes

What Studio writes for the graph below: a few lines of the material's shader, worked out for every pixel.

void mainImage(out vec4 fragColor, in vec2 fragCoord){    vec2 n1_uv = (vec2(fragCoord.x / iResolution.x, 1.0 - fragCoord.y / iResolution.y) * vec2(1.0, 1.0));    vec2 n1_centred = (vec2(fragCoord.x - 0.5 * iResolution.x, 0.5 * iResolution.y - fragCoord.y) / iResolution.y);    vec2 n1_square = (vec2(fragCoord.x, iResolution.y - fragCoord.y) / iResolution.y);    float n2_mask = (1.0 - ((0.005) > 0.0 ? clamp(max(lib_sdBox(n1_uv - vec2(0.0, 0.0), vec2(0.3, 0.2), 0.0), 0.0) / (0.005), 0.0, 1.0) : 1.0 - step(lib_sdBox(n1_uv - vec2(0.0, 0.0), vec2(0.3, 0.2), 0.0), 0.0)));    float n2_distance = lib_sdBox(n1_uv - vec2(0.0, 0.0), vec2(0.3, 0.2), 0.0);    fragColor = vec4(vec3(n2_mask), 1.0);}

In a graph

Texture coordinates into the node, and the node into the material, as Studio draws them.