Chinaunix首页 | 论坛 | 博客
  • 博客访问: 845994
  • 博文数量: 756
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:40
文章分类

全部博文(756)

文章存档

2011年(1)

2008年(755)

我的朋友

分类:

2008-10-13 16:12:18


游戏里经常会用到物理模拟(当然,牛人又在说,我要自己写个了,不过好像连HL2的物理都是买的),ODE可能是个比较好的选择,开源,而且效率也不低,一般的应用足够了。

OPAL是ODE的一个封装,这次的RELEASE的一个例子是用ogre来渲染的

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

  • 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

--------------------next---------------------

阅读(384) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~