by Tony Micilotta
13 August 2015
X-Men: Directing a Shape-Shifting Sentinel
Siggraph Talk 2015
by Tony Micilotta, Sam Berry, Thomas Stevenson
Engineered from the DNA of the shape-shifter Mystique, the Sentinel is a ten foot fully CG mutant slayer covered with approximately 100,000 independent blades, the movement of which had to be directed artistically rather than driven by simulation. Existing workflows supported a maximum of 15,000 blades so an entirely new approach was required. We introduced the concept of a follicle that approximated the shape and size of the final blade model. These were combined into per body part follicle-meshes and could be manipulated using standard deformers. This not only provided requisite visualization for animators, but doubled up as primitives from which transforms could be derived using trigonometric methods. These transforms were cached as particles and were subsequently ingested by a bespoke Katana Scene Graph Generator (SGG) that instanced the complex blade models accordingly.
Figure 1: Follicles compared to transitory blade models. (c) 2014 20th Century Fox Film Corporation. All rights reserved.
Asset Build and Pipeline
Our first challenge was to provide modellers with a means of laying out follicles in a controlled fashion. The underlying mesh was therefore covered with NURBS patches on which rows of follicles could be spawned. Iterative deformers controlled inter-follicle collisions and maintained edge length, while follicle scale and rotation randomization was intrinsic. To create a fast and accurate puppet for the animators to work with, the deformer behaviour of the cache-generating rig was approximated using procedurally generated blendshapes along with controls to manipulate the deformer.
Blade transforms were derived from the follicle vertex world positions and cached as particles. As such, a follicle-mesh could be treated as a standard Maya mesh and allowed us to use our existing deformer library. Each body part was comprised of a follicle-mesh from which a discrete particle cache was derived. This provided an intuitive partitioning of data that could be isolated in Katana.
Augmenting the existing character pipeline with the particle cache made the implementation straightforward and allowed artists to use familiar tools. Any rig and animation changes triggered the generation of new caches on the render farm, and propagated through the departments automatically.
Animation and Rendering
A key plot point was the Sentinel’s ability to adopt the various powers of the X-Men. This was visualized by an animator-driven flaring action whereby blades transformed into an alternate model variation and/or material. To achieve this, each follicle carried an animatable model ID that corresponded to a pipeline configuration of all the available blade models. These IDs persisted in the particle cache and were key in the construction of the Scene Graph in Katana. This had a major advantage over geometry caching in that models could be configured after caching and swapped mid shot. For those transitions where only the material changed, a transition attribute was made available to a shader network in Katana. Other animation requirements included varying degrees of blade damage and complete disintegration; this was achieved by swapping damaged model variations and culling blades from the render.
Lighting took place in Katana and an entirely new hierarchical SGG was developed to ingest particles and instance geometry accordingly. The topmost body part level allowed artists to discard unwanted limbs entirely and the model ID facilitated the grouping of instances at the model variation level. Finally, model geometry was accessible at the instance level to provide precise shader control and the ability to cull problematic blades temporarily while waiting on pre-cache fixes.
Unlike the Sentinel’s body that was covered by a handful of blade variations, the blades making up the feature-rich Sentinel head were entirely unique. As such, the same SGG was extended to ingest the entire complex head model, where it used a lookup system to extract and transform individual blade models directly from the head.
This work-flow has been extended so that right triangles can be used as locators for large, highly complex models. This introduces the challenge of being unable to view those models in Maya so we intend to leverage Katana to produce a gray-shaded render whenever a new particle cache is generated.
Many thanks to Sheldon Stopsack, Chris Elmer and Giles Davies for their input, innovation and enthusiasm.