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 хорошо подходит для симуляции транспортных средств, существ с ногами и движущихся объектов в изменяемом окружении виртуального пространства. 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)