PXLtools — Tool guide

PBR Material — Arnold material builder

Point it at a texture folder and it builds the Arnold materials for you. v1.2.0 ships as a two-tab interface: Create Material walks you through a gated 3-step flow (folder, identifiers, options) and builds the aiStandardSurface network; Material Tools adds five utilities — a Color Space Changer, a Material Checker with auto-fix, two UDIM converters (UDIM → multi-material and multi-material → UDIM), and a Flatten UVs tool — all in the same window, no separate tools to hunt down.

Maya v1.2.0
PBR Material v1.2.0 interface — Create Material tab with the gated step flow

The interface

01

Overview

PBR Material turns a folder of textures into finished Arnold materials. v1.2.0 organises everything into two tabs.

Create Material is a guided, gated 3-step flow: select a folder, review the texture identifiers and colour spaces, set the material options, and create. It scans the folder, auto-detects diffuse / roughness / metalness / normal maps by the identifiers in your file names, and builds an aiStandardSurface for each texture set — with correct colour spaces (ACES 1.2 on by default), optional shared place2dTexture nodes, UDIM support, and a name prefix of your choosing.

Material Tools is a toolbox of five independent utilities, each a collapsible section that starts collapsed — expand the one you need:

  • Color Space Changer — apply any valid input colour space to selected file nodes.
  • Material Checker (+ Auto-fix) — scan selected materials or the whole scene for colour space mismatches and correct them in one click.
  • UDIM → Multi-Material converter (Direction A) — break a UDIM mesh or group into per-tile materials, each wired to fresh non-UDIM textures.
  • Multi-Material → UDIM converter (Direction B) — the reverse: collapse a multi-object / game asset into one clean UDIM asset for VFX.
  • Flatten UVs → 0–1 — collapse every UDIM tile of the selection back into the 0–1 square, UVs only.

The tool shares the same UI kit as the rest of PXLtools and auto-updates from GitHub on launch.

02

Requirements

  • Autodesk Maya 2025
  • Arnold (mtoa) — required to build the materials (loaded on demand)
  • ACES 1.2 colour management — optional but recommended
  • Python 3

Maya 2025 already includes PySide6. You do not install it, you do not pip anything. Texture sets exported from Substance Painter work out of the box; .png .jpg .tif .exr .tga .bmp are all recognised.

03

Availability

PBR Material is part of Cristian's PXLtools production toolkit and isn't publicly downloadable yet. The TurnTable tool is the first public PXLtools release; the rest of the suite is rolling out gradually. Want early access, or to be notified when it ships? Get in touch.

04

Create Material tab

A guided, gated flow modelled on the same step-gating logic as the TurnTable Builder. The orange step is always your current action; future steps stay locked until it is their turn.

PBR Material v1.2.0 Create Material tab showing the gated 3-step flow: Instructions, Step 1 Select Folder (active), Step 2 Textures and Color, Step 3 Options and Create
PBR Material v1.2.0 — Create Material tab, gated 3-step flow

Step 1 — Select Folder

Press Select Folder and pick your texture set directory (a Substance Painter export works out of the box). The tool scans it immediately and auto-fills the identifiers in Step 2. Completing this step unlocks Step 2.

Step 2 — Textures & Color

Review or edit the four channel identifiers: Diffuse, Roughness, Metalness, and Normal (defaults: BaseColor / Roughness / Metalness / Normal). Press Re-detect after any change to re-scan the folder against the new names.

ACES 1.2 is on by default. Diffuse maps are assigned the sRGB colour space; roughness, metalness, and normal are assigned Raw. Colour space is always applied via a validated helper — Maya's silent "unknown colour space accepted" failure is caught and logged.

Pick the diffuse textures from the list below the identifiers (Select All / Clear Selection / Refresh List). Each selected diffuse becomes one material. Completing this step unlocks Step 3.

Step 3 — Options & Create

Set the remaining options, then create.

  • place2D — shared node for all maps in a set, or none.
  • Prefix — prepended to each material name (default AI_). Materials are named <prefix><base_name>, e.g. AI_stone.
  • Bump from diffuse + Bump Depth — derives a bump when there is no normal map in the set.
  • UDIM workflow — auto-enabled when .1001.-style tile numbers are detected on the diffuse files.

Press Create PBR Materials. The status line reports how many materials were built.

05

Material Tools tab

The second tab is a toolbox of five independent utilities. Each is a collapsible section that starts collapsed — click a header to expand the one you need. Every utility is gated into numbered steps, the same orange-active / grey-locked logic as the Create tab.

PBR Material v1.2.0 Material Tools tab showing the five collapsed sections: Color Space Changer, Material Checker, UDIM to Multi-Material Converter, Multi-Material to UDIM Converter, and Flatten UVs
Material Tools tab — five collapsible utilities

1 · Color Space Changer

Apply a colour space to a batch of file nodes without rebuilding anything.

  • Step 1 — Select file nodes. Select the file nodes in Maya and press Use Selection; the count updates.
  • Step 2 — Choose colour space & apply. Pick a space from the list (populated from your active colour-management config), then Apply to Selected. Refresh re-reads the config.
PBR Material Material Tools — Color Space Changer and Material Checker sections expanded, showing their gated steps
Color Space Changer and Material Checker (+ Auto-fix)

2 · Material Checker (+ Auto-fix)

Catch colour-space mistakes across your shaders in one pass.

  • Step 1 — Choose scope & check. Pick Selected materials or Entire scene and press Check. For every aiStandardSurface it traces each channel back to its source file node and compares the actual colour space against the expected one (colour channels expect sRGB/ACEScg, scalar channels expect Raw).
  • Step 2 — Review & auto-fix. Every mismatch is listed. Press Auto-fix to correct them all at once — using the same validated colour-space helper as the Create tab, so fixes are config-aware and logged on failure.

3 · UDIM → Multi-Material Converter (Direction A)

Convert a UDIM-textured mesh — or a whole group, nested subgroups included — into multiple materials, one per tile. Each tile is offset into 0–1 UV space and wired to new, non-UDIM textures copied and renamed into a versioned sibling folder. Three gated phases:

  • 1 · Select & Analyze. Select your UDIM mesh(es) or a group, press Use Selection, then Analyze. A progress bar runs while it inspects the tiles (it can take a few seconds on dense meshes).
  • 2 · Tile Assignment & Preview. A live grid shows one row per mesh / shader / tile. Set the Asset name (master), then fine-tune naming: Clean source names strips tokens like _geo / _mesh from object names, and Output naming sets the material prefix/suffix plus a per-map suffix panel (DIFF, RGH, MTL, NRM, DISP, EMI, OPC, SSS). Per-row target names can be hand-edited and are preserved. Preview UV distribution opens a separate dialog mirroring the UV Editor layout (1001 at bottom-left, tiles read bottom-to-top). Press Confirm tile mapping to unlock Step 3.
  • 3 · Output & Convert. Pick an Output folder (or leave it on Auto, a versioned folder beside the source textures). Work on a copy is on by default so your original UDIM asset is untouched. Split tiles into separate objects gives one object per tile instead of face-assigned materials on one mesh; Group result under the asset name keeps the output tidy. Press Convert.
PBR Material UDIM to Multi-Material converter (Direction A) — all three phases expanded: Select and Analyze, Tile Assignment and Preview with the naming-convention panel, and Output and Convert with the work-on-a-copy and split-tiles toggles
UDIM → Multi-Material (Direction A) — the three gated phases

4 · Multi-Material → UDIM Converter (Direction B)

The reverse direction: collapse a multi-object or game asset — several meshes, each with its own material — into one clean UDIM asset for VFX, non-destructively. Three gated phases:

  • 1 · Select & Analyze. Select the objects or a group, press Use Selection, then Analyze. It auto-detects a UDIM tile per object/material from the UVs.
  • 2 · UDIM Assignment & Preview. An editable grid lists each source object, its material, the assigned → UDIM tile, and an Include tick. Reorder tiles as needed; Preview UV distribution shows where everything lands. Press Confirm UDIM assignment to unlock Step 3.
  • 3 · Naming & Convert. Set the Output asset name (master), Material name, and Texture base name, plus the per-map suffix panel; a live Result preview shows the texture names you will get (e.g. <base>_DIFF.<UDIM>.png). Choose an Output folder. Work on a copy is on by default; Merge into one mesh welds everything into a single object — leave it off to keep the objects separate while sharing one UDIM material. Press Convert.
PBR Material Multi-Material to UDIM converter (Direction B) — all three phases expanded: Select and Analyze, UDIM Assignment and Preview, and Naming and Convert with the result preview and merge toggle
Multi-Material → UDIM (Direction B) — the three gated phases

5 · Flatten UVs → 0–1

A one-button utility: collapse every UDIM tile of the selected mesh(es) or group back into the 0–1 UV square. UVs only — no material or texture changes. Select your geometry and press Bring all UVs → 0–1.

06

Troubleshooting

"Failed to load Arnold plugin."

PBR Material builds aiStandardSurface shaders, so Arnold (mtoa) must be available. Enable the mtoa plugin in Maya, then try again.

No textures appear in the list.

The diffuse identifier did not match any file. Check the Diffuse field matches your naming (e.g. BaseColor vs Diffuse vs Albedo), press Re-detect or Refresh List.

Bump from diffuse is greyed out.

A normal map was detected, so the real normal is used instead of a derived bump. Remove the normal identifier match if you specifically want a bump.

The ACES checkbox is disabled.

Your file names already contain a colour space (sRGB, ACEScg, Raw, …), so Maya auto-selects per file and the manual ACES override is turned off on purpose.

My UDIM tiles only made one material.

UDIM is detected from the .1001.-style tile numbers on the diffuse. Make sure the diffuse identifier matches the tiled files; UDIM workflow then enables automatically.

Step 2 or Step 3 is greyed out and I cannot click it.

That is the step-gating doing its job. Complete the orange (active) step first — Step 1 must have a valid folder selected before Step 2 opens, and Step 2 must have at least one diffuse texture selected before Step 3 opens.

The Color Space Changer list is empty.

The list is populated from your active colour-management config. If you have no colour management configured in Maya, the list will be empty. Enable ACES 1.2 (or any OCIO config) in Maya's Color Management preferences, then reopen the tool.

Material Checker shows mismatches even after Auto-fix.

The fix validates the colour space name against the active config before applying it. If a required space (e.g. sRGB) is not present in your current config, the fix is skipped and logged in the Maya Script Editor. Check the console output for details and confirm your colour-management config matches the expected spaces.

The Analyze or Convert button in a converter is greyed out.

Both UDIM converters are gated. Analyze stays locked until you have pressed Use Selection with geometry selected; the convert step stays locked until you press Confirm tile mapping (Direction A) or Confirm UDIM assignment (Direction B) in the preview phase. Editing the grid after confirming re-locks the convert step on purpose — confirm again.

Will a converter destroy my original asset?

No, not by default. Both converters have Work on a copy ticked on, so they duplicate the geometry and leave your originals in place. Untick it only if you deliberately want to convert in-place.

Direction B gave me several objects, not one mesh.

That is the default — the objects are kept separate but share one UDIM material, grouped under the asset name. Tick Merge into one mesh in Step 3 if you want everything welded into a single object.

Flatten UVs did not change my textures.

By design. Flatten UVs → 0–1 only moves UVs back into the 0–1 square — it never touches materials or texture files. Use one of the UDIM converters if you need the textures re-wired as well.