Home

Forum

Downloads

Documentation

License

Users

Developers

 

 

 

 

 

 

 

Purpose

OPAL is a high-level interface for low-level physics engines used in games, robotics simulations, and other 3D applications.  Features a simple C++ API, intuitive objects (e.g. Solids, Joints, Motors, Sensors), and XML-based file storage for complex objects.

 

News

  • May 16, 2006: Version 0.4.0 released.
  • October 19, 2005: Version 0.3.1 released.
  • April 21, 2005: Version 0.3.0 released.
  • February 10, 2005: Version 0.2.0 released.
  • November 1, 2004: Version 0.1.0 released.

 

Supported Physics Engines

 

Current Features

  • Open Source
  • Cross-platform
  • Tested on Linux, Irix, Windows, and Mac OS X
  • XML file loading
  • OPAL XML exporter for 3ds Max
  • Breakable joints
  • Linear and angular motion damping
  • Per-shape material settings
  • Contact groups (define which objects can interact physically)
  • Collision detection primitive shapes

o      Boxes

o      Spheres

o      Capsules (i.e. capped cylinders)

o      Planes

  • User-defined triangular mesh collision detection (best for terrains)
  • Joints

o      Hinge joints (one rotational degree of freedom)

o      Universal joints (two rotational degrees of freedom)

o      Ball joints (three rotational degrees of freedom)

o      Wheel joints (two rotational degrees of freedom)

o      Slider joints (i.e. prismatic joints; one translational degree of freedom)

o      Fixed joints (zero degrees of freedom)

  • Motors

o      Attractor motors (provide gravitational attraction between two objects)

o      Geared motors (simplified automobile engines)

o      Servo motors (use limited torque to achieve a desired angle or velocity; similar to PD/PID controllers)

o      Spring motors (simple damped springs; pull objects to a desired position and/or orientation)

o      Thruster motors (provide a constant force on an object)

  • Sensors

o      Acceleration sensors

o      Incline sensors

o      Raycast sensors

o      Volume sensors

  • Event handlers

o      Collision event handler (notified when objects collide)

o      Joint break event handler (notified when a joint breaks)

o      Post-step event handler (notified at the end of each time step)

 

Planned Features

  • XML file saving
  • OPAL XML exporter for Blender

 

OPAL is Copyright © 2004-2005 Alan Fischer, Andres Reinot, and Tyler Streeter