Skip to content
black-h0bB1T edited this page Feb 14, 2019 · 8 revisions

Node Wizard

This Blender 2.8 Addon tries to support Blender artists in the material design process in a way different to the current approach Blender does it. It puts a small layer above it's low level node setup, by abstracting a single material as a bounded instead of an individual component. Materials are node groups with several inputs and outputs and can be composed using predefined masks. This way does not remove the low level abilities.

Current Releases:

Functionality from top to bottom

Material from Textures

This core component creates material nodes from selected textures. By clicking on one of the buttons, the file browser opens (in your texture folder). Upon selection, a node group using the selection is created. Created inputs and outputs depend on the available textures.

PBR Setup

Select any texture from the PBR texture set. Node Wizard tries it's best to figure out the members of the group. Currently, the file name must have the usual type postfix at it end (e.g. _diffuse, _normal)! Postfixes are hardcoded at the moment, this may be configurable in a future version (take a look in nw_texture_mapper.py for supported postfixes)! The created node looks like this:

PBR Setup

The inputs highlighted in green are always available. They can be used to scale and offset the mapped texture on the object. The Vector input (input) is available if you've checked the Add UV Input property before creating the node. If not, the input is missing and the default UV map is used for mapping. This is sufficient in most cases, as you still have to possibilities to scale and pan the texture. Inputs highlighted in blue are available if Add HSL/BC Setup is selected. It's a simple way to adjust the color/diffuse part of the image. You may e.g. plug any of the available masks to the HSL-Value input the add brightness variation in certain areas, be creative! Wet intensity (yellow) is just an experiment. It lowers the roughness in the masked parts. Plug the NW_Leak Mask into it and experiment too.

The available output depend on the available channels of the set. The primary output is Shader which could directly be used as material output. All other maps may be useful for further composition.

From Diffuse Image

Not every texture is available as PBR set. This feature is very similar to the PBR-Setup, but using a color/diffuse map only. The selected texture is used to create the node group, the texture is used for the shaders Base Color input. Both Roughness and Normal is built from this texture:

From Diffuse Image

Both violet and cyan highlighted inputs can be used to adjust roughness and normal processing. Use Roughness and Height output for finetuning. All other inputs are identical to the PBR Setup.

Options

  • Add HSL/BC Setup: Adds HSL and brighness/contrast inputs to control the base color image.
  • Add UV Input: Instead of internally using the primary UV texture map, offers an input (Vector) for texture placement.
  • Clip Texture/Decal: Set all textures to Clip, so this material can be used as decal.

Material Layers

This section offers ways to create (currently two) layers of selected material nodes.

Material Layers

Select two nodes that you want to layer and click on one of the two options. This creates a setup that mixes both using a mix shader and a quick mask. In addition the layers are separated in depth using a normal, so it looks like real layers (e.g. bricks and plaster). The first selected material is the lower one.

The quick mask (using noise and color ramp) is just a starting point, you can plug an other mask into it.

Shader based

Shader based

The mixer node has inputs the define the color (defaults to red), specularity and roughness for the area between both layers. In addition, the faked height can be adjusted too.

Texture based

Texture based

This is essentially identical to the Shader based setup, but fills the node editor, which is not the best way. This was my first approach in development, but I left it there, maybe its useful to someone :)

Node Support Tools

Create Normal Scaler

Select one or more nodes that have a Normal output and click this button. This plugs a node scaler between this output and all connected inputs. This utility scales the Z axis of the vector to affect the faked depth impression of the normal vector:

Normal Scaler

Create DX2OGL Normal Converter

Select the image texture that contains the DirectX normal map and click on this button. This plugs a node group between the output and the receivers. This redirects the vectors Y axis to be compatible with the normal maps Blender requires (OpenGL based):

DX2OGL

UV Vector Distortion

As the name implies, creates a vector distortion node group, that can be plugged in front of a textures / material UV input. I found this setup here: https://cgmasters.net/free-tutorials/blender-giveaway-cycles-shader-prime-elements/ (thanks for this idea Aidy!):

UV Vector Distortion

UV Vector Blur

Same as the UV Vector Distortion and from the same source:

UV Vector Blur

Masks and Materials

Both of these work quite identical. Select the mask or material an click on the corresponding Add button to get the node on your mouse cursor for placement. These are currently quick setups which are planned to fine tuned and enhanced in the future.

Masks and Materials

Currently available masks:

Masks

Ideas an contributions are always welcome. An idea for future versions is to add user databases with ready made setups and auto-rendering of previews and/or downloading setups from websites.