What have I been up to lately…? KIT OPS SYNTH

Original vision for SYNTH (Credit: Chipp Walters)

I was approached a few months ago by Chipp Walters and Masterxeon101, famous for some of the most leading tools in 3D modelling such as KIT OPS and HARD OPS.

KIT OPS is able to apply a wide range of 3D objects (called INSERTs) that can be used to instantly cut and add to existing objects or create standalone ones with the goal of rapidly creating and exploring new designs. Read more about it here.

They had been interested in my generative modelling work in the Plating Generator and Shape Generator, and had a vision for an extension to KIT OPS called KIT OPS SYNTH.

The original requirement for SYNTH was to simply overlay these INSERTs in a grid like fashion on top of 3D surfaces, but with Chipp’s design patterns thinking and background in NASA we are taking it a lot further….

KIT OPs SYNTH early results, being applied with the new KIT OPS BEVEL (Credit: Chipp Walters)

Emerging features include:

  • A range of layouts can be used: Arrange INSERTs in rows, columns, grids, randomly, and around edges and borders.
  • User ‘layers’ of INSERTs to manage and apply groups of INSERTs in one go.
  • Control the frequency and placement of INSERTS with a variety of parameters: apply padding to the INSERTs, scale them individually, add random rotations.
  • Use Blender 2.91’s new Booleans feature for more accurate cutting.
  • Load and save your configurations to share with others or apply later.

This has already given rise to a variety of promising results you can achieve very quickly with SYNTH. Here is a short video of the random layout being applied using a set of INSERT cutters, by just changing the random seed value:

A short video showing SYNTH’s random layout…and this isn’t even the most powerful layout!
Results achieved in just as few seconds.

There’s still plenty of work to do and a good round of testing to be done before the first release, but I thought it would be good to show the progress so far. In the future, Chipp is looking forward to taking SYNTH to the next level with Machine Learning…but that is definitely a blog for another time.

Using L Systems to model cities

I’d been meaning to research L Systems in Houdini for some time, and wow had I been missing something. I first came across them in some of Akira Saito‘s posts where he had made some interesting mech-like beings using their organic structure:

A recent tweet from Akira Saito

I’d squinted at them before in Houdini’s L System documentation but didn’t really make sense of it. I then came across a great in-depth tutorial (if you’re as geeky as me it’s well worth the time) by the eloquent houdinikitchen who overviews the theory well with lots of examples to give a good understanding:

HoudiniKitchen’s tutorial on L-Systems

The basic idea is that you provide a set of simpl(ish) instructions called Turtle commands that describe a starting state, such as:


…which means “Branch up one (F), rotate 90 degrees (+), and then branch up twice (FF)

Then you give it more ‘simple’ rules using the same language that alter this basic structure every generation, such as:


…which says “next generation, replace all the Fs in the previous statement with the instructions here”.

This can give rise to some complex plant-like structures like the ones shipped with Houdini:

Basic L-System Tree

But interestingly you can create things like hexagonal structures as well. After a little experimentation I quickly got what looks like a snowflake:

I then tweaked the “Generations” parameter so that Houdini was part-way through a generation, which gives a more distorted structure like this:

The same hexaganol structure but at generation 4.8

I then used my own random 3D Shape Generator node and a Copy to Points node to randomly create building like structures for each point in the ‘tree’ and got this effect:

Zoomed out…
…zoomed in a bit more….
…and closer

You can download the sample file here – it will require the Shape Generator asset to work, which maybe you’ll humbly consider supporting me by taking a look at it on Gumroad here: