ABOUT MY CODING BACKGROUND
-
Pipeline & Rigging: 3+ years of making Maya do the heavy lifting with Python. I specialize in Rigging API and automating those repetitive attribute tasks that slow artists down.
-
The Logic Foundation: My 'brain' was trained on three years of C# and Java in Visual Studio. I write code that is clean, modular, and built to last.
-
Modern Workflow: I’m an early adopter of AI-assisted development. Using Gemini to prototype and debug allows me to iterate faster and build more complex tools than I ever could manually.
Transfer Deltamush
-
This script is a Deformer Pipeline Utility designed to automate the migration of skin-smoothing data between 3D meshes. It solves the tedious problem of manually recreating "Delta Mush" settings and painted weights when a character model is updated or duplicated.
Plug-in Texture Maps
-
This script is an Automated Shader Network Builder for Arnold in Maya. It eliminates the manual labor of building a PBR (Physically Based Rendering) material by identifying texture maps and connecting them into an aiStandardSurface shader with the correct technical settings.
Ray-cast Geometry Constraint for Wheels

-
This tool makes wheels "stick" to uneven terrain in real-time.​
-
It uses om.MFnMesh to perform a "Closest Point" calculation to measure the wheel's radius based on its starting distance from the ground.
-
It creates a hidden locator (a Probe) parented to the tank's main body. This ensures that even if the tank is rotating or pitching, the "sensor" for the ground stays perfectly aligned with the wheel's vertical axis.
-
The script builds a node network using:
-
closestPointOnMesh: Constantly "looks" at the ground geometry.
-
multMatrix & decomposeMatrix: These are used to translate the World Space coordinates of the ground into the Local Space of the rig. This prevents the "double transformation" bug where moving the main rig makes the wheels fly away.
-
plusMinusAverage: Applies the pre-measured wheel radius so the bottom of the wheel—not the center—rests on the surface.
-
-
Instead of connecting directly to the Animation Controller (which would lock the animator out), it connects the physics to the Parent Group (SDK Group). This allows the animator to still manually "tweak" or animate the wheel on top of the automated suspension.
Fish Auto-Rigger

-
This script is a specialized Automated Procedural Fish Rigger designed to handle the complex "Sine-on-Spline" setup and manages a clean, VFX-standard hierarchy in a single click.
-
Procedural Joint Chain Generation: Automatically calculates fish length via Bounding Box data and populates a joint chain based. The controller size, locator sizes and amplitude on the sine deformer is also calculated from the respective fish size.
-
Automated Spline IK & Sine Deformer: Sets up a non-linear Sine deformer on the IK curve. It includes a specific Euler Axis Correction (Rotate X 90°) to ensure the "S" curves move laterally (sideways) rather than vertically, regardless of the mesh’s original orientation.
-
VFX-Standard Hierarchy: Organizes the Outliner into an all\_GRP containing a parallel GEO\_GRP (for clean caching) and a main_CTRL hierarchy that encapsulates all hidden joints and system nodes (MISC\_GRP).
