Kelly Recco discusses the possibilities of the brand new procedural features in Substance Designer, comments on their advantages and limitations, and explains how the cute little procedural bridge was created using Substance Designer's latest tools.
In case you missed it
You may find these articles interesting
Since the last 80 Level article, I have been working on procedural material under the theme "cyberpunk". The idea was to make light trim sheets and to expose several parameters to customize every trim. This was the last project before the crazy announcement made by Substance. I have been waiting for a chance to try procedural modeling in Substance Designer for a long time. I really like procedural stuff! I started with a simple spiral staircase to familiarize myself with the logic and the new nodes.
And after this test, I started working on a procedural bridge.
Testing Out the Updated Substance Designer
I like the "Send to" feature which is very handy! No need to waste time looking for where to put the SBSAR file. And I really like the RT Shadows node, I often use the Shadows node in my work now so I'm very happy to have more control with the RT shadows.
I find the procedural modeling part to be like texturing. The workflow is non-destructive, you can change and expose node settings whenever you want, and see the result in real-time. We just have another "Z" dimension for more fun. And the funny thing is that you can combine both procedural texturing and modeling!
Creating the Bridge
This project is my second test using procedural modeling in Substance Designer. There may be parts that I don't follow the right way, but I like to experiment and discover by myself and try things on my own. My pleasure is to find a solution to do what I have in mind.
At the beginning of this project, I wanted to only make a bridge, but during the process, I had a lot of fun and I added the soil, then the water and the rocks, and finally why not add some grass too? I stopped with the grass because the model takes too long to update when I change the settings.
There is my final graph:
The poles, the guardrail, the border of the bridge, and its base merged together give my final bridge.
So starting with the base, some nodes of this part are used for other bridge parts, especially this:
The fun part with this is that when I change the length of my bridge it adds or removes planks. This part is controlled with the UVs.
I chose to do planks as a texture rather than a 3D piece. I already had a texture for that and it allowed me to test the combination of the two. I expected to see problems with the tessellation but I was surprised to see that it worked well.
Now, this part is done. I can move on to other elements.
For the part of the border of the bridge, the process is similar. I begin with curves and create geometry with the Sweep Curve node. The Sweep Curve node is a powerful node to create geometry from a profile and a curve.
The Mesh node decimate is used at the end to reduce the number of polygons.
The same process works for the guardrail.
The most difficult elements are the poles, I had difficulties with them. In my head, I wanted to put the poles on the curve but without changing their orientation. But in fact, the scattering on the curve doesn't allow this, the curve always affects their directions. Maybe someone has a solution for this.
My fallback solution was to place them on a straight line and change the position to Y, and I used the If-Else SceneTree node to switch between 5 or 3 poles: if my length was greater than 140 I had 5 poles, if not I had 3.
The pole guardrail and border of the bridge use the same materials. But the annoying thing is the UV’s display doesn't work well.
I used color to find my edges, I found that funny to do.
Here's the bridge all complete.
For the ground: this part drives different elements in my design.
What I did for the ground is very simple. I subtract with the boolean and extrude the result to have a geometry.
Here's a simple texture for the grass:
The same process is used for the water but the boolean is an intersect.
Rocks are more fun: I used the Collection node to have different orientations and scales for my rocks. And I scattered this collection across the curves.
The same idea went for the alpha grass but I scattered on the geometry instead of a curve.
Here is the final result:
I didn't want a lot of settings in the final scene. So, I opted for a single parameter that determines everything at once (the number of boards, the number of poles, and the amount of grass). Of course, it is a non-destructive workflow, the possibilities can be changed easily, for instance, you can use a parameter to drive the height of the bridge.
Thoughts on Substance Designer as a Procedural Modeling Tool
I did two models in Substance Designer. The first model was the spiral staircase. It was the first exercise I did with Houdini. I wanted to try it in Substance Designer. And the second one is the bridge. I still have a lot to learn with this tool but so far what I have to say is fun, fun, fun!
It is difficult not to think about Houdini when we speak about procedural modeling. Of course, Houdini is many years ahead of Substance Designer, and many basic nodes are missing in Substance Designer, like Copy and Transform (or maybe I didn’t find how to reproduce this node in SD). Making procedural modeling in Substance Designer today is just for fun (and I had a lot of fun). But I will follow this new feature because the perspective to do everything procedurally (texturing and modeling) in the same software is really expected on my side. I love Substance Designer so much and I’m sure that the fabulous team of Substance Designer can make an incredible tool to use in production!
I also quickly tried Substance 3D Stager. It is incredible, having a good rendering is really easy. I can have my material library, it is very nice. I think Stager will be my new favorite software to quickly make nice renders. There are some things to improve like the exposed parameters from my SBSAR files don’t seem to work in Stager. But it’s already amazing at this point.
Thank you for reading and I hope I made you want to try procedural modeling in Substance Designer!