Digital Molecular Matter

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Digital Molecular Matter (DMM)
DeveloperPixelux
Stable release
1.0 / May 2010
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemUnix, Linux, Mac, Windows, Xbox 360, PS3
    LicenseProprietary
    Websitewww.pixelux.com

    Digital Molecular Matter (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 film special effects. The real-time version is designed for video games, and other simulation needs by attempting to simulate physical real-world systems. Unlike traditional real-time 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.

    Academy Award

    [edit | edit source]

    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.[1] 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.

    Platform availability

    [edit | edit source]

    DMM is available and optimized for Microsoft's Windows, Xbox 360, Sony's PlayStation 3, Apple's Mac OS X, and Linux.

    Function

    [edit | edit source]

    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.[2]

    Plugins for Autodesk Media & Entertainment's 3ds Max and Maya animation software are also available. The plugin is built into Maya 2012.[3]

    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.[4]

    Movies Using DMM

    [edit | edit source]

    Several movies have made use of DMM for generating offline special effects. These include:

    Television Shows, Shorts, and Commercials using DMM

    [edit | edit source]

    Development

    [edit | edit source]

    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[31] as a part of the Star Wars: The Force Unleashed (TFU) project.[32] 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.[33] 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.[34] 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.[35]

    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.[36]

    Technical Citations

    [edit | edit source]

    The following technical papers describe the algorithms that DMM is based on and some of the technical details of its implementation:

    Technology partners and usage by companies

    [edit | edit source]

    Notable companies using the technology include:

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Cinefex Magazine, issue 125, http://www.cinefex.com/backissues/issue125.html Archived 2012-02-20 at the Wayback Machine
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ a b Cinefex Magazine, issue 126, http://www.cinefex.com/backissues/issue126.html Archived 2012-02-20 at the Wayback Machine
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Cinefex Magazine, issue 127, http://www.cinefex.com/backissues/issue127.html Archived 2012-03-07 at the Wayback Machine
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Cinefex Magazine, issue 129, http://www.cinefex.com/backissues/issue129.html Archived 2012-03-25 at the Wayback Machine
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ Cinefex Magazine, issue 130, page 60, http://www.cinefex.com/backissues/issue130.html Archived 2012-06-23 at the Wayback Machine
    18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    26. ^ "An appetite for destruction – leading VFX studios share their techniques for creating epic destruction" 3D World, Issue 184. Online Summary
    27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    28. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    30. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    31. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    32. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    33. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    34. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    35. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    36. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    37. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    38. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    39. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    40. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    41. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).