by Christoph Genzwürker
2 December 2019
Mesh-Driven Generation and Animation of Groomed Feathers
This talk was first presented Siggraph 2019 MPC R&D Software Developer Rasmus Haapaoja
Christoph Genzwürker (MPC R&D)
Rasmus Haapaoja (MPC R&D)
MPC’s proprietary grooming software Furtility has been used to create all hair, fur and feathers on our characters with great success for over a decade.
However, the creation of feather grooms has always been a time consuming and technically challenging task for our Groom department, often keeping a senior artist occupied for months. Due to narrower deadlines and a constant push for higher quality, we recently extended our feather tool set, which has allowed our artists to significantly streamline their feather workflow. After adopting our new geometry based feather system in production, our Groom artists have been able to reduce the required time frame for finalizing a hero character from months to weeks.
A feather in Furtility is represented as two separate components: quills and barbs, essentially a top level groom with a sub-groom attached to it. The artist starts the grooming process by first creating a set of barb designs – feather templates – on a straight quill. A template defines the look of a single feather, which can then be applied to a selected set of quills distributed across the skin of the character.
Allowing our artists to animate and texture feathers comes with it’s own set of challenges compared to fur, where animation and texturing is performed on the skin mesh of the character. In our previous feather workflow, this was achieved by wrapping the groom to a set of feather geometries which would then drive the deformation and allow textures to be projected onto the curves. In practice, this process tends to be very time consuming for our Groom artists, constantly trying to find the sweet spot between following the animation and retaining the shape of the designed feather. Additionally, the artist is often required to maintain several variations of the same template, due to the lack of a natural way of adapting the design to any shape differences among the input geometries.
Over the past year, MPC’s Software team has put in a substantial effort to revamp the core structure of our latest major iteration of Furtility [Andrus 2018]. The new, more flexible design has played a key part in our recent feature extensions, allowing us to construct our grooms from small building blocks without any hard-coded functionality, improving both code maintenance and efficiency.
Considering the drawbacks of the previous feather wrapping solution described above, we decided to approach the wrapping-problem the other way around. Adopting the same standardized topology used for feather meshes by our Modelling and Rigging departments, we can easily extract one central quill curve and two border curves, as illustrated in Figure 2a. Since the central curve directly represents the feather quill, we have already eliminated the step of having to place and groom these separately
As shown in Figure 2b roots are then distributed along the quill and barbs grown to the corresponding parametric value along the border curves, giving us a perfectly wrapped feather from the get-go. This also guarantees that the profile of the groom will respond properly to any shape variations across the meshes, without any additional manual work. Once the initial shape has been generated, our standard set of grooming operations, as clumping, scraggles and curls etc., can be applied as usual. An example of this is provided in Figure 2c.
In addition to defining the initial profile of the feathers, the extracted curves also unlocks new possibilities to how we allow our artists to perform the actual grooming.
We utilize the same parametric connection between the quill and the borders as mentioned above, and expose the ability to re-shape and bias this parametrization with e.g. ramps and noise textures. The influence of these textures can also be tweaked further, both along and across the feather to achieve the desired look.
Another feature that essentially comes for free is the ability to achieve the look of fluffy feathers, by shortening the length of the quill and letting the barbs wrap around the tip. Previously, this required a very precise fine tuning of inclinations and curls in order to connect the two sides seamlessly.
Due to the limited resolution of our models, the transition between the two sides might appear sharp and the overall look somewhat flat. We prevent this by generating a NURBS surface from our extracted curves, onto which the barbs are mapped. Making sure they always follow a smooth representation of the mesh.
As deformers are applied, the feather will naturally start to diverge from its original shape. Hence, we also expose the ability to project the barb tips back onto the border curves, in order to “reset” the contour at any stage in the deformer stack.
Simulation & Animation
Due to the limitations of our previous feather system, simulation of feathers were somewhat limited to the quills. However, it’s now possible for our Technical Animation artists to apply both cloth simulations and to solve collisions with the meshes directly. Since our new system has the ability to follow the animation perfectly while still retaining the look created by the groom artist, without any trade-off between the two.
In order to guarantee stable results, the groom is first generated completely in reference pose and then transferred to the animated counterpart. Barycentric look-ups and local offsets along the mesh normals are then used to retain the groomed shape during animation, of which an example is provided in Figure 3.
Figure 3: Feather groom driven by animated mesh.
Our new geometry based feather system has proven to be a significant addition to our Furtility tool-set, with our Groom department adopting it immediately in production. It has already proven its value in terms of turn-around times, with the first iteration of a full hero groom being created in days instead of weeks, and finalized in a couple of weeks instead of months. Additionally, we were able to transfer a character from the old to the new system, achieving the same look and reducing the time for generating the full groom by 30% at render time.
The authors would like to thank Ben Jones for the initial concept and ideas, along with the London Groom department, especially David Mayhew, Gabriel Arnold, Fabio Messina and Michael Cauchi
for providing invaluable feedback during the testing phase and for quickly adopting the tool in production.
Curtis Andrus. 2018. Layering Changes in a Procedural Grooming Pipeline. In Proceedings of the 8th Annual Digital Production Symposium (DigiPro ’18). ACM, New York, NY, USA, Article 4, 3 pages. https://doi.org/10.1145/3233085.3233094
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored.
For all other uses, contact the owner/author(s).
SIGGRAPH ’19 Talks, July 28 – August 1, 2019, Los Angeles, CA, United States
© 2019 Copyright held by the owner/author(s).
ACM ISBN 978-1-4503-5820-0/18/08.