A collection of my commonly used blender node groups (shading nodes, geometry nodes, ...)
 
 
Go to file
Frank Firsching 0acc53d72b Added localEnvUV world node.
Added support for blender's asset browser.
Added some simple utility scripts managing assets.
2022-11-05 23:25:15 +01:00
.vscode Initial commit. 2022-02-22 23:21:12 +01:00
assets Added localEnvUV world node. 2022-11-05 23:25:15 +01:00
geoNodes Added localEnvUV world node. 2022-11-05 23:25:15 +01:00
icons Added localEnvUV world node. 2022-11-05 23:25:15 +01:00
scripts Added localEnvUV world node. 2022-11-05 23:25:15 +01:00
shadingNodes Added localEnvUV world node. 2022-11-05 23:25:15 +01:00
worldNodes Added localEnvUV world node. 2022-11-05 23:25:15 +01:00
.gitignore Added localEnvUV world node. 2022-11-05 23:25:15 +01:00
LICENSE Add LICENSE 2022-02-22 22:32:11 +00:00
README.md Added localEnvUV world node. 2022-11-05 23:25:15 +01:00
blender_assets.cats.txt Added localEnvUV world node. 2022-11-05 23:25:15 +01:00

README.md

nodes_xyz

A collection of my commonly used blender node groups (shading nodes, geometry nodes, ...)

All the content is prepared to be used with blender's asset browser. Just add the root directory of this repository to the asset libraries in the preferences and enjoy all the content.

Getting started

To get the nodes either download the respecive blend file directly or download the full repository as a zip file using this button (download-icon) above.

To easily get access to the provided nodes, activate the Node Presets add-on and configure it to parse one of the subdirectories (e.g. shadingNodes).

As soon as the asset browser supports node groups in an official release, this organization might change a bit to support the asset workflow.

List of nodes

Shading utility nodes

HSV_Object_Variation

This node can be integated whenever a whole set of instances is being shaded (e.g. a bunch of rocks). It allows to vary each instance in hue, saturation and value.

If

Switches between 2 vector values based on a boolean input.

Object Size

A node, that can be used when shading multiple instances, that are scaled in size. Through this node, it's possible to get a factor of the size differences between the instances and align texture coordinates based on this factor.

Spherical Coords

A node, that takes e.g. a shading position and calculates the angles of spherical coordinates.

Voronoi Based Noise

A kind of noise node, that is based on a voronoi pattern

Full materials

Water

A volumetric water material.

World shader nodes

LocalEnvUV

A node, that calculates environment map UVs for realizing a flat ground on an HDRI based world environment. Just connect this node to your environment image and adjust the size, camera height and the orientation angle to setup the HDRI.

Geometry nodes

Tissue (Blender 3.1)

This is a geo node group, that mimicks what the Tissue addon provided with blender is doing.

Deform Objects to curve (Blender 3.1)

This node group aligns a set of objects on a curve and additionally allows deforming them along the curve itself.

BBoxField (Blender 3.1)

Contained within the deformObjectsToCurve.blend file, this node provides a field output, that defines the bounding box of each instance being provided through the Instances parameter.

BoxDeform (Blender 3.1)

Also contained within the deformObjectsToCurve.blend file, this node takes a normalized geometry (e.g. contained within the [0..1] cube) and interpolates the point positions to a box provided by the 8 corner input parameters.

Lerp (Blender 3.1)

Contained within the deformObjectsToCurve.blend file, this is a simple node, that interpolates between 2 vector values based on a numeric input t, which is given in the range of [0..1].

IslandCenterField (Blender 3.1)

A field node, that returns the center point of each mesh island.

SetUpAxisTilt (Blender 3.1)

A node, that mimics blender's native z-Up curve orientation by calculating the corresponding tilt angles.

VisualizeInt (Blender 3.1)

Three nodes to debug node trees. They take a geometry and an integer field to display the field numbers at the respective geometrical elements. Available implementations:

  • VisualizePointInt
  • VisualizeEdgeInt
  • VisualizeFaceInt

Screenshot above shows the edge visualizer.

VisualizeVector (Blender 3.1)

Four nodes to debug node trees. They take a geometry and a vector field. It evaluates the field at each respective geometrical element and places an arrow which represents the vector of the field visually with its direction and magnitude. Available implementations:

  • VisualizePointVector
  • VisualizeEdgeVector
  • VisualizeFaceVector
  • VisualizeFaceCornerVector

Assets

The repository also will contain a list of small assets, that can be reused in multiple projects.

Eye

UFO

A procedural UFO, that utilizes geometry nodes to build the spaceship from a cross section curve. This model additionally is rigged and has a laser mounted at the bottom.

Scripts

The scripts directory contains some little utility scripts, that are useful for asset handling.

  • createAssetCatalogsFromFileTree.py takes a directory structure and creates/updates a catalog file for blender's asset browser.
  • mark_scene_entities_as_asset.sh is a little script, that takes a scene file and marks the content as assets. It looks into the scene file and if there's only a single object, this objects gets marked as an asset, otherwise all top level collections will be assets. Additionally is finds the right catalog to sort the assets into, ensures there's a preview image and if needed even renders one.