By Jos Stam
As electronic boxes began piling up both over and under our television sets, product designers saw a need that wasn’t being filled, and they developed the universal remote control. At first it seemed a little ambitious that one remote could talk not only to the TV, but also to the cable box, the VCR, and, eventually, the DVD player and video game consoles. Now we take it for granted that one little digital box can take care of all of our electronic input demands.
3D animators are now facing a similar problem as they try to create even more photoreal and believable content for film, television, and games. There are always more assets to create, but the dynamic, moving elements remain in separate systems and do not interact intuitively. Currently, water and wind can exist in the same scene, but the water and the wind are not aware of each other and have to be tweaked manually by the artist—a painstaking and time-consuming process.
A challenging intellectual puzzle like this one intrigues me, and it often forms the starting point of my research. Finding a solution isn’t usually easy, but oftentimes it results in a technology that simplifies production for 3D artists. In fact, the results of some of my more recent research are now shipping in Maya 8.5.
Unified Simulation Framework
To help simplify the production of complicated 3D elements like water, rigid bodies, and cloth, I have been working on a unified simulation framework to provide a more generalized solution for the simulation of physical phenomena in 3D animation. The end goal of my research is always linked to simplifying 3D graphics, even though these developments may start out as pure intellectual curiosity involving theoretical concepts. This might seem counterintuitive to some researchers, but I’ve found that concrete, useful applications are often the fruit of playful research. This is why some companies maintain research groups like ours.
Developing a unified simulation framework is an ambitious project I’ve taken on to unite the interactions between different types of physical bodies such as liquid, cloth, hair, and rigid bodies into a single, dynamic system. To imagine the possibilities of this, think about how incredible it would be to create an animation of burning cloth blowing in the wind—and to have all three elements interact intuitively with one another.
Traditionally, phenomena like wind, cloth, and rigid bodies have been treated as separate and distinct systems in 3D animation. The key concept of Maya Nucleus, Autodesk’s new unified simulation framework, is derived from the observation that the interaction of different bodies can be accurately represented by a fairly simple computational model based on interacting particles. The framework has been developed so that multiple solvers can influence one another bidirectionally and use the same forces and constraints. Even while the simulation is running, Maya Nucleus allows artists to shape and influence results toward a modeled target. Ultimately, simulations for cloth, hair, rigid bodies, and particles will all be able to interact seamlessly for maximum believability and control.
The heart of the solver treats the interaction of all bodies as a system of particles that collide and exert forces on one another. The beauty is that the complex behaviors of dynamic elements like cloth, hair, and water—historically challenging to create—emerge from these simple rules. To illustrate this concept, I keep a set of magnetic toys in my office. These comprise a set of metallic spheres that are bound together using magnetic rods. Virtually any shape can be constructed out of these toys, while the magnetic rods are the equivalent of the forces keeping the shapes together. I have yet to meet someone who hasn’t left my office without playing with these toys and, sometimes, taking some with them.
(Above) Left: Cloth reacts to both the motion of the ballerina and a wind field. Right:Maya Nucleus resolves intersections between simple primitives such as spheres and edges.
The unified simulation framework’s stability also makes it easy for animators to control the system. This stability means that Maya Nucleus automatically recovers where other solutions fail—for example, when rapid motion causes clothing to collapse or implode. Thus, an animator can change the parameters of the solver without having to worry about the simulation "blowing up."
Domineering Solvers, Unintended Biases
A number of 3D packages have been offering a large variety of solvers for different types of dynamic elements. Solvers for cloth, rigid bodies, or hair all coexist in these packages and are only programmed to solve the particular effect they were designed for. Sometimes it is challenging to have them interact together in an animation.
Consider this simple example: the simulation of a soccer ball—which is a rigid body—being kicked into a cloth net. Before Maya Nucleus, this required connecting the output of one solver into another solver, and vice versa. This always results in a bias as one solver dominates over the other. In my opinion, a unified approach would eliminate this bias. This is the motivation behind my work today, although my early unified simulation framework prototypes were written out of pure intellectual curiosity. This research pattern is similar to my fluid dynamics research that eventually turned into Autodesk Maya’s Fluid Effects feature, included in Version 4.5, which was released in the fall 2002.
A Framework in Action
Maya nCloth is the first implementation of the Maya Nucleus technology and is included in the newly released Maya 8.5 (see Products, pg. 6). I have worked on Maya nCloth closely with the Autodesk 3D research and development team over the last year, especially with Autodesk’s Media & Entertainment technical lead Duncan Brinsmead. With Maya nCloth, artists can quickly direct and control a range of simulations, including cloth and other materials, in entirely new ways. With this technology, digital artists can now create believable cloth-on-cloth simulations with complex cloth collisions, such as a cape over a jacket. A unique air-pressure model enables artists to use any geometry (whether a closed, sealed volume such as an inner tube, or an open one such as a balloon) to create an inflatable object with internal and external pressure. In addition, artists can also simulate other materials. For example, deformable plastics and metals can be pulled, sheared, dented, and stretched.
We focused on exploring the solver’s use for cloth simulations because of their importance in character animation. Cloth is also inherently hard to model because it is a strongly self-affecting system: Self-collisions fight with stretching, bending, shear, and collisions with other objects such as an animated character. While the apparent behavior of cloth may appear dull, especially in the case of a garment, this is deceiving from an engineering perspective, since there is actually so much going on behind the scenes. Clearly, it’s a very complex problem to solve.
More Freedom for Artists
Maya Nucleus suggests a whole new modeling paradigm where the artist can see fast physics simulations running while they are modeling. The physics will take care of many tedious tasks, such as making sure models rest on top of each other, allowing the modeler to focus on the general shape of the animation. For the artist, modeling will become more and more like interacting with real-world objects whereby the physics just happens naturally.
I think that the Maya Nucleus unified simulation framework will give artists more freedom to mix different dynamic effects together to create a single animation. Moreover, the stability and interactive performance will give artists more feedback and greater control when it comes to fine-tuning the parameters of the solver to achieve the exact behavior desired for a given animation. This is especially true when the feedback is in real time—which I expect to be the case for moderately sized 3D scenes.
Since Maya Nucleus is a framework for tying different types of simulations together, we will be continuing to research its use for modules in addition to Maya nCloth. It’s both inspiring and rewarding to know how much of an impact my research could potentially have on the computer graphics industry. I am looking forward to seeing the practical applications of my research over the next couple of years. Perhaps one day future CG artists will look back and marvel at their ancestors who used such a large number of tools to communicate their messages, whether as electronic inputs like a remote control or a virtual experience of life in 3D.
Based in Toronto, Jos Stam is Autodesk Media & Entertainment’s principal scientist. His research focuses on several areas of computer graphics, including natural phenomena, physics-based simulations, and rendering and surface modeling. Stam is best known for his work on subdivision surfaces and the enormous benefits it created for the visual effects industry. He was awarded the 2005 Technical Achievement Award from the Academy of Motion Picture Arts and Sciences for his innovative work. Subdivision surfaces are part of a modeling technology based on algorithmic theory that is essential for many types of motion-picture computer graphics. It enables animators to smooth surfaces and create shapes with a sequence of successively refined polyhedral meshes. In addition to his Academy Award, in 2005 he was given the prestigious SIGGRAPH Computer Graphics Achievement Award. For more about Stam, visit his Web site at www.dgp.toronto.edu/~stam/.