Vertex Color Editor
UV and Material ID Offsetting
Float Faces
Asset Library
These images and videos are from an unreleased project that I had the pleasure of being a Senior Technical Artist for. They represent custom tooling created for Blender modeling software used to improve various tasks and processes in the art pipeline. All tooling was created with python.
Vertex Color Editor - This tool was created to allow for per channel editing precision and to avoiding context switching between different modes when selecting and applying vertex colors. It allows users to apply colors to vertex, edge and face selections. Users can choose between different operations (set, add, subtract, multiply & divide) as well as which color channels to mask in or out. There are also functions for various types of gradient falloff operations such as radial, edge length and point to point. As well as operations for blurring and randomizing values.
Material & UV Offsetting - This projects art style called for little to no textural information and instead relied on material IDs and UV offsets to drive into a lookup table to find the appropriate pre-paletized colors. This meant that artists spent a lot of time swapping material ID values on faces and pushing UVs by increments of 1 to achieve specific colors and values. These were not difficult operations to make, but over time the context switching and extra clicks really added up. Adding blender operations to automate these actions was a big win especially when it meant we could map them to hotkeys for even faster use.
Floating Faces - With the stylized workflow often times artists would find that it was easier and less destructive to float geometry over pre-existing faces when they wanted to add a second material to avoid cutting into the original and destroying edge flow. To make this process quicker I implemented a simple script to duplicate and offset selected faces by their normals as a separate object. Artists could then further manipulate the new faces with additional cuts and modifications.
Scene Setup/Cleanup - Our pipeline allowed us to hold multiple mesh actors in a single blender file to make it easier to iterate on sets of content in context of each other and then export all or a selection of them to the editor. Defining separate actors required specific scene setups involving collections and parenting to null objects. A one click solution for standing up a new parent objects + child mesh with proper naming conventions was a nice improvement. On the opposite end of the spectrum it was time consuming to find and delete content that was no longer being referenced. Creating operations to scour a blender file and delete things like materials was really useful for keeping scenes clean.
Asset Library - This was not a python tool, but worth calling out. When I joined up shared content and resources such as textures, materials and custom lighting rigs were manually copied between blender files creating major difficulties when it came time to make adjustments and iterate on core stylistic visuals from the DCC side. By moving everything into libary assets I was able to centralize this content such that any changes could be made in a single source controlled location and be propagated to all content files.