Texture Assignment in Maya
Table of Contents
Summary
This document details the workflow of texturing assignment in Maya with SYNK, highlighting essential steps to properly link textures to meshes. At the end of the process we generate a file that links our textures and materials to the correct shapes across different softwares.
Starting the task
Ftrack
In order to start working on the texture assignment of your asset, you will first need to:
Make sure you’re logged in to Ftrack connect, which is a standalone app.
Travel to the texturing or texture assignment task of the asset you want to work on.
Launch the SYNK Maya action.
A version of Maya which includes the SYNK Pipeline will now launch automatically.
Maya
Once Maya opens, you will be greeted by a window that will allow you to select which version of the file you want to work with.
Open the version you want to work with or create a new version and start assigning textures.
Shader Setup
Texture Assignment is basically the same work as shading in Maya through the Hypershade.
Shader Setup
Any shader where the textures don’t use UDIMs you can use texture nodes that have the UV Tiling Mode set to “Off”.
Windows > Rendering Editors > Hypershade
Create > Arnold Shader Surface > aiStandardSurface
Rename the nodes of the shader. Check Texture Assignment in Maya for more details.
Assign the textures to the shader. They can be found here: ProjectName\6_vfx\601_library\AssetType\AssetName\AssetVariant\workspaces\tex\subpaint\publish
BaseColor > Base Color
MaskMap > (R) to Metalness. (Alpha) to Specular Roughness
Normal > Normal Camera
SSS > (R) to Subsurface
Thickness > Subsurface Radius
Transmission > Subsurface Color
LayerMask > Any unused shader inputs
Hair Cards Groom Shader Setup
Any shader where the textures don’t use UDIM naming conventions or for Groom shaders you can use texture nodes that have the UV Tiling Mode set to “Off”
Windows > Rendering Editors > Hypershade
Create > Arnold Shader Surface > aiStandardSurface
Rename the nodes of the shader. Check https://synk.atlassian.net/wiki/spaces/SW/pages/edit-v2/708116481#Shader-Naming-Convention for more details.
Assign the textures to the shader. They can be found here: ProjectName\6_vfx\601_library\AssetType\AssetName\AssetVariant\workspaces\tex\subpaint\publish
BaseColor > Base Color
Normal > Normal Camera
Opacity > Opacity
AO > Specular Color
UDIM Shader Setup
When using the mari UDIM workflow only one shader is required. If this isn’t selected then you’ll have to create a shader for each texture sets that you have.
Windows > Rendering Editors > Hypershade
Create > Arnold Shader Surface > aiStandardSurface
Rename the nodes of the shader. Check Texture Assignment in Maya for more details
Assign the textures to the shader. They can be found here: ProjectName\6_vfx\601_library\AssetType\AssetName\AssetVariant\workspaces\tex\subpaint\publish
BaseColor > Base Color
MaskMap > (R) to Metalness. (Alpha) to Specular Roughness
Normal > Normal Camera
SSS > (R) to Subsurface
Thickness > Subsurface Radius
Transmission > Subsurface Color
click to enlarge
Assign the shader to meshes.
Shader Naming Convention
Basic Shader Naming
arnoldShader: SH_mats_(MaterialName)_tex_v(Version)_(ID)
shadingEngine: SE_mats_(MaterialName)_tex_v(Version)_(ID)
(MaterialName) = Set the name of the asset is fine. If the shader is from Substance Designer then it will take the name of the substance archive.
(Version) = The numeric version of the material, starting at v001 and being incremented with each update.
(ID) = A unique numeric identifier in case the same material is used multiple times (mostly when it has transparency or has multiple UDIMs per mesh) starting at 01 and being incremented for each different use of the material.
UDIM Shader Naming
arnoldShader: SH_mats_(MaterialName)_tex_v(Version)_UDIM_(ID)
shadingEngine: SE_mats_(MaterialName)_tex_v(Version)_UDIM_(ID)
(MaterialName) = Set the name of the asset is fine. If the shader is from Substance Designer then it will take the name of the substance archive.
(Version) = The numeric version of the material, starting at v001 and being incremented with each update.
UDIM = The UDIM tile on which the UV shells of the meshes that will receive the material are located on.
(ID) = A unique numeric identifier in case the same material is used multiple times (mostly when it has transparency or has multiple UDIMs per mesh) starting at 01 and being incremented for each different use of the material.
Multiple shaders on a single mesh
Texture Assignment publishes support multiple UDIM per meshes. To do so all you need to do is to assign another shader on the geometry.
You can duplicate special (with connections to network) the UDIM shader. All you need to change in the shader name is increment the ID number.
Hair Cards Groom Shader Naming
arnoldShader: SH_mats_(MaterialName)_tex_v(Version)_groom_(ID)
shadingEngine: SE_mats_(MaterialName)_tex_v(Version)_groom_(ID)
(MaterialName) = You can set whatever name you want
(Version) = The numeric version of the material, starting at v001 and being incremented with each update.
(ID) = A unique numeric identifier in case the same material is used multiple times (mostly when it has transparency or has multiple UDIMs per mesh) starting at 01 and being incremented for each different use of the material.
Setting Surface Type
The following tags are to automatically set material properties in Unity. It is important to set it correctly here as Unity artists aren’t in charge of doing shading.
Alpha Clip shaders
All shaders that have clip in their name are automatically set to use alpha clipping and set to double sided in Unity.
SH_mats_Example_tex_v001_clip_UDIM_01
You can combine multiple tags too.
SH_mats_Example_tex_v001_sss_clip_UDIM_01
Displacement shaders
All shaders that have displ in their name are automatically set to tessellation in Unity.
SH_mats_Example_tex_v001_displ_UDIM_01
The height map should be connected through the displacement shader.
Transparent shaders
All shaders that have trans in their name are automatically set to transparent in Unity.
SH_mats_Example_tex_v001_trans_UDIM_01
Combined mesh with opaque and transparent shaders
Assign transparent shaders only to geometry or meshes that are fully transparent. If you have a combined mesh that requires opaque and transparent shaders at the same time you can assign the trans shader to a selection of faces.
Result in Unity
Subsurface Scattering shaders
All shaders that have sss in their name are automatically set to transparent in Unity.
SH_mats_Example_tex_v001_sss_UDIM_01
Layered shaders
All shaders that have Layered in their name are automatically set to use LayeredLit shaders in Unity
SH_mats_Examples_tex_v001_layered_UDIM_01
Tips
What happens when no shaders are assigned
Meshes that are published from Maya without a shader (typically having lambert1, will get the default material as specified in the SYNK config.
When publishing the file, these node names will be published to a .json file that will be used by Unity to import the correct materials to your models (it is called a MaterialLink file), so be careful to name them correctly.
Texture Import
In the file explorer of Windows, go to the location of the texture files ProjectName\6_vfx\601_library\AssetType\AssetName\AssetVariant\workspaces\tex\subpaint\publish
Example: Demo\6_vfx\601_library\deco\Cube\A\workspaces\tex\subpaint\publish
Select all the maps and drag&drop them in the Hypershade. This will batch import them all at once in the maya scene.
Texture Update
Use the File Path Editor to quickly increase the version number of the files Windows > General Editors > File Path Editor
Texture preview in viewport is grey
When using the mari UDIM setting there’s a chance that the texture preview doesn’t give you the expected result. To fix that simply select the texture node in the Hypershade and click on Generate Preview. That button should appear in bright red colour.
Publishing the version
Now that your texture assignment is done, you can publish it to ftrack!
This is done through the Maya Tools in the General tab.
In order to publish your file, you will have to:
Run the Sanity Check
Make a Turntable Playblast
Launch your Publish