Material Maker Documentation

repository·master·Indexed 26 days ago

https://github.com/rodzill4/material-maker

A node-based procedural texture creation and 3D model painting tool built on the Godot Engine. Documentation covers installation via Scoop, Chocolatey, and Homebrew, command-line usage for opening .ptex files, and batch exporting materials to Blender, Godot, Unity, Unreal Engine 4, and Unreal Engine 5. It also includes guides on using Aperture nodes for invisible connections and localization workflows using gettext and pybabel.

Tokens
65K
Snippets
9
Records
591
Agent score
90%

What's inside Material Maker

  1. Overview of Material Maker

    master
    Material Maker is a tool built on the Godot Engine used for procedural texture creation and 3D model painting. It utilizes a node-based interface (based on Godot's GraphEdit node) where textures and brushes are defined through interconnected nodes.
  2. Overview of Material Maker capabilities

    master

    Material Maker is a PBR (Physically Based Rendering) procedural material editor and texture painting tool built on the Godot Engine. It offers two primary workflows:

    1. Procedural Material Authoring: Create textures by interconnecting nodes in a graph to generate, transform, filter, or combine inputs.
    2. Texture Painting: Define brushes using the same node system to paint directly onto 3D models.

    Supported PBR channels include:

    • Albedo
    • Metallic
    • Roughness
    • Emission
    • Normal map
    • Depth map
  3. Overview of GodotSteam for GDExtension

    master

    GodotSteam for GDExtension is an ecosystem of tools designed to integrate Valve's Steamworks SDK with the Godot Engine. It supports Windows, Linux, and Mac platforms and is available as a GDExtension for Godot 3.x and 4.x.

    Important Compatibility Note: Do not use the GDExtension version of GodotSteam with any module versions (pre-compiled or custom-compiled). They are not compatible.

  4. Understand Shader Node Outputs

    master

    In Material Maker, most nodes are shader nodes. Their outputs are not images, but shader programs that calculate values based on coordinates. The available output types are:

    • Grayscale, Color, and RGBA: Calculates the color of a pixel from its coordinates.
    • SDF2D: Calculates the signed distance of a 2D point from its coordinates.
    • SDF3D: Calculates the signed distance of a 3D point from its coordinates.

    Because nodes are combined as shader programs, most shader nodes are resolution independent.

  5. Understand the three types of layers in the Layers panel

    master

    The Layers panel provides a tree view of all layers in a painting project. Layers are applied from bottom to top to combine into the final material. There are three distinct layer types:

    • Paint layers: Layers containing Albedo, Metallic, Roughness, Emission, and Depth information that are manually painted using tools in the Paint panel.
    • Procedural layers: Layers containing Albedo, Metallic, Roughness, Emission, and Depth information that are applied automatically to the entire layer via a corresponding brush (configured in the Paint panel).
    • Mask layers: Layers containing a single grayscale channel that acts as an alpha mask for the entire hierarchy of its parent layer. Multiple masks are multiplied together to create a single combined alpha channel.
  6. Navigate the Painting project interface

    master

    When working on a Painting project, the following panels are available:

    • Library (Top Left): A tree view containing all available nodes for material and brush creation.
    • Reference (Side): Used to display images, generated textures, and to pick colors or gradients.
    • Brush (Side): Contains all predefined brushes available for painting on the model.
    • Parameters (Side): Used to modify the parameters of the currently active brush.
    • Layers (Side): Used to create, remove, and modify painting layers.
  7. Understand and use Material nodes

    master

    Material nodes are specialized shader nodes used to define the final output of a material graph. Unlike standard shader nodes, their outputs cannot be connected to other nodes in the graph; instead, they are used to generate image files and define export targets.

    Key characteristics:

    • There can be only one material node in a material graph.
    • They define the preview shader used in the Preview Panel and for the website.
    • They define the export targets for the material.

    Operations:

    • Modify Type: Use the context menu to change the material type or copy/paste custom material nodes.
    • Edit Node: Use the keyboard shortcut Control+W to make a node editable. This opens the Material Editor window.
    • Preview: The Material Editor includes a Preview tab where you can define a shader for 3D previews using the Godot Shading Language.
  8. Navigate the Material project interface

    master

    When working on a Material project, the following panels are available:

    • Library (Top Left): A tree view containing all available nodes for material and brush creation.
    • Reference (Side): Used to display images, generated textures, and to pick colors or gradients.
    • Hierarchy (Right): Displays the hierarchy of node groups within the current material graph.
    • 2D preview (Bottom Left): Shows the first texture generated by the currently selected node.
    • 3D preview (Bottom Left): Shows the current material applied to a sample mesh in a sample environment.
    • Histogram (Side): Displays the tones histogram of the texture generated by the currently selected node.
  9. Understand the Material node behavior

    master

    The Material node is the central node of a Material Maker project.

    • Uniqueness: There is exactly one Material node per project. It is created automatically with every new project and cannot be deleted or duplicated.
    • Copy/Paste: If you copy and paste nodes, the Material node itself will not be pasted, but existing connections to it will be preserved where possible.
    • Godot Integration: When using Material Maker as a Godot addon, a SpatialMaterial is automatically generated from this node.
  10. Understand Material Maker project types

    master

    Material Maker supports two primary project types, each with a distinct interface and workflow:

    • Material projects: Used to create PBR (Physically Based Rendering) materials by connecting nodes in a graph editor.
    • Painting projects: Used to paint directly onto a 3D model. The interface includes a 3D view for painting and a graph editor for describing brushes.