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.
Here are some key features of "OPAL":
· Open Source
· 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
· Capsules (i.e. capped cylinders)
· User-defined triangular mesh collision detection (best for terrains)
· Hinge joints (one rotational degree of freedom)
· Universal joints (two rotational degrees of freedom)
· Ball joints (three rotational degrees of freedom)
· Wheel joints (two rotational degrees of freedom)
· Slider joints (i.e. prismatic joints; one translational degree of freedom)
· Fixed joints (zero degrees of freedom)
· Attractor motors (provide gravitational attraction between two objects)
· Geared motors (simplified automobile engines)
· Servo motors (use limited torque to achieve a desired angle or velocity; similar to PD/PID controllers)
· Spring motors (simple damped springs; pull objects to a desired position and/or orientation)
· Thruster motors (provide a constant force on an object)
· Acceleration sensors
· Incline sensors
· Raycast sensors
· Volume sensors
· Event handlers
· Collision event handler (notified when objects collide)
· Joint break event handler (notified when a joint breaks)
· Post-step event handler (notified at the end of each time step)
What's New in This Release:
· Many bugfixes, unit tests, and enhancements.
· New features: handling a large number of object updates, a new motor, better joint damage monitoring, and enhanced event handling.
· The project has been migrated to Subversion.