Brief overviews of a selection of user-facing tools I’ve written in my time as a tech artist.

(Click for expanded information)

Shader-driven Programatic Animation

This shader uses a small 32-bit texture to define axis and pivot information for each of these gears, and uses that information to drive a simple rotation. A Maya script packs the axis and bounding-box normalized pivot information into single pixels, which and read into the shader using two of the mesh’s UV channels.

A tool which recreates game levels in 3ds Max.

Allows users to search for the the source files of art assets, and where those art assets are placed in the game world.


A system to ensure materials are consistent between 3ds max scene files.


A tool which generates proxy geometry for skinned mesh based on which vertices are mostly greatly-weighted to a given bone.