With ever-rising computing power, tools have the opportunity to do more than what is just asked of them- to start taking in what is intended of them. In a pinch, a manual workflow often trumps an unreliable tool, so I hope to instead advance reliable production technology for the goal of more creative and impactful computer graphics.

Automatic Skeletonization (Maya, C++)

Given a large library of dense and complex geometry, determining joint placement can become quite the time-consuming task. If a computer was able to distinguish the distinct parts of a model, perhaps it could use that solution to determine pivot points as well.

I have implemented a significant portion of Jyh-Ming Lien and Nancy Amato's recent research in shape decomposition. You can see the process as my plugin identifies the critical points where parts are likely to be separated. This certainly isn't a perfect solution for rigging, especially with hero assets, but the tool can open opportunities for animating vast arrays of flora, props, and even characters.

Convex Hull Generation (Maya, C++)

Some mathematical properties of geometry are a bit unexplored in computer animation, and they can be used to accelerate the rigging process. Convex hulls are a useful tool for extracting some of those properties, and I'm using them for my automatic skeletonization plugins.

There are a few convex hull generators available for Maya, but they're susceptible to problems with nearly planar faces, such as those on the sides of buildings. My implementation is based off of John Lloyd's QuickHull3D, which accounts for the imprecision of floating point numbers.