Sorcar (formerly ProcGenMod) - Procedural modeling in Blender using Node Editor

Thanks. I’m just curious - since this kind of thing has come so far IN BLENDER itself, is anyone looking into this kind of thing, and even working on it, where the computer actually generates part of the 3d model BY ITSELF??!! :
https://www.autodeskresearch.com/projects/dreamcatcher

Without lookinig at the link, I’m guessing it’s some form of genrative AI?

Hey is sorcar 3.0 on hold? Or is there some active development?

Hi, sorry for the late response.
Sorcar 3.0 is still in development, although it’s going slower than before. I’m trying to figure out a couple of problems related to loops and node groups. I also want to avoid all those petty issues that were present in earlier versions. As of now, 76 nodes are completed (7 categories) and the modifier category will be done by tomorrow (with 2 new modifier nodes!).

Maybe I will upload the incomplete version this week, and you can let me know if there’s anything to improve.

10 Likes

I would love to test it, even if it’s incomplete.

2 Likes

Well, I’ve got good news and bad news…

Bad news: Won’t be able to work on this project for a week (at least not until 17th). I will resume working on group nodes as soon as I find the time.

Good news: https://github.com/aachman98/Sorcar/releases/download/v3.0-alpha/sorcar-v3-alpha.zip
(Hopefully it IS good news… :upside_down_face:)

11 Likes

this is bge in blender 2.8 using 2.8 guts.

armature modifier skins vertex using cpu

we need to overide the drawing of skinned objects with a shader skinning them on the gpu instead
then bam -> modern game engine in blender.

also a terrain shader is a nice touch,

Trying to enable latest sorcar V 3.0-alpha and I get an error:

_____________REGISTER SORCAR_________________
Exception in module register(): C:\Users\Dimitar\_misc\blender\_code\addons\Sorcar\__init__.py
Traceback (most recent call last):
  File "C:\Users\Dimitar\Documents\_apps\blender-2.80-windows64\2.80\scripts\modules\addon_utils.py", line 384, in enable
    mod.register()
  File "C:\Users\Dimitar\_misc\blender\_code\addons\Sorcar\__init__.py", line 64, in register
    classes_ops = import_ops()
  File "C:\Users\Dimitar\_misc\blender\_code\addons\Sorcar\__init__.py", line 39, in import_ops
    for i in bpy.path.module_names(bpy.utils.user_resource("SCRIPTS", "addons/" + __name__ + "/operators/")):
  File "C:\Users\Dimitar\Documents\_apps\blender-2.80-windows64\2.80\scripts\modules\bpy\path.py", line 349, in module_names
    for filename in sorted(_os.listdir(path)):
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\Dimitar\\AppData\\Roaming\\Blender Foundation\\Blender\\2.80\\scripts\\addons/Sorcar/operators/'

Seems like the code points the default scripts location, even if it is adjusted in the preferences.

There should be a conditional check to see if PreferencesFilePaths.script_directory is enabled.

1 Like

Hey, looks like it works!

New node setup works very well!

2 Likes

Thanks for pointing out the issue. This may not work in cases where the script location is changed after installing the addon. Probably need to get the location from the list of addons in preferences.

hi, i had a quick look at this,
I found 1 issue that when enabled and returning to the shader node editor the options for world were stuck and there was no options for materials or textures.
I was able to create some objects and manipulate them easily. good job.

1 Like

Already been reported on the tracker for a while now. But feel free to add your voice there too:

1 Like

Updated release:
https://github.com/aachman98/Sorcar/releases/download/v3.0-alpha/sorcar-v3-alpha-2.zip

Now contains all component operations!
Also contains the rest of the modifier nodes (partially tested).


Will try out some of the older procedural models in the new system. Hoping to include loops, object-mode operations, curve-to-mesh conversion and a few of the remaining nodes from v2 in the next update.

2 Likes

If you are using Blender 2.8, then I suggest you try v3 (alpha) version of Sorcar. The ported version contains a lot of bugs like these as it was specifically built for Blender 2.79. I don’t think I need to update any of the previous versions as I am close to finishing the new one. Thank you for pointing it out though.

1 Like

Thank you. I receive an error when I try to enable it:

-------------REGISTER SORCAR-------------
Exception in module register(): /usr/local/Blender/blender-2.80/Blender.app/Contents/Resources/2.80/scripts/addons/sorcar-v3-alpha-2/init.py
Traceback (most recent call last):
File “/usr/local/Blender/blender-2.80/Blender.app/Contents/Resources/2.80/scripts/modules/addon_utils.py”, line 384, in enable
mod.register()
File “/usr/local/Blender/blender-2.80/Blender.app/Contents/Resources/2.80/scripts/addons/sorcar-v3-alpha-2/init.py”, line 68, in register
path = repr([i for i in addon_utils.modules() if i.bl_info[‘name’] == bpy.path.display_name(name)][0]).split(“from '”)[1].split(“init.py’>”)[0]
IndexError: list index out of range

Mac Os X, Blender v2.80

Updated the repository and release. Try if it works…

Yes it works now, thank you.

One thing. I’m trying to do the simplest of things, close the bottom. That is F fill. I’m not able to find the command. I find a lot of fills, but not that…

It’s called “Add Edge/Face” according to the Blender API (function: bpy.ops.mesh.edge_face_add())

Alternatively, “Fill Edge Loop” works fine too. It triangulates the faces though.

2 Likes

Hi

Just trying to test this under 2.80. I installed the latest release. Winx64, 2.80 Rel

SORCAR: IMPORT NODE: Component Operators: ScWireframe
SORCAR: IMPORT NODE: Constants: ScBool
SORCAR: IMPORT NODE: Constants: ScNumber
SORCAR: IMPORT NODE: Constants: ScString
SORCAR: IMPORT NODE: Constants: ScVector
Exception in module register(): C:\Users\USER\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\sorcar-v3-alpha-2\__init__.py
Traceback (most recent call last):
  File "C:\BLENDER_28\2.80\scripts\modules\addon_utils.py", line 384, in enable
    mod.register()
  File "C:\Users\USER\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\sorcar-v3-alpha-2\__init__.py", line 71, in register
    classes_nodes = import_nodes(path)
  File "C:\Users\USER\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\sorcar-v3-alpha-2\__init__.py", line 60, in import_nodes
    out[cat].append(getattr(importlib.import_module(".nodes." + cat + "." + i[0], __name__), i[0]))
  File "C:\BLENDER_28\2.80\python\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\USER\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\sorcar-v3-alpha-2\nodes\deletion\ScDelete.py", line 6, in <module>
    from .._base.node_deletion import ScDeletionNode
ModuleNotFoundError: No module named 'sorcar-v3-alpha-2.nodes._base.node_deletion'