SkillAgentSearch skills...

EZLookdevTools

A plugin base toolset for surfacing and look dev, based on my own tools, for maya, katana, painter, mari, renderman, and nuke

Install / Use

/learn @ezequielmastrasso/EZLookdevTools

README

Table of Contents

LookdevTools
Installation
Tools
    Maya Surfacing Projects
        Hierarchical Structure
        Export
        Instances
        Substance Painter Udims
    Maya Surfacing Viewport
    txmake
    Material Mapping
        Texture Import
    Katana Surfacing Projects
Macros Gizmos and Templates
    Studio Lighting
    Gaffer
        GetBoundingBox Node
        AttributeRead Node
        SurfacingSets Node
        ShowMetadata Node
        Shaderball Node
        ShaderView
        ShadingModes
    Nuke
        AOV correct
        Lightgroups correct
        Lightgroups ContactSheet
    Katana
        Asset Turntable Template
        Material Lookdev
        Render Layers
        TextureSet Loader
        Texture Locatization
        Interactive Filters
        Grey Shaders Overrides
Writing tools
    Example plugin
Road Map
    v0.1
    What's next
Credits

| WARNING: most of this toolset was cleaned and moved up in my repo LDTGaffer, also used in my other repo gaffer-examples | | --- |

LookdevTools

A tool set for maya, katana, gaffer, and nuke for surfacing and look development.
It aims to be the missing glue between maya (uv prepping and organizing), mari/painter, and maya/katana/gaffer rendering, covering most of the repeatitive tasks, letting you focus on the surfacing.
Based on my own tool box used for lookdev.

The rendering tools in Maya and Katana are based on Pixar Renderman, Gaffer tools based on Arnold.

Installation

A few environment variables are required for this tools.

Linux
<pre>/ldtenvset.sh</pre>
Windows
<pre>Coming soon</pre>

Tools

Maya Surfacing Projects

This tools allows you to:

  • Organize maya meshes into different Surfacing Projects, and Surfacing Objects .
  • Merge meshes for surfacing
  • Export alembic files for surfacing
  • Import the texture sets back to the Surfacing Projects and Surfacing Objects in Maya, Katana or Gaffer

Before we begin

textureSet:

Is a group of channels (textures) that describes a material, or the look of a material. For example, a metal textureSet would have channels for albedo, metalness, roughness, normal, etc

Channel:

Is an individual texture (or several if using udim) that describe a single property of a material. For example: diffuseColor.

What is a surfacing object?:

Is a group of meshes that will share a textureSet, for example: an armchair's leather parts, or the armchair's wooden parts.

What is a surfacing project?:

Is a group of Surfacing Objects, for example: The armchair. This is usually what you will want to bring into your surfacing software, where you will have your Armchair leather and wooden parts as separated meshes. You can have as many Surfacing Projects as you want, to surface separately.

<img width="100%" src="docs/images/workflow_diagram.jpg" alt="EZSurfacing Tools" style="" /> Who said a workflow diagram can't look hip.

Hierarchical Structure

example

surfacing_root
    room 
        Floor
            wood
            rug
        walls
            wallFront
            wallLeft
            skirtings
    armChair
        leather
            back
            sit
            sides
        wood
            armrests
            legs
        blanket
            fabricSquare
            edgingFabric
<img width="100%" src="docs/images/mayaEZSurfacing_create.gif" alt="EZSurfacing Tools" style="" />

Export

When exporting, the tools merge the meshes inside a surfacing object. Following the example from above: It will merge all the Armchair's leather parts, as a single mesh called "leather".
The tool then reverts back to your original (non merged) scene. The armchair example from above exported.

<img width="1000%" src="docs/images/mayaEZSurfacing_export.gif" alt="EZSurfacing Tools" style="" /> <img width="50%" src="docs/images/mayaEZSurfacingExport.png" alt="Surfacing Tools" style="" />
Export subdivisions

Select the subdivision level to apply before exporting from the Surfacing Tool UI.

Subdivions and memory

Usually this would not be a problem. However, if you are working on a heavy asset or scene (for ei the pixarCabin), you might find memory consumption spikes at export time due to subdivided meshes. If this is an issue, you can either export each surfacing_project individually, or optimize your scene:

  • Check for high poly count objects in your scene
  • Avoid adding Instances to Surfacing Objects, instead add the instance source.
As Mari is optimized for one single mesh, **Surfacing Objects** count inside a surfacing project is important.   
The amount of SurfacingObjects can impact your performance. The more SurfacingObjects you have inside a single  
surfacing project, the slower Mari will be.
It is not recommended using more than 8 **Surfacing Objects** per surfacing project for Mari.
Instances

When working with instanced meshes, as much as posible, add the instance source to the Surfacing Objects.
Notice in this set maya viewport -that was entirely built with instances- how only the instance sources are added to the Surfacing Objects, and not the set itself.

<img width="50%" src="docs/images/mayaEZSurfacingInstances.jpg" alt="Surfacing Tools" style="" />
Substance Painter and Udims

When using the Surfacing Project alembic file, and Substance Painter with udim:

  • All meshes inside a Surfacing Object, must be contained inside a single udim
  • Surfacing Objects should not have overlapping Uvs.

Maya Surfacing Viewport

Assigns materials, or wireframe colors to Surfacing Projects or Surfacing Objects to visualize them in the Viewport.
Colors will match across applications.

<img width="33%" src="docs/images/mayaEZSurfacing.png" alt="EZSurfacing Tools" style="" /><img width="33%" src="docs/images/mayaEZSurfacing2.png" alt="Surfacing Tools" style="" /><img width="29.5%" src="docs/images/wireframeColor.png" alt="Surfacing Tools" style="" />

txmake

There are plenty of txmake tools available.
What makes this tool handy is:

  • multiprocessing: Run as many simultaneous txmakes as you want. This gives a performance boost of up to 9 times faster (as tested) when converting many textures at once.
  • extra arguments list.
  • search texture files recursively in a given folder.

Texture Import

Find and import textures into your maya scene. Search in folders is recursive.

<img width="100%" src="docs/images/textureImport.png" alt="EZSurfacing Tools" style="margin-right: 10px;" />

Material Mapping

Click on Search files in folder, and the tool will -for each texture file- load its surfacing project, surfacing_object, colorspace, textureset_element name as well as what shader_plug it should be connected in a PxrSurface shader, and group them together by udim.
Make any assignment changes in this excel like interface before importing.

<pre> {surfacing_project}_{surfacing_object}_{textureset_element}_{colorspace}.{UDim}.{extension} For example: room_chair_baseColor_sRGB.1001.exr </pre>

206 Textures, from 6 Substance Painter textureSets imported to the Pixar cabin with a single click.

<img width="100%" src="docs/images/materialMappingCabin.png" alt="EZSurfacing Tools" style="margin-right: 10px;" />
Notes
  • If your file name has the {colorspace} token somewhere, the tools will create the file nodes with the correct colorspaces. OCIO partially supported, only the commonly used colorspaces.
    Valid colorspaces are:
    • sRGB
    • raw
    • linear
  • The tool uses fuzzy string matching to give naming some flexibility to errors or differences, like capital letters, camel casing, or different spellings.

Katana Surfacing Projects

Creates collections and materials based on the Surfacing Projects and Surfacing Objects found in the s

View on GitHub
GitHub Stars75
CategoryDesign
Updated3mo ago
Forks7

Languages

Mathematica

Security Score

100/100

Audited on Dec 26, 2025

No findings