Texture Assignment in Maya

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:

  1. Make sure you’re logged in to Ftrack connect, which is a standalone app.

  1. Travel to the texturing or texture assignment task of the asset you want to work on.

  1. 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.

The most important tab is the Work tab:

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”.

  1. Windows > Rendering Editors > Hypershade

  2. Create > Arnold Shader Surface > aiStandardSurface

  3. Rename the nodes of the shader. Check Texture Assignment in Maya for more details.

  4. Assign the textures to the shader. They can be found here: ProjectName\6_vfx\601_library\AssetType\AssetName\AssetVariant\workspaces\tex\subpaint\publish

    1. BaseColor > Base Color

    2. MaskMap > (R) to Metalness. (Alpha) to Specular Roughness

    3. Normal > Normal Camera

    4. SSS > (R) to Subsurface

    5. Thickness > Subsurface Radius

    6. Transmission > Subsurface Color

    7. LayerMask > Any unused shader inputs

image-20250703-124947.png

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”

  1. Windows > Rendering Editors > Hypershade

  2. Create > Arnold Shader Surface > aiStandardSurface

  3. Rename the nodes of the shader. Check https://synk.atlassian.net/wiki/spaces/SW/pages/edit-v2/708116481#Shader-Naming-Convention for more details.

  4. Assign the textures to the shader. They can be found here: ProjectName\6_vfx\601_library\AssetType\AssetName\AssetVariant\workspaces\tex\subpaint\publish

    1. BaseColor > Base Color

    2. Normal > Normal Camera

    3. Opacity > Opacity

    4. AO > Specular Color

image-20250703-120849.png
Example of multiple shaders for hair cards

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.

image-20250219-102335.png
TextureAssignment_Hypershade_CreateNewShader.mp4
Create Shader
TextureAssignment_Hypershade_ImportTexturesUDIM.mp4
Texture import and connections
  1. Windows > Rendering Editors > Hypershade

  2. Create > Arnold Shader Surface > aiStandardSurface

  3. Rename the nodes of the shader. Check Texture Assignment in Maya for more details

  4. Assign the textures to the shader. They can be found here: ProjectName\6_vfx\601_library\AssetType\AssetName\AssetVariant\workspaces\tex\subpaint\publish

    1. BaseColor > Base Color

    2. MaskMap > (R) to Metalness. (Alpha) to Specular Roughness

    3. Normal > Normal Camera

    4. SSS > (R) to Subsurface

    5. Thickness > Subsurface Radius

    6. Transmission > Subsurface Color

      image-20250617-105108.png
      click to enlarge
  5. 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)

SH_mats_Cube_tex_v001_01 SE_mats_Cube_tex_v001_01
  • (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)

SH_mats_Cube_tex_v001_UDIM_01 SE_mats_Cube_tex_v001_UDIM_01
  • (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.

Original Shader Duplicated Shader SH_mats_Cube_tex_v001_UDIM_01 SE_mats_Cube_tex_v001_UDIM_01 SH_mats_Cube_tex_v001_UDIM_02 SE_mats_Cube_tex_v001_UDIM_02

Hair Cards Groom Shader Naming

arnoldShader: SH_mats_(MaterialName)_tex_v(Version)_groom_(ID)

shadingEngine: SE_mats_(MaterialName)_tex_v(Version)_groom_(ID)

SH_mats_Daphnee_tex_v001_groom_01 SE_mats_Daphnee_tex_v001_groom_01 SH_mats_Daphnee_tex_v001_Groom_01 SE_mats_Daphnee_tex_v001_Groom_01
  • (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.

Screenshot 2025-09-25 121814.png
example of shader using displacement and sss

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.

image-20250917-085156.png
OpaqueAndTransparent.mp4

Result in Unity

Screen Recording 2025-09-17 110718.mp4

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

SSS shader setup and assignment

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.

image-20250219-103036.png

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:

  1. Run the Sanity Check

  1. Make a Turntable Playblast

  1. Launch your Publish