Difference between pages "3D Asset Workflow: Completed asset checklist" and "3D Asset Workflow: Tintmask"

From Frozenbyte Wiki
(Difference between pages)
Jump to: navigation, search
m
 
m
 
Line 7: Line 7:
  
 
= Summary =
 
= Summary =
* This page consists of a checklist for the 3D artist to go through once the 3D asset is otherwise finalized, but not yet exported to the Editor/workspace
+
* A tintmask is a texture, in which different areas of the model are masked to separate color channels
 +
** The albedo of the model can then be colored in the Editor using these channels
 +
* Tintmasks are very useful for creating multiple differently colored variations of the same model, without having to make [[3D Asset Workflow: Alternative Textures|Alternative Textures]] for all of them
 +
* When using tintmasks, '''it's important to always adjust the default colors to be nice and usable as is'''
 +
** Otherwise the model will be black, and additional adjusting is needed
 +
* Some general Editor tips for tintmasks can be found from [[3D_Asset_Workflow:_General_Tips#Editor|3D Asset Workflow: General Tips#Editor]]
  
= Checklist before Exporting to the Editor =
+
[[File:tintmask_example_ledgegrabs.jpg|500px]]
# '''Are the vertex normals correct and updated?'''
+
[[File:Trine 4 wizard box tintmask.png|500px]]
#* Modo doesn't update vertex normals automatically when the object is e.g. rotated
 
#** Use the [[Modo#Vertex_Normal_Toolkit|Vertex Normal Toolkit]] to make sure your models' vertex normals are updated before exporting
 
# '''Are all your asset sets' meshes in the same Modo file, and you have removed all the extra temp stuff from there?'''
 
#* The same asset sets' meshes should be in the same file, on '''separate layers''' - the Editor will read separate layers as separate meshes
 
#** If you need to add an extra model but don't want the Editor to read it as a separate mesh for whatever reason (e.g., adding a triangulated version of the model in addition to the quad model), add an underscore ( _ ) in the beginning of the layer name - Editor will ignore these meshes completely
 
# '''Is the asset's pivot correct?'''
 
#* In [[Modo]], the asset's pivot is the scene origo
 
#** Different pivot affecting cases include:
 
#*** A) general asset (center the asset to the origo, this applies to most cases),
 
#*** B) asset with e.g. hinges (center the hinges to the origo), and
 
#*** C) asset that e.g. grows from the ground (origo should be on the bottom of the asset)
 
#*** This way, the asset is as usable by the level artists in the Editor as possible
 
# '''Are the layers named correctly?'''
 
#* Check the naming of the layers, using [[3D Asset Workflow: Naming the Asset|Naming the Asset]] as a guideline
 
# '''Are your texture files in the binary, and you have linked the albedo from there, not from your own computer locally?'''
 
#* You should always put the texture files to the binary first (no need to commit yet), and link the materials to your Modo file from there
 
#** Otherwise, they will not work correctly in the Editor
 
# '''Are there extra materials in the Shader tab or extra images in the image tab?'''
 
#* Delete everything that's temp or extra from both
 
#* In the materials, there should only be the correctly linked albedo texture, no other textures
 
# '''Have you done and checked the [[3D_Asset_Workflow: LODs|LODs]]?'''
 
#* All assets should have LODs, besides from assets that are already super low poly (e.g. billboards, for which even the Editor's automatic LODs should be turned OFF)
 
#* The LODs can have some overlapping UVs and stretching, so no need to fix everything as the LODs will mostly be seen from far away, but fix the most blatant issues
 
# '''Have you made [[3D_Asset_Workflow:_Vegetation#Sway_for_vegetation|sway maps]] for the assets that need to sway (e.g. trees, banners)?'''
 
#* In general, we want all vegetation assets and banners/flags etc to sway
 
# '''Have you compressed your targa files?'''
 
#* Open them in Photoshop and save again, tick the "Compress" option
 
#* This greatly reduces the file size
 
# '''Have you made sure the tintmasks/alttextures work and are configured properly?'''
 
#* The assets should be ready, usable, and good-looking straight from the Type Tree with no additional tweaking needed
 
  
== Checklist before Exporting an Asset that will be animated ==
+
== How Tintmasks Work ==
* An asset that will be animated will be exported to the Editor '''by the animator''', after it's rigged and animated
+
* Tintmasks are used to '''control an object's surface color using an RGB mask and color pickers in the Editor'''
 +
* The mask has 3 layers - 1 in each color channel, and a base layer in the alpha channel
 +
* The colors are blended together based on the masks' grayscale values, and the chosen layer order
 +
* '''The alpha channel (Base layer) controls the tint's overall blending with the original texture''', meaning that an alpha channel with some amount of white is always needed
 +
* The color channels correspond to certain layers by default, but they can be switched around in the meshmaterial
 +
** The default layers are listed further below
 +
* '''The tinting is applied through linear interpolation''', meaning the the tint is applied more like paint, covering the color on the previous layer, instead of showing anything through
 +
** This makes the layer ordering important, since the result varies depending on the order in which the layers are applied
  
# '''Is the asset's topology done as desired (e.g. with edge loops where they need to be, not triangulated)?'''
+
= Creating Tintmasks =
#* [[3D_Asset_Workflow:_Retopo_and_UVs#Good_topology_for_animation|Good topology for animation]]
+
* Tintmasks can be created in Substance Painter
# '''Are the assets' textures in the binary, and linked to the model from there?'''
+
** '''The color channels must be made separately on custom texture channels'''
#* The textures can and should be committed to the binary separately, before giving the asset to the animators, so that the linked textures will show up correctly when the animator opens the file
+
* The T4_asset_export configuration merges these automatically into a ready tintmask
# '''Have you committed the model to the SVN workspace, and told the animator about it?'''
+
* In order to get a correct tintmask out of Substance Painter, you must add the proper User channels
#* Unlike with non-animatable assets, which are committed to the Editor by the 3D artist, animated assets will be committed by the animator (excluding the textures)
+
** The texture channels and their corresponding mask channels are listed below:
# '''When the asset is animated and in the Editor, does it looks like it should?'''
 
#* The 3D artist's job is to keep track of the process of their own assets, even if they are committed to the Editor by the animator
 
#** The animator will only make sure the animations work, but will not touch any model settings etc
 
#* Move on to [[3D_Asset_Workflow:_Completed_asset_checklist#Checklist_in_the_Editor|Checklist in the Editor]]
 
  
= Checklist in the Editor =
+
{| class="wikitable"
# '''Does the asset look like it should?'''
+
|-
#* I.e., do all the textures look like they should, have you adjusted the emissive/tintmasks/SSS/other (if there are some) etc
+
! Texture channel
#** As a general rule, the asset should look good when the level artists want to take it from the TypeTree, with no additional tweaking whatsoever (unless they want to tweak something)
+
! Color channel
# '''Are there holes in the asset?'''
+
! Mask layer
#* Our Editor can't render ngons, thus creating holes in their place - check if your model has ngons (polygons with more than four vertices)
+
! Use
#* In general, we want all our assets to have thickness and backfaces in them - that way they're more usable for the level artists
+
|-
# '''Do the LODs work correctly?'''
+
| '''User7'''
#* Check by forcing the LODs ON from the Renderer options, both stages (1 and 2)
+
| Red
# '''Do the swayable assets (e.g. trees, plants) have [[3D_Asset_Workflow:_Vegetation#Sway_for_vegetation|sways]] ON? Do they work correctly?'''
+
| Deco layer
 +
| Small details, accents
 +
|-
 +
| '''User6'''
 +
| Green
 +
| Simple layer
 +
|
 +
|-
 +
| '''User5'''
 +
| Blue
 +
| Areas layer
 +
| Large areas
 +
|-
 +
| '''User4'''
 +
| Alpha
 +
| Base layer
 +
| Overall blending. Affects every layer
 +
|}
  
= Checklist for committing workfiles =
+
[[File:tintmask_components.jpg|400px]]
  
* Workfiles should be committed to the correct workspace SVN, so that they can be '''easily found and modified later by someone else''', if need be
+
* The user channels are found in the same list as other special channels, like emission or scattering
* Only keep the latest version of each file in the workspace SVN
+
* You can rename the channels in Painter to make them easier to work with, it won't affect the export config
* '''Organize and name all the files, layers etc properly'''
+
* '''The alpha channel (Base layer) is the only mask that is absolutely required'''
** [[3D Asset Workflow: Naming the Asset]]
+
* The Base layer controls the masks' overall blending, so without one, the mask does nothing
 +
* Even when there is the alpha channel in the tintmask, the texture files don't need to have at or ab in their name, unless they really use alpha
 +
* '''The layer names and uses are arbitrary''' when it comes to which layer affects what, but it is a good idea to keep things consistent for the sake of level artists
 +
* User channels generally don't show up on the mesh when texturing in Painter, but you can view them by cycling the single channel views
 +
** Hotkey '''C''' to switch to next texture channel, and '''shift + C''' to switch to the previous
 +
** Hotkey '''M''' returns you to the material view
 +
* '''Anchor points''' help immensely when creating masks based on texture elements
 +
** Anchor points allow you to refer to an earlier layer in the stack, so any changes made there will transfer over the anchor point
 +
*** In this case, by adding a fill effect to a layer, and to that fill assign the anchor point
 +
** Here's a video explaining anchor points:
  
- '''Workfiles required:'''
+
{{#ev:youtube
3D models: LXO + FBX
+
|https://youtu.be/w44yuMFtFyM
Texturing: SPP + PSD/TGAs
+
|
 +
|
 +
|<small><i>09 - Using Anchors</i><br>
 +
<i>Video:[[3D_Asset_Workflow:_Tintmask#Sources|Sources]]</i></small>
 +
|frame
 +
}}
  
* Unless you're working with the [[3D_Asset_Workflow:_Retopo_and_UVs#.22Triangelihuttu.22:_A_decimated_triangle_mesh_made_in_Zbrush_.26_cleaned_up_in_Modo|triangelihuttu method]], keep an un-triangulated version of the model and commit that to the workspace SVN as well (if you e.g. need to triangulate the mesh for better baking results)
+
= Using the Tintmasks in the Editor =
** It's much easier to modify quads than triangles later, if need be
+
* To tint an object, it needs a tintmask, which needs to be applied in the object's meshmaterial
** Add both versions to the workspace SVN
+
* Name the tintmask texture as [texturename]_tintmask.tga
 +
# To find the meshmaterial, right click on the object (or its type) and select '''locate type model resource'''
 +
# Right-click the meshmaterial (under MeshMaterialResources) in the model resource's properties, and selecting '''Locate GUID'''
 +
# Click on the three dots at the '''TintColorMaskTexture''' and navigate to the mask texture
 +
# Then save resources or it might not appear
 +
# In the meshmaterial, you can also set which color channels correspond to which tint layers
 +
 
 +
[[File:tintmask_meshmaterial_settings.PNG]]
 +
 
 +
* To enable tinting, select '''EnableTintColor''' in the ModelComponent properties
 +
* Then you can adjust the tinting with the rest of the settings
 +
* '''TintLayerOrder determines the order in which the layers are applied'''
 +
 
 +
[[File:tintmask_settings.PNG]]
 +
 
 +
== Creating a Tintmask for an Existing Asset ==
 +
* If you add a tintmask for an existing asset that already has textures, you'll need to:
 +
# Make the albedo map grey
 +
# Re-adjust the colors for the default look you want for the asset in the Editor
 +
#* '''The default look should be nice and not require adjusting each time'''
 +
 
 +
=Sources=
 +
 
 +
<small>
 +
Video 01 : Substance.  [accessed June 7, 2018] <i>09 - Using Anchors </i> Available at: https://youtu.be/w44yuMFtFyM<br>
 +
</small>

Latest revision as of 16:42, 28 July 2023

3D Asset Workflow

Summary

  • A tintmask is a texture, in which different areas of the model are masked to separate color channels
    • The albedo of the model can then be colored in the Editor using these channels
  • Tintmasks are very useful for creating multiple differently colored variations of the same model, without having to make Alternative Textures for all of them
  • When using tintmasks, it's important to always adjust the default colors to be nice and usable as is
    • Otherwise the model will be black, and additional adjusting is needed
  • Some general Editor tips for tintmasks can be found from 3D Asset Workflow: General Tips#Editor

Tintmask example ledgegrabs.jpg Trine 4 wizard box tintmask.png

How Tintmasks Work

  • Tintmasks are used to control an object's surface color using an RGB mask and color pickers in the Editor
  • The mask has 3 layers - 1 in each color channel, and a base layer in the alpha channel
  • The colors are blended together based on the masks' grayscale values, and the chosen layer order
  • The alpha channel (Base layer) controls the tint's overall blending with the original texture, meaning that an alpha channel with some amount of white is always needed
  • The color channels correspond to certain layers by default, but they can be switched around in the meshmaterial
    • The default layers are listed further below
  • The tinting is applied through linear interpolation, meaning the the tint is applied more like paint, covering the color on the previous layer, instead of showing anything through
    • This makes the layer ordering important, since the result varies depending on the order in which the layers are applied

Creating Tintmasks

  • Tintmasks can be created in Substance Painter
    • The color channels must be made separately on custom texture channels
  • The T4_asset_export configuration merges these automatically into a ready tintmask
  • In order to get a correct tintmask out of Substance Painter, you must add the proper User channels
    • The texture channels and their corresponding mask channels are listed below:
Texture channel Color channel Mask layer Use
User7 Red Deco layer Small details, accents
User6 Green Simple layer
User5 Blue Areas layer Large areas
User4 Alpha Base layer Overall blending. Affects every layer

Tintmask components.jpg

  • The user channels are found in the same list as other special channels, like emission or scattering
  • You can rename the channels in Painter to make them easier to work with, it won't affect the export config
  • The alpha channel (Base layer) is the only mask that is absolutely required
  • The Base layer controls the masks' overall blending, so without one, the mask does nothing
  • Even when there is the alpha channel in the tintmask, the texture files don't need to have at or ab in their name, unless they really use alpha
  • The layer names and uses are arbitrary when it comes to which layer affects what, but it is a good idea to keep things consistent for the sake of level artists
  • User channels generally don't show up on the mesh when texturing in Painter, but you can view them by cycling the single channel views
    • Hotkey C to switch to next texture channel, and shift + C to switch to the previous
    • Hotkey M returns you to the material view
  • Anchor points help immensely when creating masks based on texture elements
    • Anchor points allow you to refer to an earlier layer in the stack, so any changes made there will transfer over the anchor point
      • In this case, by adding a fill effect to a layer, and to that fill assign the anchor point
    • Here's a video explaining anchor points:
09 - Using Anchors
Video:Sources

Using the Tintmasks in the Editor

  • To tint an object, it needs a tintmask, which needs to be applied in the object's meshmaterial
  • Name the tintmask texture as [texturename]_tintmask.tga
  1. To find the meshmaterial, right click on the object (or its type) and select locate type model resource
  2. Right-click the meshmaterial (under MeshMaterialResources) in the model resource's properties, and selecting Locate GUID
  3. Click on the three dots at the TintColorMaskTexture and navigate to the mask texture
  4. Then save resources or it might not appear
  5. In the meshmaterial, you can also set which color channels correspond to which tint layers

Tintmask meshmaterial settings.PNG

  • To enable tinting, select EnableTintColor in the ModelComponent properties
  • Then you can adjust the tinting with the rest of the settings
  • TintLayerOrder determines the order in which the layers are applied

Tintmask settings.PNG

Creating a Tintmask for an Existing Asset

  • If you add a tintmask for an existing asset that already has textures, you'll need to:
  1. Make the albedo map grey
  2. Re-adjust the colors for the default look you want for the asset in the Editor
    • The default look should be nice and not require adjusting each time

Sources

Video 01 : Substance. [accessed June 7, 2018] 09 - Using Anchors Available at: https://youtu.be/w44yuMFtFyM