by Curtis Andrus
24 September 2019
Automated Presentation of Furry Characters using Hydra
This talk was originally created for Siggraph 2019 but eventually was not submitted for consideration.
Curtis Andrus (MPC R&D)
Natchar Ratanasirigulchai (MPC R&D)
Animating a CG character without being able to visualize fur is difficult, as fur can significantly change the overall silhouette of a character and provide valuable context for animators.
For Detective Pikachu, MPC Film built a tool to automatically display grooms in our animation dailies using Pixar’s Hydra. This provides better context to Animators when posing characters or presenting their work. We also adapted this tool to allow our Technical Animation department to quality check their fur dynamics results.
At MPC Film, Animators do not typically work with fur, and therefore need the rigs to provide some form of “fake” geometry to visualize the change in volume. Animators’ work often needs to be rendered in order to be presented to clients. While the quality is high, this puts a significant load on our renderfarm. It’s also time consuming for our artists to push our animation through the pipeline to the rendering stage.
MPC Film’s in-house grooming tool, Furtility, is designed to work only on the final renderable geometry. Finding a way to integrate this into an Animator’s scene involved several challenges:
- Groom expansion is too slow for Animators to work with effectively.
- Setting up groom information on a character requires a high level of expertise in our Grooming pipeline, making it impractical for most Animators to work with.
- Furtility’s GL rendering was developed years ago, and is notable to hit the quality of preview expected in Animation. The following sections explain how we addressed each of these challenges.
Rig Puppet Grooms
Groom expansion is a time-consuming process (Pikachu had many complex effects built into the groom, so a full expansion could take 40min in the worst case), so we needed a faster solution for preview.
We expanded the groom once, on the reference geometry, then quickly place it onto the rig geo at each frame. While there is no clear mapping between the groom reference geometry and the rig puppet, they typically share the same UV sets.
So at each frame, we can simply place our reference groom curves onto the puppet using UV coordinates. Any curves that don’t have a matching location on the puppet are thrown out. This allowed us to maintain reasonable performance with a high level of fur density in our previews.
To make our tool easy to adopt in production, we wanted to require as little input from the artist as possible. They should be able to work as usual, then submit their scene for a Hydra playblast with a single button. We used MPC’s Renderflow technology internally to automate the setup of the Furtility and Hydra Maya objects.
The setup process consists of the following steps:
- Identify characters in the artist’s Maya scene.
- Create furtility / hydra objects to display the grooms.
- Gather lights and cameras for the shot.
- Save a copy of the scene with the full hydra setup (for de-bugging).
- Hardware Render.
- Release a daily of the result.
Supervisors configure our tool at the sequence or shot level, and this is used to build a scene to the desired specifications. Individual Animators do not worry about specific configurations, and can launch a preview render with a single button click.
Hydra Rendering of Fur
Rather than updating our own GL drawing, we used Pixar’s Hydra for the rendering portion. This automatically gave us good performance, as well as nice features like shadows. Integrating Furtility with Hydra involved the following:
- Creating an HdSceneDelegate subclass that acted as a bridge from Furtility’s geometry to Hydra.
- Implementing a very simple Kajiya-Kay hair shader from
- Provide Maya geometry to Hydra for use in shadow map passes. This allowed the user to have objects cast shadows on the fur, but handle the primary drawing in Maya.
With this in place, our fur draws nicely on top of the existing Maya geometry (rendered in Viewport 2.0). Fur casts and receives shadows, providing valuable visual queues to the artist.
Fur Dynamics QC
We also built in support for fully expanding the groom on render geometry, to make it usable by our TechAnim artists. This version also supports fur simulation and other dynamic effects, allowing TechAnim to get a higher quality preview of their work without using the renderfarm.
Our tool is able to generate high quality preview of furry characters on a large volume of shots with minimal setup. For a fur-heavy shows like
Detective Pikachu, this can significantly reduce the burden on our renderfarm, as well as bypassing the pipeline overhead of pushing shots all the way to the Lighting stage.
So far it has been very well received, with many supervisors extremely happy about the visual quality (they like it more than full renders, in some cases).
This project is still in active development, focusing primarily on automation as we roll it out to other shows.
Visually, our hair shader is still fairly basic, so we’d like to explore using improved shader models. We also intend to fully integrate this with Furtility, so that Groom artists work entirely with Hydra-drawn grooms.
Jared Auty, Marlène Chazot, Ruben D. Hernandez, and Marco Romeo. 2016. Rapid, High Quality Dailies with RenderFlow for The Jungle Book. In ACM SIGGRAPH 2016 Talks (SIGGRAPH ’16). ACM, New York, NY, USA, Article 70, 2 pages. https://doi.org/10.1145/2897839.2927415
J.T. Kajiya and T. L. Kay. 1989. Rendering Fur with Three Dimensional Textures. SIGGRAPH Comput. Graph. 23, 3 (July 1989), 271–280. https://doi.org/10.1145/74334.74361
Pixar Animation Studios. 2019. Introduction To USD. https://graphics.pixar.com/usd/docs/index.html