Open Dynamics Engine
| Open Dynamics Engine | |
|---|---|
| | |
| Столкновение множества объектов | |
| Тип | Физический движок |
| Написана на | C++ |
| Операционная система | Кроссплатформенное программное обеспечение |
| Дата выпуска | 8 мая 2001 |
| Аппаратная платформа | кроссплатформенность |
| Последняя версия | |
| Репозиторий | bitbucket.org/odedevs/ode |
| Лицензия | GNU LGPL и BSD |
| Сайт | 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
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.