Sdf Nodebox - Blender Node Pack
Planned Content:
Wiki
Expansion to Geo Nodes.
Tutorials: https://www.youtube.com/playlist?list=PLjy-1amyEymfUhg0pZqHWQU3hieycK_9Q
Description
Quickly and easily create complex 2D and 3D parametric shapes, effects, patterns, masks, and more with infinite resolution using Signed Distance Fields!
SDF NodeBox is an asset library bundle containing 45 shader node groups to create and work with signed distance fields in Blender's shader graph.
Inside are nodes defining primitive shapes, operations to merge and modify them, and nodes to preview them in 2D and 3D.
What is a signed Distance Field?
A Signed Distance Field is a function, or node group in this case, that parametrically defines a shape using math and returns the distance to the surface of that shape for any point in space.
If we input texture coordinates into the SDF node, we get a gradient, and the humble gradient can be a deceptively powerful tool.
Gradients become even more powerful when combined with UV manipulation. For example, with only three more nodes, we can turn the gradient above into this infinitely repeating pattern ready to be used as a mask:
And, of course, while previewing can be a bit troublesome, everything works in 3D as well.
Cool things you can do with SDFs
Procedural masking with infinite resolution
Create assets faster with higher quality, more flexibility, and less geometry using procedural masking with infinite resolution.
Round Corners
With SDFs, a simple subtraction is all it takes to round the corners of your shape.
Boolean and Smooth Boolean Operations
Compose primitives into composite shapes by utilizing regular and smooth boolean operations.
Infinite, Finite, and Radial Repetitions
With the included nodes, you can cheaply array your shapes in an infinite grid, a grid with a specified size, or radially around an axis.
Outlines
Create an outline, shell, or perimeter for your shapes with a single node.
Displace
Because SDFs are just gradients, it's trivial to displace the surface.
Extrude 2D Shape to 3D Prism
Extrude a 2D SDF into 3D space to create a custom prism.
Revolve 2D Shape
Bring a 2D SDF into 3D space by revolving it around an axis.
Asset Browser Compatible
Included Examples
Included inside the blend file are five examples. When you open the file, you can access these from the scene menu by clicking on the dropdown in the top right of your blender window.
Installation Instructions
Option One: Add a new blender asset library path
Place the included Blender file and blender_assets.cats.txt file in a location of your choice.
Then open Blender and navigate to Edit->Preferences->File Paths->Asset Libraries and add that location to your Asset Libraries list.
Option Two: Import into an existing asset library
1. Open the included blender file. Ensure that the Blender and included blender_assets.cats.txt files are in the same directory when you open it.
2. Open the asset browser and ensure it's set to "current file."
3. Click Copy Bundle to Asset Library and choose the asset library to import the bundle into. If you don't see any options when you click the button, navigate to Edit->Preferences->File Paths->Asset Libraries and add a location.
4. A file browser will open once you choose a library to import into. Click the button titled: "Copy To Asset Library."
Update Instructions
How you update depends on how you installed the node pack in the first place:
Option One: Add a new blender asset library path
- Open the asset library dedicated to SDF NodeBox.
- Replace the existing .blend file and blender_assets.cats.txt files with the new versions
Option Two: Import into an existing asset library
- Extract the .blend file and blender_assets.cats.txt file for the new version of SDF NodeBox to the same location.
- Open the blend file for the new version of SDF NodeBox.
- Open the asset browser panel and set the current asset library to 'Current file'
- Click the 'Copy Bundle to Asset Library' dropdown and select the asset library you previously installed SDF NodeBox to.
- Click Copy To Asset Library.
- If you get a message about overriding an existing file, click accept.
Disclaimer
Most of the math for these nodes was derived by Inigo Quilez, who graciously provides the code for them for free on his website under the MIT license: https://iquilezles.org
Discover more products like this
Signed Distance Field Node Graph summer24 bfcm24 winter24 asset pack parametric shaders masks spring24 procedural nodes materials SDF shader nodes