Open Dynamics Engine

У этого термина существуют и другие значения, см. ODE (значения).
Open Dynamics Engine
Логотип программы Open Dynamics Engine
Скриншот программы Open Dynamics Engine
Столкновение множества объектов
Тип Физический движок
Написана на C++
Операционная система Кроссплатформенное программное обеспечение
Первый выпуск 8 мая 2001
Аппаратная платформа кроссплатформенность
Последняя версия 0.16.3 (19 декабря 2022)
Репозиторий bitbucket.org/odedevs/ode
Лицензия BSD license и LGPL
Сайт ode.org
Логотип Викисклада Медиафайлы на Викискладе
Простое транспортное средство преодолевает скат

Open Dynamics Engine (ODE) — это открытый физический движок, распространяемый бесплатно в виде динамически подключаемой библиотеки. Его основными компонентами являются система динамики абсолютно твёрдого тела и система обнаружения столкновений.

Например, ODE хорошо подходит для симуляции транспортных средств, существ с ногами и движущихся объектов в изменяемом окружении виртуального пространства. ODE имеет очень высокую стабильность интегрирования, поэтому ошибки симуляции не должны выходить из под контроля. С физической точки зрения это значит, что система не должна «взрываться» без причины.

ODE придаёт больше значение скорости и стабильности, чем физической точности. Он быстр, гибок и прост. Движок относится к свободному программному обеспечению и распространяется по двум лицензиям: BSD license и LGPL.

Разработка ODE была начата в 2001 году. Движок успешно используется во многих приложениях и играх, например, в Toribash, BloodRayne 2, Call of Juarez, серии игр S.T.A.L.K.E.R., World of Goo.

Возможности и особенности

  • Имеет встроенную систему определения столкновений.
  • Возможность использовать свою систему определения столкновений.
  • Имеет C интерфейс (хотя почти вся ODE написана на C++).
  • C++ интерфейс поверх C интерфейса.
  • Написано множество юнит тестов, и много пишутся сейчас.
  • Специфические оптимизации для различных платформ.
  • Поддерживаемые базовые геометрические формы:
    • Луч (ray)
    • Плоскость (plane)
    • Параллелепипед (box)
    • Сфера (sphere)
    • Капсула (capsule, цилиндр с двумя полусферами на концах)
    • Цилиндр (cylinder, реализован в нестабильном варианте)
    • Выпуклый многогранник (convex)
    • Карта высот (heightmap)
    • Треугольная сетка (triangle mesh, динамические сетки и обнаружение столкновений для двух сеток пока реализованы не до конца)
  • Поддерживаемые типы соединений (joints) твёрдых тел
    • Контактное соединение (между соприкасающимися телами)
    • Шаровое шарнирное соединение (ball joint, соединяет тела в одной точке, не ограничивая вращения)
    • Шарнир (hinge joint, соединение с одной осью вращения)
    • Двухосное соединение (hinge2 joint, соединение с двумя осями вращения, которое часто используют для реализации автомобильной подвески)
    • Кардан (universal joint)
    • Фиксирующее соединение (fixed joint)
    • Угловой мотор (angular motor, управляет относительным вращением двух тел)
    • Телескопическое соединение (piston joint)

Примечания

Ссылки

  • Медиафайлы на Викискладе
  • Домашняя страница проекта ODE Архивная копия от 27 сентября 2019 на Wayback Machine
  • Wiki-ресурс проекта
  • Наиболее полный мануал поддерживаемый сообществом
  • Документация к версии 0.5 на русском Архивная копия от 2 октября 2008 на Wayback Machine
  • Страница проекта на SourceForge Архивная копия от 5 октября 2008 на Wayback Machine
  • Список проектов, использующих ODE Архивная копия от 28 февраля 2007 на Wayback Machine
  • OPAL — библиотека C++-классов, первоначально основанная на ODE
  • Описание движка ODE Архивная копия от 16 июня 2008 на Wayback Machine на сайте GameDev.ru
Перейти к шаблону «Игровые движки»
Графические
Свободные
GLScene
Horde3D[англ.]
Irrlicht
OGRE
OpenSceneGraph
Проприетарные
Outerra[англ.]
Физические
Свободные
Box2D
Bullet
Chipmunk[англ.]
Newton
ODE
Tokamak
Проприетарные
DMM
Havok Physics
PhysX
Общего назначения
2D
Свободные
Allegro
ClanLib
Cocos2d
Construct
Felgo[англ.]
idTech 1
Проприетарные
Construct 2
GameMaker: Studio
Retro Engine
Stencyl
Vicious Engine
3D
Свободные
Away3D
BGE
Bork3D[англ.]
Cafu[англ.]
Crystal Space
Defold
Delta3D
dim3[англ.]
Genesis3D[англ.]
Godot
id Tech 2, 3, 4
jMonkeyEngine
Lumberyard
Moai
Nebula Device
Panda3D
Pygame
QFusion
Проприетарные
Chrome Engine
CryEngine
Dagor Engine
Freescape
Gamebryo
GoldSrc
Havok Vision
id Tech 5, 6, 7
LithTech
Marmalade
RAGE
RenderWare
Source
Source 2
Unigine
Unity
Unreal Engine (список продуктов)
Специализированные
2D
Свободные
LÖVE
Ren'Py
Stratagus
VASSAL
Wintermute
Проприетарные
M.U.G.E.N
NScripter
RPG Maker
3D
Свободные
DarkPlaces
OpenMW
OpenSim
Spring Engine
WorldForge[англ.]
Проприетарные
HeroEngine[англ.]
Другие