top of page

I've written a number of tools in the film and game industries for department-wide use and feature prototyping. Most have been written using Python and MEL and some have included plugins that I wrote in C++ though nowadays I use mostly Python scripted plugins.  Many of the tools use an object-oriented style of programming and I've designed and created many custom UIs along the way.


Some of the tools I've scripted over the years include:


   Face modifier prototype
   -Allowed user to click and drag on any portion of a head model and control region-specific modifications
   -Different modifications are controlled by direction of mouse movement and allowed for combining/mixing of two separate modifiers
   -Save and load presets
   -Range control of modifiers to limit or increase amount of effect
   -Highlighted regions as the user moves the cursor across the head

   Body modifier prototype
   -Allowed user to dial, with one mouse movement, a mixture of body shapes from a custom UI to test their interaction
   -Allowed mixing of overall body shapes and local modifiers (ex. upper arm, lower arm, shoulders, hips, waist)
   -Range control of shapes and modifiers to limit or increase amount of effect
   -Save and load presets

   Technical quality checker for assets
   -Enforce naming and hierarchy conventions, add pipeline-dependent metadat nodes, catch various errors

   Quad mesh poly reducer
   -Creates reduced resolution versions of quad meshes by programmatically removing edgeloops while preserving the positions of remaining             vertices and UVs (positions and topology are not altered, unlike Maya's reduction tool)
   -Used by modeling department to generate multiple stages of lower resolution meshes from high-resolution characters and other models

   UV "Gridify"
   -Workes on entire UV shell, removes noise and straightens horizontal and vertical edge loops

   UV Shrinkwrap
   -Shrinkwrap selected UVs to target UVs
   -Useful for matching UV shell boundaries between meshes with different topologies & UV layouts

   Curve-based tree branch generator
   -Creates tapered and capped tree branches along curves
   -Each branch's starting diameter is determined by the nearest diameter of the "parent" branch it is emanating from
   -Each branch's ending diameter is controlled via a UI slider

   Custom shader outliner
   -Similar to Maya's outliner but specifically used to view and edit shaders and their assignments without having to use Maya's Hypershade or           Multilister
   -Included tools to auto assign shaders based on UV tiles
   -Also included layout funtions to gather and spread multiple UV tiles
   -Auto namer & renamer to confom shaders to pipeline conventions

   Custom UV Editor
   -Added tools to Maya's native UV Editor
   -UV tile controls--shift UV shells to other tiles while preserving their position relative to the tile's edges
   -UV tile layout for multiple meshes--unlike Maya's Layout UVs tool, this lays out UV tiles so mulitple meshes do not overlap each other's UVs

   Custom SQL asset publisher
   -Published to database via an SQL object-oriented API
   -Updated database tables and connections, logged events and notified users of job progress

   Custom file browser and project setter
   -Designed to work with project-specific network structure
   -Includes file filter, search options and new directory tree generator when beginning new assets

   UV importer/exporter
   -Imports and exports UV data to text file that can be tracked separately from geometry
   -Includes shader assignments, designed for meshes with mulitple UV sets

   Costume propagation tool
   -Automatically propagates updates from a source/master mesh onto meshes fit to characters of various shapes and sizes


Belle and old & young Scrooge face, body and clothes models.

bottom of page