<aside> 💡 This page refers to the open source vertex coloring toolkit found on Github
</aside>
SX Tools 2 is a multi-layer vertex coloring toolbox, referencing a workflow from common 2D image editing programs.
Vertex color layers can be added, merged, and deleted dynamically. Layers can be full-color or assigned to material channels (occlusion, metallic, roughness etc.) Multiple layer blend modes are supported, and edits happen in the viewport in realtime.
The artist can therefore apply per-vertex occlusion/metallic/smoothness/transmission/emission directly on the model, and tweak the results interactively.
SX Tools 2 is a lightweight content pipeline for creating vertex-colored game assets, with easy generation of color variants and LOD meshes.
A full PBR (Physically Based Rendering) material can be driven with vertex-based inputs. Material properties are driven by data from UV channels.
This tool ships with baseline shader networks for Unreal and Unity.
Image 1: SX Tools 2 simplifies vertex coloring, and automates high-poly mesh generation for games
Artists Are Not Monkeys
SX Tools 2 attempts to automate everything it can so that artists are freed of repetitive tedious tasks.
Keep Things Simple
There is certain trend with game projects to adopt a normal mapped, sculpting-based pipeline.
SX Tools 2 is an alternate approach, with the goal to generate high-quality meshes with PBR materials using as low-detail source assets as possible.
The Pipeline Implements the Style
The task of artists using SX Tools in a game production is more the role of a director, telling the computer what goes where. How each "what" appears in the game is defined by the batch processes. The benefit of this is that the same source art can achieve different looks simply by adjusting the batch process.
Subdivs Are Awesome
By relying heavily on Pixar's OpenSubdivs, the modeling workload of artists is very low. The primary required assets are the control cages that tend to have poly counts of ~1000. (Note that adopting subdivs in SX Tools 2 is entirely optional!)