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/EZLookdevToolsREADME
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.
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.
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.
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
