Sorcar - Procedural modeling in Blender using Node Editor

Hi @aachman98,

I’m having issues with the latest releases 3.1.0 and 3.1.1. I can no longer render out without a crash in 2.81a and 2.82 latest daily.

Sorcar objects will render fine in the viewport with Cycles and Eevee but as soon as I hit F12 the nodes turn red and the objects will begin rendering as the plain Input objects e.g. an ISOspher then before finishing the render blender will crash to desktop.

None of the node trees are complex, just some input objects, pokes and merge objects animated with Scene Info etc.

Cheers

1 Like

Great job @aachman98 for the add-on! Finally allowing me to model in a non-destructive way in blender. I am just starting and I need to generate a random number to select a vertex index yet the number node doesn’t have a seed when turned into random mode (I’m on a mac, and using blender 2.81a). Thanks!
Screenshot 2019-12-13 at 16.55.05

1 Like

There’s a seed input, but it’s hidden by default. Hit n in the Sorcar node editor to reveal a panel on the right. There you find additional node inputs in the item tab under properties.

@aachman98, just found Sorcar and I’m blown away. Great job and many thanks for your work!

3 Likes

Awesome. Thanks!

Thanks for pointing it out. Maybe it has to do with bpy.app.handler (I am assuming you had realtime updates turned on). Can you tell me what F12 key is the shortcut for?

@putr_corps Completed the implementation of “Material Parameter” node:

I guess the “Variable” node can also be implemented like this.


And, with this…
Screenshot from 2019-12-13 23-04-41
Just hit the 200 nodes mark! :smiley:

5 Likes

Looks good! I think a variable could have more general use cases, but this is also useful , I have to test it.
Oh, and I saw that you are playing with noises :slight_smile: how is your implementation? Could we use those noises as inputs, for example, for a Displace modifier? or mix between textures? I would love to see it working and forget to touch the properties panel :smiley:

Thanks again for your work @aachman98 and long live blendini ! :joy:

1 Like

HOLY CR*P!
I just realised that ANY variable can be drawn in the layout:

This changes quite a lot things…


It actually is based on these functions: https://docs.blender.org/api/current/mathutils.noise.html
I don’t know if float output can be used in displace modifier. Maybe a texture generated FROM these nodes will help. I’ll see if generating textures using a math expression is possible…

3 Likes

Hi! I’m trying to use Sorcar to model modular building kits, such as walls and floors. I tend to create several different sizes, and also different angles for corner combinations (15, 30, 45 deg, etc.). I’m sure there’s a way to automate this, but I’m not able to think about the right process here. Automating this would also rule out metric errors (like me messing up the grid).

This is what modular kits look like:


Right now, I’m drawing my base wall shape using a curve profile. From there, my script extrudes the curve into a wall of size X. Then I copy that, create different wall sizes.

I then manually add edge loops and carve the windows and doors.

Next step, I would duplicate everything and use the Spin modifier to create the necessary angles. I’m trying to find a better way to automate the rest of the process using your tool. Do you have any sample that could help me get started? @aachman98

2 Likes

Hello, @aachman98 Some more questions.

  1. Where can I add object constraints?
  2. Is there a rename node? Now when I rename the object, it will change back to “Object” if I preview another node. I wonder if there is a node for renaming objects?
  3. Sorcar tends to make Blender crash mostly when I press Ctrl Z, and then “Set Preview” again. Just want to let you know.
  4. I think I just encountered another bug. I created a grid, and selected two faces that were not connected, and I extruded it along the Z axis. Then I tried to loop cut one of the pillars horizontally, as I adjusted the factor, the edge loop jumps back and forth between the two pillars. Like the short video down below:
    https://media.blenderartists.org/uploads/default/original/4X/0/7/2/072e2e55a9ff5b53eea6a5349a9e3bbfba2a4791.mp4
1 Like

Hello @aachman98 again ! I love this addon but without a clear documentation I really can’t understand how it works. Like for example, I want this simple effect that you already showed earlier: extrude faces of grid at a random amount and I can’t seem to make it work. I know that the problem is with random numbers generation, the loop is taking only one number and applying it for all faces instead of generating a new number for each face. So what am I doing wrong?


I tried connecting the index to the seed so that each face index would change the seed and therefore generate a different number but it didn’t work. Thank you for you help!

F12 = Render.

I can obviously see other people using Sorcar in the thread is no one else having this issue when it comes to rendering? OK, I’ve done a few tests and it appears the crashing is being caused by the Scene Info node. If this node is in a tree and connected Blender will crash. Take the node out of the tree and the scene will render but of course no animation.
Hope that helps.

Thank you @aachman98. It’s certainly strange because I’ve been using Sorcar for some animated content then I upgraded 2.81a and 3.1 etc and now I get an immediate crash on render. Ah well serves me right for not keeping stable backups…

Thanks for all your effort, it’s appreciated.

2 Likes

Sorcar v3.1.2 is released!

Changelog:

  • Added noise nodes (cell, fractal, voronoi, …) in a new category “Noise”
  • Added array operation nodes (add, remove, search, …) in a new category “Arrays”
  • Added “Material Parameter” node
  • Renamed “Edit Mode” node to “Set Selection Mode”
  • Moved “Get Element” & “Make Array” node to “Arrays” category
  • Added selection type input socket in “Set Selection Mode” node
  • Added custom overridable method for socket layout drawing
  • Removed redundant sorcar_updater folder (also added in gitignore)

I was thinking of making a mansion using modular assets made in sorcar, but I just can’t find the time. Look at @putr_corps’s post for a method to generate variations in windows:

There isn’t a node for it yet. I’ll add it to the list.

There is an input socket “Name” in all input nodes which can be used to change the object name (hidden by default, see in N-panel)

Thanks, it is a known bug. Simply deleting the generated mesh before pressing “Set Preview” would do the trick. The way blender handles object references is very weird (all references invalidate on undo)

Thanks for pointing it out. I guess it has to do with which face gets extruded first. Again, the way Blender works baffles me…
I’ll open an issue for this.

The loop nodes, if used correctly, will force the number node to re-execute and generate a new number (next in that seed). You need to select the component first, and then extrude it rather than extruding them all. Also, the “Array” input socket expects an array of indices of components, which can be obtained by a “Object Info” node.
Don’t worry, I’ll create simpler “For-Each Component” nodes by next release which will work as you would expect.

I tried to fix it in the latest release (3.1.2). Update the addon and try to render the scene again. If it still doesn’t work, then I’ll look into internal rendering workflow.

6 Likes

Contrariwise here. I’ve got the crash on 2.80 some time ago, now on 2.81 not anymore… just did cube node + f12 and rendered ok.
Mac Os 10.14.3 Blender 2.81

Thank you!

Could be due to the daily build issues.
Let’s wait for a stable version before changing anything further

Why you doin’ this to me, Robert…

1 Like

How to use noise nodes:

Multiple noise nodes can be added/multiplied together to make different types of terrains.
I will work on optimising the for loop as it takes about a couple of seconds to generate 10x10 points. As the grid subdivision increases, the time would increase significantly.

2 Likes

Oh, Robert. (Take two)

2 Likes

I’m afraid it’s still not working for me in 2.81a. From now on I’ll do all my testing in the latest stable build so you are not chasing issues in daily builds.

I still get an immediate crash when hitting render. Nodes still turning red before crash.

Realtime update stops working when I reload the blend file. It’s works with a fresh nodetree but as soon as I save the blend and come back to it the next day there’s no realtime update. I have to reset the Scene Info node with realtime unticked then turn it on again and node will start updating. Sorcar crashed with Eevee and Cycles.

I’m on Win10, latest nVidia Studio Drivers.

If there is any more information that I can give you that can help you diagnose this issue please let me know.

Thanks.

Update The Scene Info node will cause a crash if it’s in a node tree but not connected and realtime option is checked. The workaround is to make sure the Realtime option is unchecked before hitting render and the scene will render fine. However…

If the Scene Info node is connected the values no longer update when an animation is rendered out so the object no longer animates.

So I hope that extra info will help narrow down the search for the fix.

Update 2.0
***I have just confirmed this exact same crash on Macs too. 2.81a and Sorcar 3.1.2. Mojave.
Scene Info node in the node tree as soon as realtime option is checked there’s a crash on render.

1 Like