Rosen Kazlachev, has published an article on his amazing experiment with Substance Designer.

### Rosen Kazlachev, has published an article on his amazing experiment with Substance Designer. The artist has built a complex spiral generator that lets him control size, pattern, color and other parameters.

##### Here goes the breakdown from the artist:

I started this project a few weeks back during my lunch breaks at work. At first I just wanted to learn a bit about FX maps. There’s some tutorials out there, but I can’t say it’s enough to get you started. Luckily for us, the good guys at Allegorithmic allow us to dive into their nodes and see how they’re set up- love this! Of course, if you’re delving in there, you want to know some Math. Luckily for us, there’s a lot out there to read from and basic Math could get you to at least creating your own Noise Generator. Honestly, I got hooked on that last Summer when I started learning Houdini. You can apply pretty much the same principles in both SD and Houdini, keeping in mind that its either 2D or 3D.

In that regard, a big shout-out to the guys at Entagma and Anastasia Opara! Amazing tutorials and a great motivation!

Sunflower Substance here:

So, let’s get this breakdown started. Basically, you have a loop that will draw some spiral with N number of points/shapes/. At some point it might resemble the Splatter Circular, but it very clearly isn’t.

### Base Controls

- Number – Controls the number of iterations(how many shapes you get). The more you increase this number, the bigger radius you get.
- Seed – Just a global seed for all the random functions.
- Position Random – offsets the shapes by a random amount. Leads to interesting results in some cases: you could replicate a Cells 1 node to some extent with the correct setup
- Radius – Global Radius. rule of thumb: more iterations, smaller Radius and vice versa.
- Circle – Maps the shapes to a circle, rather than a spiral
- Golden Angle – Sets the angle of rotation to be ~137,5 degrees.
- Spiral Pattern – if Golden Angle is set to False you can use this slider to adjust the pattern

Random Colour, Random Scale, Random Offset.

### Pattern and Colour

- Pattern – this is pretty much the basic stuff, image input and all the shapes you can get from a basic tile generator/shape node
- Random Colour- random colours + a control slider if set to True
- Blending mode – only added Max and Add
- Number Colour – I’ve used this naming in a few places in this node. Number basically means Iteration number. So basically, you can get white to black radiating from the center or invert that.

### Size

- X Size
- Y Size
- Scale
- Random Size – randomizes X and Y seperately. Slider control if True
- Scale Random
- Scale Random Seed
- Scale by Position – scales the shapes by a Position vector we’ve calculated in the FX map
- Scale by Rotation – scales the shapes by an angle we’ve calculated in the FX map
- Number Size Control – like the Number Colour function, but for scale

### Rotation (Orientation)

##### Best part of the generator for me

- Spiral Rotation – orients the shapes to follow along the spiral
- Constant Rotation – a constant rotation angle for all the shapes
- Random Rotation
- Inward Orient – orients all the shapes facing the center. Results may vary, have a Transform 2D to correctly orient the shape beforehand
- Outward Orient – reverses the Inward Orient
- Negate – Negates the Inward/Outward Orient (*(-1))
- Negate Lerp- blends between the Orient and the Negated Orient
- Negate Control – the fun part starts here! Simply put- gives you X number of orientation axis. You could do a lot of crazy stuff with this…like knitting in a spiral/circular pattern.

Did I mention you could knit with that? Just like my grandma used to do it.

negate lerp controls