SX Tools 2 for Blender
NOTE: Please visit the Documentation Site
Comparison
SX Tools | SX Tools 2 |
---|---|
Static layer stack | Fully dynamic layerstack |
CPU viewport compositing | GPU compositing |
Vertex color exporting | Vertex color and palette texture atlas exporting |
Transparency only as an export category | Transparency as a per-object viewport feature |
For Game Developers
SX Tools 2 is a lightweight content pipeline for vertex-colored assets that drive PBR (Physically Based Rendering) materials in a game. This tool ships with baseline shader networks for Unreal and Unity.
For 3D Artists
SX Tools is a multi-layer vertex coloring toolbox, referencing a workflow from common 2D image editing programs.
Highlights
Game artists can now work with vertex colors as layers with opacities and blend modes. Regular paint operations like gradients, color fills and even occlusion baking can be performed directly to vertex color layers. SX Tools 2 comes with a dynamic custom material that displays all edits 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.
Features
- Multi-layer vertex color editing
- Layer blend modes (alpha, additive, multiply, overlay)
- Color filler with optional noise
- Color gradient tool with optional noise
- Curvature-based shading
- Vertex ambient occlusion baking
- Mesh thickness baking
- Luminance-based tone-mapping
- Master Palette Tool for quickly replacing the color scheme of object/objects
- PBR Material Library
- Quick-crease tools
- Modifier automations
- Material channel editing (subsurface scattering, occlusion, metallic, roughness)
- FBX-exporting multi-layer vertex-colors to game engines via UV channels to drive the standard PBR material
Installation:
- Download the zip file, uncompress it, then install and enable sxtools2.py through the Blender add-on interface
- Point the library folder in SX Tools 2 prefs to the unzipped folder
- Pick your asset library .json file if you also use SX Batcher
- SX Tools 2 will appear as a tab in the top right corner of the 3D view
Getting Started:
Now would be a good time to visit the Documentation Site
Exporting to Game Engines
The basic flow for using SX Tools in game development is as follows:
- Model your assets as low-poly control cages for subdivision
- Define the categories needed for your objects in your game
- Assign objects to categories
- Color the objects according to category-specific layer definitions
- Batch-process the objects for export, leave as much work for automation as possible. Take a look at the existing batch functions and adapt to your project needs.
- Export to your game engine as FBX
- Run the assets using a the provided custom material (or make your own)
The package contains simple example shader graphs for Unreal4, and both HDRP and URP renderers in Unity. Dynamic palette changes in the game engine are not facilitated by the example shader graphs, but they do fully support driving PBR material channels with UV data.
Currently the export channels are set in the following way:
Channel | Function |
---|---|
UV0 | Reserved for a regular texturing |
UV1 | Reserved for lightmaps |
U2 | Layer coverage masks for dynamic palettes |
V2 | Ambient Occlusion |
U3 | Transmission or SSS |
V3 | Emission |
U4 | Metallic |
V4 | Smoothness |
U5 | Alpha Overlay 1, an alpha mask channel |
V5 | Alpha Overlay 2, an alpha mask channel |
UV6/UV7 | RGBA Overlay, an optional additional color layer |
Vertex colors are exported from the Composite/VertexColor0 layer. Material properties are assigned according to the list above. Note that emission is exported only as an 8-bit mask for base vertex color, not a full RGBA-channel.
(c) 2017-2023 Jani Kahrama / Secret Exit Ltd.
Acknowledgments
Thanks to:
Rory Driscoll for tips on better sampling
Serge Scherbakov for tips on working with iterators
Jason Summers for sRGB conversion formulas
SX Tools 2 builds on the following work:
Vertex-to-edge curvature calculation method
Algorithm by Stepan Jirka
http://www.stepanjirka.com/maya-api-curvature-shader/
Integrated into SX Tools 2 under MIT license with permission from the author.
V-HACD For Blender 2.80
Add-on by Alain Ducharme (original author), Andrew Palmer (Blender 2.80)
https://github.com/andyp123/blender_vhacd
SX Tools 2 detects the presence of the V-HACD add-on and utilizes it for mesh collider generation.