NEW...SPRING 2011...HyperMatter For Maya 2011 and 2012
HyperMatter For Maya 2011 will help take your animated characters to a new level of realism.
HyperMatter’s supremely accurate elasticity model allows highly realistic and natural looking skin and muscle deformation in response to underlying skeletal motion. It is also simple and intuitive to implement, and very easy to adjust and fine-tune.
This is only one of countless many uses for HyperMatter. Adding secondary, inertial deformations to key-framed objects are especially easy to implement.
Use it also for facial animation, modelling inertial and general squash-and-stretch effects, bouncing, rolling, swinging, slipping and sliding effects, etc, etc.
Available April 2011…(look out for future announcements)
To learn more about Hypermatter for Maya 2011, Click Here
What is Hypermatter?
HyperMatter is a class-based software library for producing 'high-quality' soft-body (and rigid/quasi-rigid) dynamics and effects.
Unlike most approaches,which tend to use arrangements of simple linear springs, the mathematical model underlying HyperMatter is derived from (a unique 6D variant of) the classical theories of elasticity and continuum dynamics. The resultant accuracy of HyperMatter means that the motion it produces is very natural-looking and pleasing to the eye. It is also extremely stable (able to model large and violent deformations), fast , and highly controllable , as well as being simple and intuitive to use.
We hope that the many years of development, testing and fine-tuning of HyperMatter is reflected in the quality of motion that it produces, and in its power and simplicity of use.
The most common uses for HyperMatter include modelling of secondary, inertial deformations, general squash-and-stretch effects, skinning of skeletal forms and facial animation, slipping, sliding, rolling effects, and contacts and collisions. Elastically deformable motion is intrinsically appealing to the human eye, and there could also be numerous other roles for HyperMatter in more abstract, non-representational contexts, such as pattern synthesis. The potential uses for HyperMatter are virtually limitless.
HyperMatter Objects and Constraints
HyperMatter acts on its own physically-based HyperMatter objects. HyperMatter objects are physically-based 3D (or 2D) mesh-type deformer objects that are created to roughly match the shape of user NURBS or polygonal geometry objects. They are ascribed a set of material properties (density, elasticity, damping, incompressibility, etc) and during animation are time-stepped according to certain physical and dynamical laws, subject to a user-defined sequence of constraint commands. After each frame, the resultant motion of each HyperMatter object is interpolated back onto its associated Maya geometry, resulting in physically-based animation of the geometry.
Basic Scenario
First, the user selects a geometry object (or objects), or some part of these, to be controlled by HyperMatter. At the push of a button, a HyperMatter object can then be created that matches the (approximate) shape of the geometry, subject to some specified resolution. This shape can be edited if required, to achieve a better fit with the geometry, for example, or maybe to reinforce part of it.
The Initial state and configuration of the HyperMatter object can either be freely set by the user or set to precisely correspond with the configuration and (possibly key-framed) motion of the geometry at the instant control is handed over to the HyperMatter object. A set of material properties is also ascribed to the HyperMatter object.
Material properties include density, elasticity, damping, incompressibility (bulge), friction, body-force (gravity) as well as two parameters that allow the motion/behaviour associated with a material to be scaled in space and/or time.
Constraints can then be applied to the HyperMatter objects to control their motions and behaviours during physically-based time-stepping. HyperMatter includes a compact set of special constraint functions that operate over parts of HyperMatter objects over specified periods of time. The various parameters associated with these constraints can then be fine-tuned during playback, or during rehearsal, until precisely the right effect is achieved.
After each time-stepped frame, the new vertex positions of the geometry are interpolated from the current states of their controlling HyperMatter objects, thus resulting in physically-based motion of the geometry.
In animation contexts, once a sequence has been finalised, and no more changes are necessary, an ‘R3-recording' can optionally be made of the motion of the HyperMatter objects. In future, this recording can be referenced each frame instead of having to compute physical time-steps. The geometry is then interpolated, as usual, directly from this '3D' recording. This is much more efficient than recording the geometry vertex data every frame, since HyperMatter objects usually contain far fewer vertex points.
HyperMatter Constraints
The physically-based motion of HyperMatter objects can be controlled during time-stepping using a comprehensive range of special HyperMatter constraint functions.
HyperMatter constraints typically act on parts of HyperMatter objects. These are user-defined collections of vertex points of HyperMatter objects. HyperMatter includes, for example, constraints that allow the positions, velocities and angular velocities of arbitrary parts of HyperMatter objects to be exactly specified or scripted at any instant, or the various material properties of HyperMatter objects. Parts of HyperMatter objects can also be (temporarily of permanently) rigidified during motion, or attached by various means to moving (e.g. key-framed) ‘control objects'. Points of HyperMatter objects can also be glued to each other (and unglued) during time-stepping.
Probably the most important and generally useful constraint is the Fix constraint, which allows parts of HyperMatter objects to be 'fixed' (or rigidly attached) to key-framed control objects, or to be simply fixed in space, whilst the rest of the object is free to move and deform naturally.
For example, using this constraint a collection of special, primitive key-framed control objects could be used to animate expressions on a soft, elastic HyperMatter face or head (similar to 'animatronics' type control mechanisms used in real life).
Or, more commonly, secondary inertial deformational effects can easily be achieved for a key-framed geometry object by fixing part of its associated HyperMatter object to the (local axes of the) geometry object itself, whilst the rest of the HyperMatter object, and associated geometry, is free to move naturally.
The FixPos constraint is similar, but only constrains the position of the part, whilst allowing the part to otherwise freely rotate and deform. A related constraint, FixOri , constrains the orientation of the part, whilst allowing the part to otherwise freely move and deform, and allows precise, highly controllable 'twisting' and 'curling' effects to take place over parts of a HyperMatter objects.
Various contact/collision constraints are also implemented. In the simplest case, these allow deforming HyperMatter objects to interact with the floor, ceiling and walls or with arbitrarily positioned and orientated infinite planes. Other more sophisticated collision functions allow fully deformational contacts/collisions to take place between HyperMatter objects or between HyperMatter objects and geometry objects or surfaces. In the latter case the dynamic reaction will be one-way. The motion of the geometry object will not be effected.
From a relatively small number of such primitive constraints, the user can construct arbitrarily complex, custom-designed, constraint mechanisms.
One of the strengths of HyperMatter's approach to constraints is that, at any instant, the effect of any one constraint 'overwrites' the effects of any previous constraints. This means that different constraints can be freely applied to different (possibly overlapping) parts without the fear of setting up possibly inconsistent sets of constraints. This greatly simplifies the task of designing constraint mechanisms.
HyperMatter Soft-Transforms
Soft-transforms allow HyperMatter to act upon geometry that is moving and/or deforming relative to the deformer, and for
A more common use for soft-transforms would be to add rotating eyes to a deforming head. The composite effect of the eyes rotating within the deforming head could then be soft-transformed again onto the moving/deforming body of a walking character.
Note the difference between soft-transforms and ordinary (rigid) transforms. If ordinary transforms were used instead then the rotating eyes would not properly fit the deforming sockets around them, and gaps would be left. Nor would the deforming head fit properly with the (possibly deforming) body!
Soft-transforms allow deforming elements to be added together or layered hierarchically, and in such a way that preserves the geometric continuity between the elements. In the above example, if the head were stretched by HyperMatter, then the eyes would stretch naturally with the head, even as they turn, in the traditional cartoon style.