...................................hypermatter |
||||||
|---|---|---|---|---|---|---|
Soft, rigid and vehicular real-time dynamics |
||||||
Home |
Company | Gallery | Contact OPL | |||
(Site Under Construction) What is Hypermatter? Hypermatter is distinguished by the unsurpassed realism and visual appeal of the motion it produces. It is also remarkably stable (able to model large and violent deformations), supremely controllable, and simple and intuitive to use. It is also fast. These factors make Hypermatter the ideal choice for many real time and interactive applications, and as a powerful and reliable foundation for more complex physically based scenarios. The most common uses for Hypermatter include general squash-and-stretch effects and adding secondary, inertial deformations to otherwise rigidly moving objects. These effects are particularly simple to implement, and can greatly increase an object’s realism and visual appeal. To animate click on image Other areas where Hypermatter can play a substantial role include skinning of simple skeletal structures, facial animation, slipping, sliding and rolling effects, and contacts, impacts and collisions. The range of possible uses and effects are endless. The strength of Hypermatter derives from its very accurate and stable elasticity model. Unlike most other approaches, it does not use linear springs. Instead it is derived from (a unique 6D-variant of) the equations governing the classical theories of elasticity and continua. Linear spring approaches (which avoid solving the classical 3D elasticity equations altogether) are necessarily very crude and the motions they produce are therefore artificial looking and often unpleasant. They also suffer severe stability problems, especially when large deformations are involved. Another approach is to use finite element methods, which typically only handle small deformations also, and, in any case, are designed to enable very accurate calculation of the stresses and strains that arise in particular regions of irregularly shaped materials (e.g. triangular sheets of metal with holes cut in them). They are not normally designed for animation or real-time contexts, where such detailed analysis is not needed.
To animate click on image Hypermatter Physical Components A recent extension of the core Hypermatter system are ‘physical components’. These are dynamically-closed composite objects (built from simple Hyp objects and other lower-order components) that manage or control their constituent objects to fulfil a specific role or function. Higher-order components can be created by attaching together other lower-order components and regular Hyp objects. Two examples of first-order components are ‘rotorunits’ and ‘motorunits’, from which simple, higher-order machines, contraptions and vehicles can be built. Hypermatter vehicles can be driven in various different driving and braking modes, they have forward, neutral and reverse gears, they can be steered, and they have accelerator and brake pedal-type control mechanisms, and many other features that real cars have. To animate click on image Because they are physically based, Hypermatter vehicles are remarkably realistic, and exhibit many of the same nuances and characteristic movements and responses that real and toy cars do. They can be driven over flat or hilly terrains, can be made to skid and do wheelies and other stunts, and to crash, etc, etc. Basic Hypermatter Scenario Hypermatter performs physically based animation through an internal ‘time-stepping' function, which, each time it is called, progresses the current state of the Hyp object(s) from one instant to the next, according to Newton’s laws and their physical and material properties. This process determines the ‘natural' motion of a Hyp object. For example, parts of Hyp objects can be temporarily or permanently ‘rigidified’, or ‘fixed in space’, or `attached’, by various means, to moving (e.g. key framed) geometry objects (cf. animatronic type control methods used in real life), or, for example, to the moving `bones’ of a skeleton. Other constraints enable contacts and collisions to take place between Hyp objects, or between Hyp objects and any user-geometry (surface), or against fixed walls or planes. More generally, any position, velocity or angular velocity can be ascribed to any part or point of a Hyp object at any time. The programmer, therefore, has complete control of Hyp objects at all times. Points of Hyp objects can also be glued together, or unglued. The glue constraint is used internally by Hypermatter vehicles, for example, to attach together its constituent components and its Hyp object `chassis/body’. Using the supplied Hypermatter constraints, more complex, customised, constraints can be constructed. The fact that Hypermatter is physically based means that the task of designing efficient constraint mechanisms is intuitive…usually, you just need to imagine how you would contrive the same sort of effects in real life, and then figure the best way to implement them using the Hypermatter constraints. Finally, after each frame of physically based animation, the new shape/state of geometry objects is interpolated from the current state of their associated Hyp objects, thus resulting in physically based animation of the geometry. Hypermatter API Hypermatter relieves the programmer of the difficult and time consuming task of modelling and programming the low-level material structure and behaviour of physically based objects, allowing the programmer, instead, to attend to higher level issues involving object set-ups and initialisations and the means of controlling Hyp objects. Many different object set-ups are possible, and the programmer has `complete’ control of all objects at all times. The Hypermatter API is designed to be the simplest solution that is sufficient to address the wide range of possible physically based scenarios that a programmer is likely to encounter. Many different object set-ups are possible, and the programmer has `complete’ control of all objects at all times. The Hypermatter API includes the following five main classes:
Hypermatter Standalone Demo Application The functionality of the Demo Application closely matches the functionality of the Hypermatter API on which it is based. For example, the Hypermatter Constraint Editor enables you to easily and quickly set up sequences of Hypermatter constraints (with full use of variables and logical flow of control) that correspond directly to the constraint sequences that the API programmer would otherwise need to encode manually. The Demo UI controls allow you to create simple ‘Geo’ objects (representing your own geometry objects), and to key frame them, if necessary. Hyp objects can be created, either automatically from Geo objects, or on their own and then later ‘materially associated’ with arbitrary Geo objects. Controls are included for editing the structure/shape of Hyp objects, editing `parts’ and ‘groups’ of Hyp objects, and for editing their Initial states and material properties. After each frame of animation, the new state of each Geo object is automatically interpolated from that of their associated Hyp objects. Another feature of the Demo lets you ‘pick up’ Hyp objects up and ‘throw’ them about, interactively, using the mouse-pointer. This is a particularly quick and simple way to appreciate their remarkable stability and quality of motion. Please contact us if you are a developer of computer games or animation tools, or similar technologies, and would like more information about Hypermatter, or Hypermatter physical components, and would like us to email to you a copy of the Standalone Demo Application.
|
||||||
Copyright 2009 OPL |
||||||