Films

 

The School For Good and Evil

Creature FX Lead

Creature FX

For this project, I created several cloth and hair simulation rigs. During this process, I also cleaned up (and corrected the math) in several of our Houdini hair tools. Show specific creature FX details will be provided with the release of the film.

Software Development

I created a Gaffer Task Node which has the ability to procedurally load, update, and dispatch Maya scenes from a Gaffer graph. I also implemented the necessary pipeline changes to support this paradigm. This project offers many exciting new possibilities for our CFX department, as well as Maya users generally. For example, the CFX department can now define a Gaffer graph which produces a cloth simulation in Maya, a hair simulation in Houdini, renders the result, and produces a daily. The same technology can take a Maya scene, generate wedged simulations, render, and produce a contact sheet daily. It can also take a template Maya scene, update it in the context of an arbitrary number of shots, and automatically dispatch a first pass simulation for all of the shots. This new node offers new flexibility in an already powerful procedural pipeline.

I also made several important upgrades to our Maya Creature FX toolset to support missing pipeline functionality. I brought our cloth simulation rigs back into alignment with our animation rigs, and added functionality to correctly support asset variations in the rigs. I also corrected a number of Maya plugins to fix misbehaving features, increase stability, and operate correctly in parallel evaluation mode.

Release Date: 2022
 
 

Fantastic Beasts: The Secrets of Dumbledore

Creature FX Artist

Creature FX

My work on this film included running cloth, crowd cloth, hair, and skin simulations. More specific information will be provided with the release of this film.

Release Date: April 15, 2022
 
 

Venom 2: Let There Be Carnage

R&D Developer and Creature FX Artist

Received On Screen Credit
Software Development

The largest software contribution that I made to this show was a major refactoring of our advanced in-house splineIK node which was needed for the rigging and animation of Carnage's back tendrils. In the process I corrected several numerical and mathematical instabilities which were the motivating factors for the work. I also developed a new API, and the supporting pipeline functionality, for connecting accessory rigs to their master rigs. I made various upgrades to the skeleton caching pipeline to save extra useful data. Finally, I investigated performance issues related to maya's VP2 and cortex's sceneShape implementation.

Creature FX

My CFX work on this film included cloth and hair dynamics for the characters Shriek, Young Shriek, Cletus, and Young Mulligan. Additionally, for Young Mulligan, I created a specialized rig specifically for the face and ear rippling effect. I also created a simulation rig for Carnage's L-System tendril growth. This was particularly challenging given that it was a last minute creative addition, and I needed to develop a method of generating curves from unstructured organic geometry. I also ran a couple of flesh simulation shots with the character Carnage.

 
 

Project Power

R&D Developer

Received On Screen Credit
Film Specific Software Development

I tracked down and corrected a bug which prevented our artists from transferring animation between matchmove and animation rigs. Although I received credit for this specific work while supporting this film, it is one small example of many development tasks which supported our studio at large during this same period of time.

General Software Development

- Oriented Bounding Box algorithm for rigging using Principal Component Analysis
- Promotion of Cortex Scene Cache Attributes to Maya Attributes (GitHub Pull Request)
- Fixed a bug in Cortex's FromMayaEnumPlugConverter (GitHub Pull Request)
- Fixed a bug in Cortex's ToMayaMeshConverter (GitHub Pull Request)
- Improved Cortex's LiveScene visibility logic (GitHub Pull Request)
- Fixed a bug in Cortex's FromMayaMeshConverter related to meshes with multiple uv sets (GitHub Pull Request)
- Generation of maya animCurves from an animated attribute within a baked cache
- Developed a custom maya node to improve the performance of referenced rigs with multiple uv sets
- Fixed several pipeline related bugs related to rigging.

 
 

Sonic the Hedgehog

Technical Animator - Key Artist

Received On Screen Credit
Technical Animation

My work on this film included building simulation rigs, running shots, and the development of many tools to aid in those processes. The work spanned the domains of cloth dynamics, fur dynamics, and environment dynamics.

In particular, I was in charge of Sonic's quill simulation rig, and I helped maintain Sonic's various cloth rigs throughout the pipeline. I ran several Sonic shots through the stages of shot sculpting, cloth dynamics, and fur dynamics. I also developed the simulation rig for the banner flags in the bar scene, and I ran all of the banner flag shots. For environment dynamics, I created most of the simulation rigs used during the opening chase sequence with Baby Sonic, and I worked on the explosion shot at the end of the baseball sequence.

Software and Tools Development

In response to Sonic's rapid redesign, I created software to help rebuild Sonic's simulation rigs with each new design iteration. The simulation rigs could be produced independently by individual artists, and then they would be procedurally combined based on the needs of Sonic's various costumes. A small GUI could kick off a complete rebuild at the click of a button.

I produced a variety of C++ maya plugins to meet the needs of the production, including a parameter variation node, an efficient mesh connect and transform node, and I updated an in house dynamic curve node to accept maya fields during its dynamics calculations.

I redesigned our techanim scene setup to work more seamlessly with transform cache workflows. I also fixed a variety of pipeline bugs, and create several pipeline tools to help during the transition from the original Sonic to the new Sonic.

Team Management

I helped train and manage a shot team . I taught them how to run our new pipeline, offered technical help, and under the guidance of my leads, provided artistic feedback.

 
 

Pokemon: Detective Pikachu

Technical Animator - Key Artist

Received On Screen Credit
Technical Animation

Environment Dynamics and Fur Dynamics. I did extensive R&D work during our trailer delivery and produced several of our first key shots. Click here to view one of the shots in the trailer.

Software and Tools Development

I completely rebuilt our environment dynamics procedural rigging and simulation setup system to meet the demands of one of the film's most complicated sequences (the torterra garden). The procedural rig proved flexible enough to be used with over 250+ assets, and it provided control which was not previously possible with our department's tool-set. In terms of performance, I discovered several bottlenecks inherent in our previous system's design, and I was able to save over 230 days worth of compute time on a single shot. This amounts to a savings of roughly a decade of compute time over the course of the torterra sequence alone. I was able to expose the power of this system through user friendly tools which could be leveraged by artists with little to no programming experience.

Team Management

I helped train and manage a shot team . I taught them how to run our new pipeline, offered technical help, and under the guidance of my leads, provided artistic feedback.

 
 

Aquaman

Technical Animator - Key Artist

Software and Tools Development

I supported our environment dynamics artists by developing a tool that could generate animation cycles from a large cache. This method greatly reduced the use of farm resources, and improved artist iteration speed.

I helped another technical artist navigate the intricacies and quirks of the maya c++ api. He worked on a tool to modify the mass of individual cvs on an nHair curve. The maya api does not expose this functionality, but I was able suggest a hack that produced the desired result.

During crunch time, I was often called upon to produce one off scripts to support the needs of the show.

Team Management

I supported several new artists while they familiarized themselves with the tools and pipelines used in our department.

 
 

The New Mutants

Technical Animator - Artist

Received On Screen Credit
Technical Animation

Cloth Dynamics, Fur Dynamics, and Skin Cleanup. I primarily worked on the final sequence in which I was tasked with adding secondary character effects through cloth simulation, fur simulation, muscle sculpting, and general skin improvements. At times I made modifications to our tech rigs in order to achieve the desired art direction.

Software and Tools Development

I developed a more efficient version of the preview node used to view the results of our fur simulations. I contributed several updates to our fur pipeline to keep it in sync with the latest advancements from our software department.

 
 

Alpha

Technical Animation Department Developer

Received On Screen Credit

During the production of this film I served as the global department developer for the Vancouver, Montreal, and London offices. I updated our department's toolset to work with broader updates to MPC's pipeline. I updated all of our GUIs from Qt4 to Qt5. I worked with artists to debug issues with their scenes and remedy various bugs in our tools.

 
 

Justice League

Technical Animation Department Developer

For this film I created a tool to automatically retime our simulation setups based on retime curves from downstream departments. I rewrote our department's leaf simulator from scratch to support the retime pipeline. I added several new features to our leaf simulator and wind field nodes. For example, artists can now sculpt the wind shadow on objects that occlude wind flow.

I worked with one of our senior artists to implement a mini-pipeline for a sequence of shots that was ultimately cut from the film after Zach Snyder's family tragedy.

I debugged many pipeline issues, especially during crunch time to help deliver the film on time.

 
 

A Wrinkle In Time

Technical Animation Department Developer

Most of my work during this film was directed towards maintaining our department's toolset. I also spent a significant amount of time training two other department developers. As show specific needs arose, I switched gears to quickly resolve production problems. I worked briefly on a couple of environment dynamics shots in the tornado sequence to address supervisor notes while the show's lead was away.