Skip to content

Repository files navigation

Materials Processor

A beta tool for ingestion, standardization, and conversion of material networks across DCCs. It supports Houdini, Blender, and Maya material graph traversal, with USD MaterialX and OpenPBR export paths.

Current package version: 2.0.0-beta.

PySide UI
PySide UI
Right-click menu
Right-click menu

Features

  • UI supports drag and drop for dropping material nodes from Houdini.
  • Houdini ingestion and conversion for Principled Shader, Arnold, MaterialX, Redshift, and OpenPBR paths.
  • Blender scene inspection and USD MaterialX/OpenPBR material export from the command line.
  • Maya scene inspection and USD MaterialX/OpenPBR material export from the command line.
  • Runtime validation for Blender and Maya.

Installation

  • For Python development, use uv --native-tls sync.
  • On Windows: run the included batch installer install_houdini_win.bat.
    • Double-click install_houdini_win.bat in File Explorer.
    • The script copies the project folder to %USERPROFILE%\Documents\HoudiniTools.
    • The script also copies Axe_Material_Processor.json to %USERPROFILE%\Documents\houdini21.0\packages.
    • To install to a different Houdini version, run install_houdini_win.bat <HOUDINI_VERSION>, for example install_houdini_win.bat 20.5.
    • If you encounter permission or auditing errors, run the batch file as Administrator.
    • After installation, restart Houdini to load the tool.

CLI Quickstart

Show the installed package version:

uv --native-tls run materials-processor --version

Discover local DCC runtimes:

uv --native-tls run materials-processor doctor

Run deeper runtime checks:

uv --native-tls run materials-processor doctor --validate --material-smoke

Inspect a Blender scene without writing USD:

uv --native-tls run materials-processor blender inspect "C:\path\to\scene.blend" --report-json "C:\temp\blender_report.json"

Export Blender materials to USD MaterialX and OpenPBR:

uv --native-tls run materials-processor blender export-usd "C:\path\to\scene.blend" --out-dir "C:\temp\materials"

Use Blender texture remapping when a scene points at missing source paths:

uv --native-tls run materials-processor blender inspect "C:\path\to\scene.blend" --texture-root "D:\textures" --missing-textures error

Inspect a Maya scene without writing USD:

uv --native-tls run materials-processor maya inspect "C:\path\to\scene.ma" --report-json "C:\temp\maya_report.json"

Export Maya materials to USD MaterialX and OpenPBR:

uv --native-tls run materials-processor maya export-usd "C:\path\to\scene.ma" --out-dir "C:\temp\maya_materials"

Validate a single runtime directly:

uv --native-tls run materials-processor runtime validate --dcc blender --material-smoke
uv --native-tls run materials-processor runtime validate --dcc maya --material-smoke

Current Limitations

  • Blender node groups are reported as unsupported nodes; they are not expanded into USD yet.
  • Blender texture remapping is available, but Maya texture remapping is not implemented yet.
  • Maya CLI export currently traverses shading engines with surface shader connections in a saved .ma or .mb scene.
  • Houdini remains the most mature in-DCC workflow. Blender and Maya CLI support are newer beta paths focused on graph extraction and USD material export.
  • USD export currently targets MaterialX and OpenPBR material files, not full asset/shot USD assembly.

Roadmap

  • Add support for Solaris and USD files.
  • Finish implementation for Redshift.
  • Add command line support for Blender.
  • Add command line support for Maya.
  • Add a user-facing cross-DCC Qt launcher around the CLI workflows.
  • Add implementation for Vray and Renderman.
  • Extend support to other apps like Substance Painter.

About

a cross-DCC Material converter that supports multiple render engines and USD fileformat

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages