Sorcar
Procedural modeling in Blender using Node Editor
BlenderArtist Thread: https://blenderartists.org/t/sorcar-procedural-modeling-in-blender-using-node-editor/1156769
Intro & Tutorials: https://www.youtube.com/playlist?list=PLZiIC3gdS_O7nCm1-xpWbZmTQWeL5c6KV
Trello (Project Tracker): https://trello.com/b/aKIFRoTh/sorcar
Documentation: https://github.com/aachman98/Sorcar/wiki
About
Sorcar is a procedural modeling node-based system which utilises Blender and its Python API to create a visual programming environment for artists and developers. Heavily inspired by Side-FX Houdini, it presents a node editor with a variety of modular nodes to make the modelling workflow easier and fast. Most of the nodes are blender internal operations (bpy.ops.mesh/object) which also makes it easier for frequent blender users to manipulate geometry. It helps the users to quickly create 3D models and control node parameters to generate limitless variations in a non-destructive manner. It also provides the users to view and edit mesh on any stage of the node network independently, with realtime updates.
Release & Instructions
Latest Release (v3.1.4)
Requirement: Blender 2.80 or later
- Download the zip file and install it as a Blender addon (Edit -> Preferences... -> Add-ons-> Install...)
- Open Sorcar Node Editor (Do not remove the 3D viewport as it is required by some operations like extrude, transform, ...)
- Click on the + button to create a new tree
- Press Shift+A to open the nodes menu. Alternatively, navigate through tabs on the Right panel in the node editor
- Select the desired node and press "Set Preview"
Open blender using a command prompt to view logs and errors, if encountered.
Features
- Simplified node sockets with internal data conversion for the convenience of users.
- Colour-coded nodes (preview, error, invalid inputs etc.) for easier debugging.
- Multi-level heirarchy & auto-registration of classes for easy development of custom nodes in any category (existing or new).
and more...!
Nodes
Upcoming Feature
- Improve loop nodes: Add more options to control in each pass
- Curve nodes: Edit spline properties, convert to mesh
- Named variables: Get/set values of custom variables, accessible across node trees
Future
- Node Groups: Collapse big node networks into a single node with custom inputs & outputs
- Complete integration to dependency graph
- Debugging tools: Watch/track values of node parameters
- Node-Viewport link: Create nodes automatically in editor based on actions in 3D viewport
Showcase
Changelog
v3.1.4
- Added "Voxel Remesh" object operator node
- Added "Raycast (Scene)" utility node (renamed "Raycast" to "Raycast (Object)")
- Added "Instancing" & "Parent" object operator nodes
- Added "Empty" and "Single Vertex" input nodes
- Added "Hide/Unhide Component" and "Mark Component" nodes
- Fixed "Element" output pin type of "Begin For-Each Loop" node
- Fixed issue with addon activation
- Fixed int conversion in "Shortest Path" selection nodes
v3.1.3
- Added "For-Each Component Loop" nodes
- Added "Get/Set Variable" nodes
- Added "To Sphere" transform node
- Added "Select Vertices by Connections" selection node
- Fixed issue with reset() attribute
- Improved "For" & "For-Each" loop nodes
- Improved "Select Manually" node
v3.1.2
- 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)
v3.1.1
- Added addon updator by CGCookie
- Fixed issue with realtime update checkbox in "Scene Info" node
- New socket type: Selection Type
- Ability to change selection type directly though selection nodes
- Added issue templates for bug report & feature request
v3.1.0
- Support for Blender 2.8
- New architecture for data flow node executions
- Improved socket types and node hierarchy
- Internal data conversions
Contributors
- @CORPSE-SYS - Active Developer (#83, #96)
- @zebus3d - Active Developer (#88, #90)
- @CGCookie (CG Cookie) - Addon updater (Github)
- @8176135 - Individual edit mode type in selection nodes using a new socket (#80)
- @huiyao8761380 (TangHui) - Documentation Maintainer
- @Megalomaniak (Felix Kütt) - Documentation Structuring
- @kichristensen (Kim Christensen) - Port Sorcar (v2) to Blender 2.80 (#54)
- @SevenNeumann (Mark) - Icons for Sorcar & layout design for main menu (#46)
And the amazing BlenderArtists community!