Random Things - imbueFX

One element I rely on heavily in materials are all things procedural. It’s important to define what that means (at least in my opinion), which is defining things mathematically rather than just looking up a texture.

While this does start with an actual texture of an eye, this little guy has all sorts of movement and character to it because of elements defined in the material. One element is the 8-bit feel of the screen.

Here’s a trick I use very, very frequently: In the context of UV coordinates, you think of these typically being a 0-1 range lookup into a texture.

If you think of these values as linear curves, we can adjust those curves to appear more stair-stepped, that we render “blocks” of the same texture coordinate over and over.

Another way of visualizing the difference between linear to stepped is just with a line graph. This is often called a “stepped curve”, as it actually resembles steps.

The most basic form of achieving this in a material is with this setup here.

With this knowledge, we can apply it past coordinates and also use this over time to give a staccato feeling to movement. This is really powerful with things like lightning, tech screens, you name it. Here’s an example of a fractional time value going from 0 to 1 with 8 steps.

Where we are taking a normalized set of values, multiply by the amount of steps we want, and using something like ceil/floor/round/truncate to give us whole integers, then dividing them back down by our amount of steps to bring everything back to 0-1.

We can combine these multiple approaches together like in the example below.

Where literally everything is generated procedural, even down to the little LCD circles. The sweep is a simple linear gradient that’s stepped, but also pans up using stepped time.

22 Likes