NEW! ... Spring 2019 …
HyperMatter For Unity
(April: release 1.1 with Collision Detection)
  Now available in the Unity Asset Store.

High quality (soft and rigid) dynamics, motions and behaviours for use in games, animation virtual reality, etc."HyperMatter will bring your objects to life - almost literally!"

HyperMatter is physically based software for modelling the real-time dynamics of rigid, quasi-rigid and soft, highly deformable objects and materials. At the core of HyperMatter is a very accurate and stable elasticity model derived from the classical theories of continua and elasticity.

Main Control Panels/Sections

HMUniverse : Manages Hyp objects and displays global settings/info (e.g. number of Hyp objects and vertex points, internal HM frame-rate, etc) and global Walls settings

Hyp Object Creation and Removal Tools : Enables quick and easy creation of controlling Hyp object tailored to (roughly) fit around selected Unity object(s) or hierarchy.

Hyp Object Initial State Editor : For manually setting/displaying Initial state of Hyp objects: Initial position, velocity and angular velocity of Hyp object (X,Y,Z-components), Put on Floor, Restore (back to its original shape/configuration), Set Initial State (from current state when playback paused), ReAlign (to match arbitrary transformed configuration of associated Unity object(s)),. Also: Deformer Mode button (ON/OFF) to temporarily suspend effect of Hyp object, and AutoReset (ON/OFF) to either manually set Initial state or calculate on-the-fly, at handover frame during playback, for seamless continuity of motion.

Hyp Object Material Properties Editor : UI-slider controls to edit/display: frame-ratio, space/time-scale factors, density, elasticity, damping, friction, 2D-stiffness., and gravity (X,Y,Z).

Hyp Object Part Editor : Enable parts to be created/edited using mouse-drag selection rectangle in the Scene-View.

Hyp Object Constraints : Constraint components for each type of constraint: including: Position, Velocity, Angular velocity, Expansion, Viscosity, Wind, Rigidification, Fix, FixPos, FixOri, Infinite-Plane, Self-Collisions. Similar UI-format for all constraints, enabling Target Part, Start and End Modes (On Start, At Frame/Eternal, On Event), Start and End Frames (if relevant), constraint Target Value(s), etc, to be specified, as appropriate. In addition, 'On Event' start and end modes enable the instants at which a constraint starts and/or ends to be triggered in response to Unity conditions or events (in scripts).

Our introductory HyperMatter For Unity plugin provides a high-quality and stable physically-based foundation for Unity users, incorporating all the essential, most general and commonly used features of HyperMatter into their games, animations, VR, etc.

Its accuracy and 'dynamic correctness' mean that the motion it produces is realistic and natural and visually appealing. Stability means that objects can suffer large deformations and violent impacts without becoming chaotic or wildly inaccurate. Even smaller, more subtle deformations can be very revealing about an object, and greatly enhance the sense of materiality and realism. The eye can easily discern the difference between realistic motion and motion that merely purports to be realistic.

Much of its design effort has been to ensure the plugin is as simple and easy to use as possible. It has a very compact user interface, consisting of only a small number of editors and controls. Even users who have little (or no) knowledge of dynamics, or experience writing scripts, will be able to benefit from most of the features the plugin offers. You will probably understand the main aspects of the plugin in just a few minutes.

Core Features and Highlights

  • Accurate, dynamically correct, natural real-time motion
  • Stability (large deformations and violent impacts)
  • Hyp object creation routines with automatic shaping
  • Full set of classical material properties
  • Seamless continuity of motion at handover from keyframed motion
  • Secondary/inertial motions (to add inertial effects to keyframed objects)
  • Powerful constraint system - operating over parts of Hyp objects
  • Hyp/Hyp collision detection and self-collisions
  • Compact UI controls
  • Compact UI controls
  • Extra control through Unity scripts
  • Comprehensive documentation, examples and tutorials
  • Easy to learn
  •  

    Basic methodology:

    To create a HyperMatter object ('Hyp object', for short) from a selected Unity object (or hierarchy) you just need to set 2 or 3 parameters specifying its desired shape and resolution, and click of a button. The new Hyp object will appear in your scene, with a default set of material properties (including, elasticity, damping, bulginess, friction, etc), which you can later reset as desired.

    Once you've created your controlling Hyp deformer object, you can reposition it anywhere you want, and specify when you want it to start. This might be at the beginning of the scene, or you might, for example, want it to take control of its associated Unity object halfway through its keyframed motion, either at a pre-defined 'handover' frame, or perhaps in response to some condition or trigger event. For this, you'll just need to switch ON its 'AutoReset' property and call a special Hyp object function from a script during play (time stepping) at the instant of handover. It's that simple.

    To control the otherwise natural motion of a Hyp object you apply HyperMatter constraints, which operate over pre-defined 'parts' of Hyp objects. A relatively small number of basic/primitive HyperMatter constraints are supplied, from which you can build more complex control mechanisms to customise the exact effect or behaviour you want.

    As soon as you start playing with HyperMatter you will see how Hyp objects really do bring your objects to life - almost literally! Hyp objects can do many of the things that real objects can do, and much more besides. They can squash and stretch, wobble, twist, bend, they can be picked up, hung by their corners, swung, dropped, bounced off walls or the floor, made to jump or fall over, etc, etc







    HyperMatter Demo Standalone

    As hardware becomes increasingly more powerful, greater demands are placed on the developer to produce ever more resourceful and exciting graphics applications and products. If your graphics applications involve 'motion' then you will almost certainly need to use dynamics. What is perhaps not so obvious is the extent to which dynamics software depends upon 'soft' (elastic) deformer technology.

    The Demo Standalone operates through a comprehensive user-interface through which you can load and edit a wide range of example scenes and create simple physically based scenarios of your own. Play with HyperMatter and experience the huge benefits of using a high quality soft (and rigid) dynamics library to govern the motion of objects in 3D graphics applications.

    A new extension to the HyperMatter API makes it particularly easy to import your object data into the Standalone, and to export HyperMatter scene file data from the Standalone into your 3D graphics applications or in-house animation system, where you can update your object vertex and/or transform data during playback, all just using a small handful of API functions (see later sections).

    Our new 'HMScene' functions are included primarily for use in computer animation, but can also be used more generally, as a 'quick and easy' way to create physically based scenarios, and to apply physical effects, in many 'real-time' contexts, including virtual reality. A programmer needs only write the 'simplest' of plug-ins to enable the speed and power of the Standalone to be utilised in your animation scenes, or application.

     

    Bear head

    Introduction

    HyperMatter is a physically based software library for modelling the dynamics of rigid, quasi-rigid and soft, highly deformable objects and materials.

    In real life, the dominant property of objects that governs their behaviour and motion is their 'elasticity'. Even objects that appear rigid actually deform, albeit only slightly. In the real world, rigid motion is physically impossible.


    At the heart of HyperMatter is a very accurate and stable elasticity model derived from the classical theories of continua and elasticity. Accuracy is important because it means that the motion it produces looks natural and aesthetically pleasing. Stability means that objects can suffer large and violent deformations before their motions become chaotic and wildly erratic.


    HyperMatter is also highly controllable. A small number of both low-level and high-level constraints are supplied, from which arbitrarily complex constraints and control mechanisms can be built by the user.

    Together, these factors mean that HyperMatter offers a vast reservoir of possible motions, effects and behaviours that can be used in a wide range of applications. From basic squash-and-stretch effects, and bouncing, rolling, sliding, swinging motions, etc, through to sophisticated 'vehicles' and simple 'machines' and 'contraptions', constructed from lower-level 'physical components'. However, even smaller, more subtle deformations can be very revealing about an object, and greatly enhance the sense of an object's materiality and realism.

    HyperMatter operates on its own physically based HyperMatter objects (or 'Hyp' objects, for short), which are 3D mesh type objects shaped to roughly match the shape of the user-geometry that they control. (See section: What is HyperMatter).


    Physically based motion of the Hyp objects can then be computed very accurately, subject to their material properties and any constraints that are applied to them, and their motions then conferred after each time-step onto their associated geometry, resulting in physically based motion of the latter.


    HyperMatter, and associated technologies, represent 20 years R&D by OPL. Our main design objectives are accuracy and precision, together with simplicity, clarity and ease of use. All HyperMatter technologies are derived from first principles.

    hypermatter objects

    HyperMatter Standalone

    Physically based scenarios vary over a wide range of possibilities, involving different object set-ups and different constraint mechanisms.

    The shape and resolution of a controlling Hyp object deformer, its material properties, the precise sequence of constraints applied to it, and associated parameter settings, will all effect the result. In simple cases the programmer may be surprised how quick and easy it is to achieve a particular effect. Occasionally, a developer may find that a desired effect cannot be obtained at all!, or not very well (which is hardly surprising given how crude our software tools are compared to Nature). In any event, the optimal result will usually be achieved only after a certain amount of experimenting and fine-tuning.

    The HyperMatter Standalone is ('more or less') the minimal implementation sufficient to demonstrate HyperMatter's main features, and to enable a developer to easily and quickly test a wide range of physically based scenarios. To fully enhance the graphical output, we run our geometry through Torus Knot Software Ltd's 'Ogre' (real-time) rendering engine. Seeing objects rendered with texturing, lighting, etc, makes a huge difference compared to just seeing raw HyperMatter objects, or plain flat-shaded geometry.


    The demo application allows the user to load example scene files and to easily set up simple experiments to explore the many different effects and physical behaviours that are possible, and to test the various constraint mechanisms provided ...and also to test HyperMatter 's strengths and limits.

    Also, 'playing' with HyperMatter can often yield unexpected results and surprises. There are many 'non-standard' uses of HyperMatter that have yet to be discovered. Developers of both software and graphics content are adept at 'forcing' as much as possible from their tools. We are confident that when the ingenuity of designers is applied to HyperMatter that many interesting and surprising results will follow.

    If, after experimenting with the standalone, you would like to consider incorporating HyperMatter into your products, then you are welcome to contact us to explore possibilities


    If, after experimenting with the standalone, you would like to consider incorporating HyperMatter into your products, then you are welcome to contact us to explore possibilities.


    Contact: enquiries@hypermatter.co.uk