Procedural modeling in Blender using Node Editor
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
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.
Latest Release (v3.2.1) Requirement: Blender 2.81 or later
Open blender using a command prompt to view logs and errors, if encountered.
VISUAL PROGRAMMING Construct geometries using custom algorithms, maths or generate patterns without writing a single line of code! |
|
NON-DESTRUCTIVE WORKFLOW Edit node parameters at any point without the fear of losing mesh data. Also apply same procedural operations to different objects easily. |
|
REAL-TIME UPDATES Drive a parameter using current frame value (or manually change it) and see the mesh update in viewport. |
|
ITERATE & RANDOMIZE Generate variations in mesh by using seed-controlled pseudorandom numbers. Use loops to handle repeatitive operations with same level of randomness. |
|
AUTOMATION Use frame number to drive seed value and batch export the meshes in different files. |
|
250+ NODES A growing list of functions available as nodes (operators & scene settings) including custom inputs, curve/mesh conversion, selection & transform tools, modifiers and component level operators. |
and more...!
Inputs Primitive Meshes (Cube, Cylinder, Sphere, ...), Empty Object, Import FBX, Custom Object from the scene, Create Object using arrays of Vertices, Edges & Faces | |
Curves Custom Curve from the scene, Text, Import SVG, Geometry/Shape/Spline Properties, Mesh-Curve or Curve-Mesh Conversion | |
Transform Set/Add/Randomize transform (Edit/Object mode), Apply/Copy transform in world/local axes, Create custom orientation | |
Selection Manual, invert/toggle, loops, random, similar components or by their property (location, index, normal, material, ...) | |
Deletion Delete/Dissolve selected components (or loops) | |
Component Operators Bevel, Decimate, Extrude, Fill, Inset, Loop Cut, Merge, Offset Loop, Poke, Screw, Spin, Subdivide, UV Map, Assign material or vertex groups | |
Object Operators Duplicate, Raycast/Overlap, Merge, Scatter, Set/Clear Parent, Voxel/QuadriFlow Remesh, Shading, Viewport Draw Mode | |
Modifiers Array, Bevel, Boolean, Build, Cast, Curve, Decimate, Remesh, Shrinkwrap, Skin, Solidify, Subsurf, Wave, Weighted Normal, Wireframe | |
Constants Number (Float/Int/Angle/Random), Bool, Vector, String, Selection Type (Face/Vert/Edge) | |
Arrays Create/Append Arrays, Add/Remove elements, Reverse, Search, Clear, Count, Get | |
Noise Cell (Vector/Float), Fractal, Multi-Fractal, Hetero-Terrain, Ridged, Turbulence (Vector/Float), Variable Lacunarity, Voronoi | |
Utilities String/Bool/Vector ops, Maths, Clamp, Map, Trigonometry, Get/Set Variables, Node-Groups, Scene/Component/Object Info, Custom Python Script | |
Flow Control For loop, For-Each loop (Array/Components), If-Else Branch | |
Settings Cursor Transform, Edit Mode, Pivot Point, Snapping, Proportional Editing, Transform Orientation |
And the amazing BlenderArtists community!