SX Tools: Multi-layer Vertex Coloring with AO, Curvature, PBR and Palettes (WIP)

Oh, depending on which version you’ve been using before, you may notice some changes.

In 4.x it’s now possible to apply all filler actions (color, gradient, AO etc.) with their own separate alpha and blend mode.

For example, you can add 10% RGB noise with Multiply blend directly into an existing layer. In 3.x this needed a free layer to fill with noise, followed by a layer merge operation.

2 Likes

Beta 4.x release now on github.

Performance release:

  • Working with denser meshes is now in some cases 100X faster.
  • Simple meshes now over twice as fast to batch process.
  • Filler operations can be performed on existing layers (e.g. apply gradients at 10% opacity in Multiply mode to existing layers)
  • UI more responsive.
  • Filler tool UI redesigned, may still be re-organized

Feedback most welcome!

5 Likes

Stable 5.x out.

  • Smart separate improved
  • UI streamlined
  • Tiling mesh AO support using geometry nodes
  • And numerous minor usability & functionality tweaks
5 Likes

Version 6.x is out with support for Blender 3.4
I’ll maintain this version for a while, but there’s a major rewrite in development as well, which brings some fundamental improvements.

2 Likes

SX Tools 2 is out.

A significant rewrite of SX Tools, with at least the following notable improvements:

  • Fully dynamic layer stack, layers can be added, deleted, re-ordered, and types changed
  • GPU compositing of layer stack
  • Palette tool rewritten with a preview mode
  • Transparent objects dynamically supported (just set Base layer opacity to <1.0)
  • Exporting of vertex colors as palette atlas textures added (removes the need for custom shaders)
  • Minor usability and performance fixes
  • Color layers compatible with Blender’s Vertex Paint tools
4 Likes

Updated with improved occlusion performance and now requires Blender 3.5

3 Likes

Tiny tweaks here and there, Blender 3.6 compatibility tested.

2 Likes

Thanks for the tool Frand, I was looking for something like this since I used Vertex Chamaleon in Maya some years ago!. I would like to give you some feedback.
Right now I´m painting colors with this setup

Every time I create a new layer it changes to shaded mode

Could be possible to save the configuration while you create layers?
Thanks again!

Hi Alex, thanks for the feedback!

Just to be clear, are you in Vertex Paint mode, and:

  1. want to paint on multiple layers while seeing all layers at the same time
    or
  2. want to paint on a single isolated layer while the others are hidden?

and if 1, then you don’t want scene illumination to affect the shading?

If you want to see the composited result, then unfortunately Shaded mode must be enabled for the material to work. If you want to work on isolated layers, SX Tools has the Debug mode which displays only a single layer at a time without scene illumination affecting it.

There is a visual difference between SX Tools Debug mode and Blender’s Flat mode, and that’s because it appears Flat entirely bypasses Blender’s color correction pipeline. I leave it up to you to determine if that’s a good or a bad thing for your work.

Now, if you want to try just painting in Flat shading without SX Tools flipping the shading mode, just do this:

in the function named update_selected_layer change this line (roughly line number 5545 in the file):

        shading_types = ['MATERIAL', 'RENDERED'] 

to

        shading_types = ['SOLID', 'MATERIAL', 'RENDERED']

and see if it improves your workflow.

Hope this helps!

1 Like

Thanks!!! Amazing!, this addon is unique I didn’t find anything similar, thanks!

Updated with new Godot and Unreal materials.

Now with experimental convex hull generation. Artists can paint sections of even multi-mesh objects with colors which are used to generate mesh islands for convex hulls. It’s slightly more work than using, say, VHACD, but results are quite a bit cleaner.

The hull generator takes a triangle budget per hull as input, and iterates on the hull until it meets the requirement.

SX Tools 2 v1.18.3 on github master branch.

1 Like

Black elements are processed as whole objects, the frame is split into two mesh islands.

Is there any documentation or vid tutorials about this addon? It got my interest, yet I cannot wrap my idea about the workflow (i personally would use it for game assets)

The documentation site is here, and it’s fairly up-to-date (lacking only some lately-added extra tool options). There is a very basic tutorial of painting layered vertex colors on Suzanne if you scroll all the way down:

You can approach SX Tools in a number of ways.

  1. If you have your (preferably low-poly) models, you can just use the basic multi-layer vertex color tools to get decent surface detail without UV mapping and texturing.

  2. Going ground-up, you can model a low-poly control cage with the custom SX Tools modifier stack enabled. Essentially you’ll just model the mirror-half of your mesh, and work with the crease/bevel/subdivision modifier stack to get to your final shape. All layered painting is performed on the low-poly control cage.

  3. For full game production pipeline, you can define template layer stacks per object category (such as vehicles, buildings, characters…) and define magic processing macros to automate stuff like baking of occlusion, application of curvature shading, using layer A to mask layer B while applying tools, and so on.

The beauty of using multi-layered vertex colors is that the per-layer masks are preserved and exported to the game engine, allowing all assets to be dynamically re-paletted in the game according to your needs. Example materials are in the project for Godot, Unreal, and Unity.

1 Like

Now with preliminary Blender 4.0 beta support.

1 Like

Latest release adds proper Blender 4.x support and a new feature called Collision IDs. It is a new layer type that allows an artist to paint unique vertex colors for each convex sub-region of a complex mesh.

This feature makes it fairly straightforward to create accurate collision meshes for any mesh.

Under “Magic” tab, enable “Create Convex Hulls on Export” and then the sub-option “Use Collider IDs”.

Faces left with (0.0, 0.0, 0.0, 0.0) face color are discarded from hull mesh generation.

SX Tools 2 for Blender 4.1

New release, now requires Blender 4.1

In some internal benchmarks Blender 4.1 appears to be 20-30% faster for SX Tools 2 workflows.

2 Likes

Hi, You have such an amazing art tool, I used to use Vertex Chameleon in Maya many years ago, which I guess SX Tools is the spiritual successor to. Game development has brought me back to using vertex colours to create a stylised and lightweight workflow for my current project. I’m wondering if you are still unable to add ‘Bake vertex colours from texture’ into SX Tools, there is another method of doing this in Blender but I can’t then copy those vertex colours into your layers in order to work on them further. It would be great if you could integrate the bake texture to colours so the workflow is contained to SX tools.

Hi Richard,

Thanks for the kind words! I have not tried this myself, but I think you can bring any color_attribute into SX Tools by just naming it correctly.

  1. Create a new Color Attribute in Blender, bake your texture into it (make sure the domain for the color attribute is face corner and not vertex, colors should be 32-bit float)
  2. In SX Tools UI, create a new layer, note that it creates a new Color Attribute as well, typically Layer 0-n
  3. Delete that Color Attribute, rename your bake attribute to the same name
  4. You may need to toggle SX Tools shading mode once to have the new Color Attribute showing up in the composite view.

Hope this works!