Tools And Pipelines

Descriptions of Professional Works

NCSoft | Animation Pipeline

I stood up and designed a pipeline for adding facial animation to existing mocap. The toolkit was centered around a Maya shelf to give animators easy access to the tool while also allowing for a simplified CI/CD workflow.

Each button was linked to a local file rather than hosting the code directly, allowing technical artists to make live updates to tools. The shelf also included a refresh button to rebuild itself and update the buttons and scripts. The buttons themselves are controlled by a basic data structure that requires only a script name or path to add a new button.

In addition to the pipeline itself, I added a scene generator, a selection UI, and an updated exporter to the existing toolkit the previous TA created.

  • The scene generator gives animators the ability to select a creature, an existing animation– if desired–, and a file name to generate a new scene with references, imports and all other needed data and assembly handled so the animators can hit the ground running without worrying about any set up. 

  • The selection UI gives animators the ability to select controls by sets or all at once. This also added the ability to isolate the new animation so the animators could previous what the additive version would look like.

  • The export UI was primarily developed by another TA, but I added features to export the only the body animation, the face animation as an additive layer, or both depending on the needs of the animator. I also added the ability to cancel the batch processing in the off chance an artist ran the tool with undesired settings.

NCSoft | AutoRigging

To go with the face animation pipeline, I automated the creation and hookup of several types of controls. Our department wanted to prototype several control designs and support multiple animals. So to cut down on iteration time, I automated the creation of FK chains, IK spline chains, aim-based handles, parent-based handles, surface sliders, and curve GUI controls.

This allowed us to create a list of python dictionary to generate nearly identical rigs across multiple meshes as well as reuse setups with minimal editing to accommodate changes to topology and form. While the project ended before we made it to scale, the rigging tools were designed to ensure a consistent style, system, and functionality across all creatures while minimizing set up through a simplified UI.

NCSoft | MotionBuilder Tools

In addition to the tools mentioned above, I troubleshot, improved, and added several mocap clean up scripts, the most noteworthy being a procedural root tracing tool. Our programmers needed a polynomial for root movement  to help with networking synchronicity, so we used linear regression to fit the curve to a function. We used frame ranges and velocity thresholds to preserve the flat portions, ensuring our stop, start, and transitional animations maintained their positions without sliding. The tool had the ability to preview and compare the original and smoothed curves inside Motionbuilder so the animators can interactively tune the curve before exporting to a csv for use in Unreal.

Cloud Imperium Games | Modular Asset Validation

At CIG, we used volumes to ensure armor and clothing assets worked as modular parts. My task was to simplify the volumes into as few parts as possible and define consistent naming and visual schema to streamline checking assets. The artists were given a UI to select the classifications and descriptors of the assets and the tool would reference in any relevant volumes for checking. The UI was populate using the Maya scene containing the volumes, ensuring that any new additions or changes to the asset types were reflected in the interface.

The tool and volumes were designed to eventually be integrated with Jira to determine the assets classification and to support automated checking using SDFs and point clouds to identify offending vertices.