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.
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
filenodes. - 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.
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 (defaultAI_). 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.
1 · Color Space Changer
Apply a colour space to a batch of file nodes without rebuilding anything.
- Step 1 — Select file nodes. Select the
filenodes in Maya and pressUse 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.Refreshre-reads the config.
2 · Material Checker (+ Auto-fix)
Catch colour-space mistakes across your shaders in one pass.
- Step 1 — Choose scope & check. Pick
Selected materialsorEntire sceneand pressCheck. For everyaiStandardSurfaceit traces each channel back to its sourcefilenode 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-fixto 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, thenAnalyze. 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 namesstrips tokens like_geo/_meshfrom object names, andOutput namingsets 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 distributionopens a separate dialog mirroring the UV Editor layout (1001 at bottom-left, tiles read bottom-to-top). PressConfirm tile mappingto 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 copyis on by default so your original UDIM asset is untouched.Split tiles into separate objectsgives one object per tile instead of face-assigned materials on one mesh;Group result under the asset namekeeps the output tidy. PressConvert.
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, thenAnalyze. 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 anIncludetick. Reorder tiles as needed;Preview UV distributionshows where everything lands. PressConfirm UDIM assignmentto unlock Step 3. - 3 · Naming & Convert. Set the
Output asset name (master),Material name, andTexture 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 anOutput folder.Work on a copyis on by default;Merge into one meshwelds everything into a single object — leave it off to keep the objects separate while sharing one UDIM material. PressConvert.
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.