Material Maker Documentation
repository·master·Indexed 26 days ago
https://github.com/rodzill4/material-makerA 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.
What's inside Material Maker
- Filter nodes in Material Maker are used to process image data. They can accept one or multiple input images and generate one or multiple output images based on the specific filter applied.
Overview of Material Maker
masterMaterial 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.Overview of Material Maker capabilities
masterMaterial Maker is a PBR (Physically Based Rendering) procedural material editor and texture painting tool built on the Godot Engine. It offers two primary workflows:
- Procedural Material Authoring: Create textures by interconnecting nodes in a graph to generate, transform, filter, or combine inputs.
- 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
Overview of GodotSteam for GDExtension
masterGodotSteam 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.
Understand Shader Node Outputs
masterIn 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.
Understand the three types of layers in the Layers panel
masterThe 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.
Navigate the Painting project interface
masterWhen 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.
Understand and use Material nodes
masterMaterial 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+Wto 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.
Understand Pattern nodes
masterPattern nodes are a specific category of generator nodes in Material Maker. Unlike other nodes, pattern nodes do not accept any input; instead, they function as starting points in a node graph by generating one or several images directly.Navigate the Material project interface
masterWhen 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.
Understand the Material node behavior
masterThe 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
SpatialMaterialis automatically generated from this node.
Understand Material Maker project types
masterMaterial 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.