Digital Molecular Matter, better known as simply DMM, is a proprietary middleware physics engine developed by Pixelux for generating realistic destruction and deformation effects. The offline version can support high-resolution simulations for use in movie special effects. The real-time version is designed for computer, video games, and other simulation needs by attempting to simulate physical real-world systems. Unlike traditional realtime simulation engines, which tend to be based on rigid body kinematics, the use of finite element analysis (FEA) allows DMM to simulate a large set of physical properties. Developers can assign physical properties to a given object or portion of an object, which allow the object to behave as it would in the real world (ice, gummy bear, etc.). In addition, the properties of objects or parts of objects can be changed at runtime, allowing for additional interesting effects.
DMM can be authored or used in Maya or 3ds Max to create simulation-based visual effects.
In 2015 three of the key architects behind DMM, James F. O’Brien, Eric Parker, and Ben Cole, were recognized for their work on DMM with an Academy Award. The citation for the award reads:
To Ben Cole for the design of the Kali Destruction System, to Eric Parker for the development of the Digital Molecular Matter toolkit, and to James O’Brien for his influential research on the finite element methods that served as a foundation for these tools.
The combined innovations in Kali and DMM provide artists with an intuitive, art-directable system for the creation of scalable and realistic fracture and deformation simulations. These tools established finite element methods as a new reference point for believable on-screen destruction.
DMM is available and optimized for Microsoft’s Windows, Xbox 360, Sony’s PlayStation 3, Apple’s Mac OS X, and Linux.
DMM is a physical simulation system which models the material properties of objects allowing them to break and bend in accordance to the stress placed on them. Structures modeled with DMM can break and bend if they are not physically viable. Objects made of glass, steel, stone and jelly are all possible to create and simulate in real-time with DMM. The system accomplishes this by running a finite element simulation that computes how the materials would actually behave.
DMM has been used in LucasArts’s Star Wars: The Force Unleashed, and was used again for Star Wars: The Force Unleashed II.
Plugins for Autodesk Media & Entertainment’s 3ds Max and Maya animation software are also available. The plugin for Maya is included built into Maya 2012.
DMM has been integrated with Gamebryo, Trinigy Vision Engine, Irrlicht, OGRE, and other game engines.
MPC Moving Picture Company has integrated DMM into their internal software pipeline known as Kali.
Several movies have made use of DMM for generating offline special effects. These include:
The DMM tools and middleware were developed for film and game effects by Pixelux Entertainment over a 6.5 year period starting in 2004. From 2005 through 2008, Pixelux’s real-time version of DMM technology was exclusive to LucasArts Entertainment as a part of the Star Wars: The Force Unleashed (TFU) project. The FEM system in DMM utilized an algorithm for fracture and deformation developed by University of California, Berkeley professor, James F. O’Brien, as part of his Ph.D. thesis. O’Brien then worked with a development team led by Pixelux CTO, Eric Parker, to develop code suitable for visual effects work and real-time applications. The DMM tools pipeline was designed and implemented by a team led by Mitchell Bunnell, the CEO of Pixelux.
An ARM version of DMM was incorporated by Pixelux into their DMM Touch iPhone/iPad product.
A version of the DMM Plug-In is included by Autodesk in their release of Maya 2012. The DMM Plug-In runs on all versions of Maya on all platforms in both 32 and 64-bit mode.
The following technical papers describe the algorithms that DMM is based on and some of the technical details of its implementation:
Notable companies using the technology include: