HyperMatter For Maya provides the animator with a set of physically-based deformer tools for producing 'high-quality' soft-body (and rigid/quasi-rigid) dynamics and effects.
The HyperMatter For Maya plug-in includes of a set of UI tools for creating, re-shaping and initialising HyperMatter objects, setting and getting properties of HyperMatter objects (e.g. material, initial state and display properties), and for handling the relation between HyperMatter objects and associated Maya geometry. The inclusion of both 'primary' and 'secondary' HyperMatter deformer objects allows a wide range of physically-based scenarios to be addressed by the animator.
A special MEL-based HyperMatter Constraint Editor is also included, for creating and editing sequences of constraint commands used for controlling HyperMatter objects during animation. HyperMatter includes its own compact set of basic HyperMatter constraint commands, from which more complex constraint systems and controlling mechanisms can be built by the user. In most cases, however, only a very small number of such constraint commands will be needed to produce a desired effect. MEL's use of variables, simple arithmetic and logic flow of control make this an extremely powerful feature of the plug-in, giving the animator complete control of objects at all times.
The plug-in also contains numerous example scene files and a set of step-by-step tutorials. The example scene files demonstrate numerous uses and effects of HyperMatter. The Constraint Scripts associated with these scenes can be viewed in the HyperMatter Constraint Editor, along with specific notes on the various constraints used and other aspects. The tutorials consist of special scene files in conjunction with step-by-step guides to the main features of HyperMatter For Maya.
Comprehensive (html) documentation is also included, covering all aspects of the plug-in, including overview and getting started sections, and sections detailing all aspects of the UI controls, material properties, constraint handling, etc.
Using HyperMatter For Maya: General Scenario
First, the animator selects a Maya geometry object (or objects, if they behave as a rigid-group), or some component part of these. At the push of a button a HyperMatter object can then be created that matches the current position, orientation and (approximate) shape of the selected Maya object(s). This shape can be edited, if necessary, to achieve a closer fit.
A set of default material properties will be ascribed to the HyperMatter object, which the user can then edit as required. 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.
In the most general case, a HyperMatter object will be used to control a (possibly key-framed) Maya object over a certain number of frames, or some part of that object. In that case, an auto-reset facility will automatically reset the Initial state of the HyperMatter object whenever animation passes its first frame (including its initial position, orientation, velocity and angular velocity). This ensures continuity of motion of the Maya geometry at the instant of handover. If the auto-reset facility is switched off then the Initial state of the HyperMatter object can be freely defined to be anything the animator chooses.
Maya tools can be used to transform the Initial and Natural states of HyperMatter objects and to edit and fine-tune their relations with Maya geometry. Primary and Secondary HyperMatter deformers allow a wide range of object set-ups, and methods of controlling Maya geometry in a physically based environment.
Once HyperMatter objects have been physically time-stepped an ‘r3-Recording' can be made of their motion. In future, this recording can be referenced instead of having to compute the physical time-steps. Associated Maya geometry can be interpolated from these r3-recordings as usual. This is much more efficient than caching the geometry, since HyperMatter objects usually contain far fewer vertex points.
MEL Constraint Commands
The physically based motion of HyperMatter objects can be controlled during animation using a comprehensive range of special HyperMatter constraint commands (MEL commands) that can be executed as a MEL script. The plug-in includes a special tool, called the HyperMatter Constraint Editor (CED), for editing and sourcing these MEL constraint scripts. The fact that MEL allows a logic-based flow of control and also the use of variables and simple arithmetic means that the animator has complete control over HyperMatter objects during animation. This is an extremely powerful feature.
Much effort in designing the plug-in has been aimed towards trying to ensure that the system generally, and especially the MEL constraint commands, are as simple and intuitive as possible, without compromising HyperMatter's underlying robustness and generality.
HyperMatter constraints typically act on parts of HyperMatter objects. These are pre-defined collections of vertex points belonging to HyperMatter objects. The plug-in includes commands that allow the positions, velocities and angular velocities of arbitrary parts of HyperMatter objects, and the various material properties of HyperMatter objects, to be exactly specified or scripted at any instant. Parts of HyperMatter objects can also be (temporarily of permanently) rigidified during motion, and attached by various means to Maya (control) objects. Points of HyperMatter objects can also be glued to each other (and unglued) during animation.
Probably the most important and generally useful constraint is the Fix constraint, which allows parts of HyperMatter objects to be fixed or attached (rigidly) to key-framed Maya objects, or to be simply fixed in space. For example, using this constraint, a collection of primitive key-framed Maya ‘control objects' could be used to animate expressions on a soft, elastic HyperMatter face or head. Or, more commonly, secondary inertial deformational effects can easily be achieved by fixing part of a HyperMatter object to its associated Maya object , whilst the rest of the HyperMatter object, and associated Maya object, is free to move naturally.
The FixPos constraint is similar, but allows deformation of the part. Another constraint, called the FixOri constraint, allows precise, highly controllable ‘twisting' and ‘curling' effects 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 Maya objects. In the latter case the dynamic reaction will be one-way. The motion of Maya objects will not be effected.
A special GetAttr command is also included, which enables key-framed Maya attributes to be read directly into the HyperMatter Constraint Script. This is a powerful feature that means that Maya's wide and diverse functionality can be used to ‘control' HyperMatter objects during animation, and in a manner that Maya animators will be already familiar.
DeformationalLayers and Soft Transforms
The HyperMatter For Maya plug-in allows geometry to be already moving or deforming through Maya whilst it is being manipulated by HyperMatter. In addition, it also includes a ‘soft-transform' facility, which will allow deformational effects to be built up in layers, hierarchically.
For example, a rotating geometry ‘second-hand' could be soft-transformed onto a geometry clock that is controlled by HyperMatter, resulting in a soft, floppy clock whose hands go round but which also deform with the clock. Imagine turning over this soft, floppy clock and seeing all the cogwheels turning and interlocking as the clock itself bends and curls and bulges. Again, this can easily be done using HyperMatter's physically based soft-transforms.
Another example could be facial animation. Maya tools could be used to animate the deformations of a face/head, the output geometry of which is then deformed by HyperMatter, to obtain extra squash and stretch effects. Rotating geometry eyes can then be soft-transformed onto this deforming head, and the combined result, then soft-transformed onto an independently moving/deforming body, maybe walking, thereby allowing inertial effects as the figure suddenly stops or turns.
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.
Main Features
.
.
.
. .
.
Supremely accurate and stable elasticity model with full suite of material parameters, allowing wide range of behaviours and styles of motion. Realistic, natural looking, and aesthetically pleasing effects results can often be achieved with very little effort.
Simple to use control panel with tools for creating HyperMatter objects from selected Maya geometry, editing their structure, parts, and display properties, editing their initial states and material properties, and the relation between HyperMatter objects and Maya geometry. Use of 'primary' and 'secondary' HyperMatter deformers, together with 'static', 'dynamic' and 'soft-transform' styles of deformer enables many different possible object set-ups, and hence a wide range of physically-based scenarios to be addressed.
Powerful and easy to use Constraint Editor for creating and editing constraint sequences, with full use of MEL variables, simple arithmetic and logic flow of control, mans that animator has complete control of HyperMatter objects at all times. Editor includes palette of special HyperMatter constraints that can be easily inserted into constraint script with single mouse-click, with default parameters automatically selected. In many cases, only a very small number of such constraint commands will be needed to produce a desired effect.
Comprehensive (html) documentation, covering all aspects of the plug-in, including overview and getting started sections, and sections detailing all aspects of the UI controls, material properties, constraint handling, etc.
Tutorial scene files with accompanying notes to introduce the animator to HyperMatter's basic modus-operandi and functionality. Once the basics are familiar there are countless types of physically-based scenarios and object set-ups which the animator can devise.
Numerous example scene files demonstrating particular features and functions of the plug-in, material properties, all the various constraint commands, as well as more general examples combining simpler effects and utilities to achieve more complex results. Full notes accompany each example scene file.
Uses For HyperMatter
• Skinning of skeletal forms to model secondary muscle and skin movement.
• Facial animation.
• General squash and stretch effects, secondary inertial motions, miscellaneous swinging, twisting, bending effects, etc…etc..................................................
• Contacts, impacts and collisions, bouncing and slipping, sliding and rolling effects...etc…etc…