Updated 27/1/2003

Software Development

As well as being a visual effects artist I am also a software developer. I really enjoy designing and creating solid bits of software for use in my job or for interesting side projects. On this page I will be making publicly available any bits and pieces that I create that I think might be useful to others.

All the software you can download from here is freely distributable, but please do not redistribute it from your own sites (except for Highend3D.com), as I would like to be able to ensure that a single central copy is updated in the event of new releases becoming available.

Render Passes for Maya

This is a plugin I have written for Maya to enable you to define completely customizable render passes whilst still maintaining a single scene file. There is a separate page here for Render Passes for Maya with more information and download links.

Maya MEL Scripts

Here's a few Maya MEL scripts I've written that I think others may find handy. I tend to write lots of quick-n-dirty scripts for production specific needs, so these ones are just the ones that I've bothered to clean up and make generally usable by anyone. There is some quick documentation at the top of each script.

  runupScene.mel
World's simplest ever script - plays your scene through once from startFrame to endFrame. This is good to put in as your pre-render MEL command to fix various glitches that can occur when you start rendering at an arbitrary frame in your sequence (i.e. when using a render farm). Can also be useful when working with particles and you need to see how it looks at a frame near the end of a sequence that takes a long time to compute - fire this off and go get a coffee while it runs up to the frame you want.

isPointWithinSphere.mel
Returns whether a given world space point is within the named sphere. Handy for various TD chores - for example, you can use an animated sphere to drive the visibility or colour of objects or particles in your scene.

saveAllRenderViewImages.mel
If you have a bunch of images in your render view, you can move through the list and manually save them out to disk for posterity, but that's a pain in the bee-hind. This script automagically saves them all out in a sequence.

conformMeshToMesh.mel
Moves all the points in object A to be in the same positions as the points in object B. Effectively a shortcut for doing a blendshape between the two, sliding the slider, and deleting the blend shape node.

Ideas and Suggestions?

I'm always interested in ideas that people have for cool tools, plugins or scripts they think would be useful. Often the best ideas come from creative people who can't write software themselves - so please feel free to email me to discuss any ideas or suggestions.

Software Development Links

If you're a software developer yourself, you might be interested in checking out my page of web links for tools, libraries and resources for software development I've collected over the years.