Sorcar - Procedural modeling in Blender using Node Editor

Sure thing! Meanwhile, if you want, you can view the code in an IDE or code-text editors (like VSCode, Atom, Sublime) to collapse all the classes/function definitions for a cleaner view:

2 Likes

yep definitely better in a code editor ! but not being a coder myself, i feel less “frightened” when trying to read some separate .py than scroling in a long one ^^ (may be just me and my poor python skills though) and it feels easier to fork/push. Anyway congrat, keep up the great work man ! :slight_smile:

Procedural stairs:


sc_stairs.blend (1008.6 KB)

12 Likes

Basic Scatter ;

5 Likes

A useful tip:

Switch node has universal sockets. That enables us to connect any operations, meshes or numbers nodes.
So…

This way, you can remove the redundant nodes as same operations get applied on each input grid.
And nice work, by the way! :+1:

EDIT:
Like this:

5 Likes

Well, this was easy :smiley: :


Seems like port to Blender 2.8 isn’t going to be difficult!
But…

This might be a recurring problem:

The function definitions changed in 2.8 (for example “radius” argument is now replaced with “size”)
Inevitably, I’ll have to edit all the nodes (~ 160) to get it working. It will only take about 2-3 days, but I will begin after the stable release (hopefully the API will get locked down by then)

13 Likes

Procedural 3D grid:



sc_gridpanel.blend (1.2 MB)

5 Likes

I just wanted to say, what you do is awesome. I’ve not had the time to test this addon yet, but as soon as you have a 2.8 version, I will. :smiley:
Keep it up! :+1:

2 Likes

Organic Sphere :

3 Likes

Basic idea Loop Cos function :

2 Likes

Procedural warehouse:



sc_house.blend (701.5 KB)

9 Likes

Just completed this procedural fan :smiley::


Houdini tutorial: https://www.youtube.com/playlist?list=PLJW_LVbUORhlQTHPilNAgPSOAKIqlGg-L

I started with similar technique as shown in the above tutorial (upto part 1), but then I had to pivot to a different solution because some of the nodes used in the video aren’t available in Sorcar (…yet :stuck_out_tongue_winking_eye:). For example, the actual fan (inside the container) is made by slicing a cylinder, solidifying it and then spinning the resulting mesh (around X axis), whereas they simply used “blast” & “group range” nodes in Houdini.

Each component of the model (fan, container, center cylinder, corner cut, etc.) is completely procedural, controlled by parameters like width, size, radius, etc. I usually don’t tell this obvious stuff, but I’m feeling a bit lazy to create a video showing it :zzz::see_no_evil:

2 Likes

Another way of creating the fan (similar to what the tutorial does):
Take a cylinder with a hole in the middle, rotate the outermost edge by some angle, select nth faces and extrude them upwards

EDIT: But it would be difficult to rotate each wing on it’s own axis. Since this is a type of exhaust/vent fan, the wings must be tilted in a specific manner.

1 Like

Sin wave on cylinder faces:

EDIT:
Simple sin wave using a plane:

EDIT 2:
Two sin waves with x & y coordinates of location of each face on grid:

1 Like

Has anyone tried Roads?

Mh … ((I’m still trying to make my assets procedural, but I run into a misunderstanding of the addon. Maybe someone has an advice?

I was hoping that with the help of the Scatter node I would be able to insert elements of my houses along the grid (instead of vertices), but I need the correct rotation at the corners to hide the UV seams

And sometimes I get errors like the one on the screen. In addition, Scatter sometimes works incorrectly, or I do not fully understand how to work with it.

Roads? Where we’re going we don’t need roads
(sorry, couldn’t resist)

5 Likes

Just played with it, it’s great!

Is there a way to get the mesh to automatically update every frame? (I’ve put some keyframes on a variable, but the mesh only updates if I press refresh mesh in the Refresh Mesh Output node.

Space -> Realtime Mesh Update

Working on it! Trying to make something like this:
image
The road is simple enough, but I will try to create random sign-posts with variable density. Maybe turns as well…

Sorry for that, it is still a W.I.P. Although you can solve the rotation problem by rotating the mesh and applying the transform BEFORE scattering. I’ll also take a look at the error. Thanks for pointing it out.

Actually, no. Even with the realtime preview on, it wouln’t update the mesh at every frame as I specifically changed that behaviour for more optimised workflow.
If you want, I can re-introduce that in upcoming versions (as a toggle maybe). But I was aiming more for static modeling rather than dynamics. AnimationNodes addon is better suited for that.

2 Likes