HyperMatter Standalone

Use this powerful application to play numerous example scenes, experiment with creating your own physically based scenarios, and experience the huge benefits of using a high quality soft dynamics library to govern the motion of your 3D graphics applications. You will also discover that 'playing' with HyperMatter can often yield unexpected results and surprises.

The HyperMatter Standalone allows you to:

· Load example scene files
· Build simple physically based scenarios and experiments
· Explore the wide range of possible behaviours and effects
· Test HyperMatter's various constraint mechanisms
· Test HyperMatter's strengths (and limits).

bear head

The application includes numerous controls and dialogs including:

· Geo and Hyp object Creation methods and tools
· Geo and Hyp object transform tools (to re-configure objects in the scene)
· Initial State and Material Properties editors
· Hyp object Part and Group editors
· Geo object Properties editor (e.g. to set up material associations and soft-transforms)
· Geo object Attachments editor (for attaching 'rigid' Geo objects to Hyp objects)
· Rendering and Lighting editors
· Extremely powerful and easy to use Constraint Editor (see below)

HyperMatter Constraint Editor

Having created your Geo and Hyp object(s), configured their Initial states, and set the Hyp objects' material properties, the next most important stage is to define the constraints that govern the motion of objects during playback.

The HyperMatter Constraint Editor enables sequences of commands (including HyperMatter constraint commands) to be created and edited, to form a 'Constraint Script'. The Constraint Script is executed during each time-step, by sequentially executing each of the commands in it, and is what controls the motion and behaviour of Hyp objects (and other things) during playback.

The Constraint Script allows simple 'logical flow of control' and the use of typed variables (int, float, vector, matrix, and 'axes'). These powerful features give the user much the same control over objects as a programmer would have, but with instant response, and other added benefits. Commands are listed in a Constraint Palette, and are divided into various categories, including: Logic, Arithmetic, Trig, Matter, Dynamics, Effects, etc. To distinguish them from other commands, the HyperMatter constraint commands, which act directly on Hyp objects, generally start with the letter 'H', and are located in the HDYN_1 or HDYN_2 categories.

The HyperMatter Constraint Editor is designed to be as simple, quick and easy to use as possible. For example, edits can be performed in real-time, during playback, for instant feedback. Simply click on command arguments to insert or edit (pre-defined) variables or constant values (only pre-defined variables, occurring at LHS of preceding commands, will be available for insert). Where trial-and-error is necessary, these features greatly speed up the task of constructing, editing, and 'fine-tuning' a Constraint Script.


In a real-life application, HyperMatter constraints would normally be hard-coded within a special 'constraint callback function' (see later section). However, using the Standalone's Constraint Editor, ideas can be tested and experiments performed, quickly and simply, thus saving much time and effort.

In practice, only a few commands are usually sufficient to achieve a particular effect, but arbitrarily complex constraint sequences can be created if necessary. As a rule, a Constraint Script should aim to be as simple as possible, and, ideally, should allow as much natural motion as possible. There are often several different ways of achieving similar effects or behaviours, and some degree of experimentation will usually be necessary.

The 'art' of using HyperMatter consists largely in devising the simplest, most compact and efficient sequence of constraints sufficient to produce a desired behaviour or form of motion. If you can clearly picture the desired effect in your imagination then this task should be intuitive and straightforward, given a basic knowledge of HyperMatter's functionality, and its intrinsic strengths and limitations.

To help readability and clarity, we have coloured command arguments that reference Hyp objects (or parts) 'pale blue', and those that reference Geo objects 'pink'. These will usually be the first arguments of the command. The 'meaning' of any remaining arguments of a given command should be reasonably self evident, or at least easy to remember. The user can double-click on any command name in the Constraint Palette to show its associated help notes.

In addition, whenever a Geo or Hyp object is selected in the scene, either by clicking the mouse-pointer over it or via any of the 'Selector Tools' in the various dialog boxes and editors, any command arguments referencing the object will be 'underlined' in yellow. Conversely, whenever you click in the Constraint Editor next to a command line, or on a command argument, the referenced object and/or part will be highlighted in the scene.

'Comments' (lines of text) can also be inserted. These can make scripts much more readable and easier to understand.

The functionality of our Constraint Editor is actually based on a special HyperMatter class, which we outline in a later section.