Box2D
| Box2D | |
|---|---|
| | |
| Тип | физический движок |
| Разработчик | Эрин Катто (англ. Erin Catto) |
| Поддерживаемая ОС | Кроссплатформенный |
| Написан на языках | |
| Лицензия | MIT[1] |
| Последняя версия | 3.0.0[2] (12 августа 2024) |
| box2d.org | |
Box2D — открытый физический движок реального времени, предназначенный для работы с двумерными физическими объектами. Движок разработан Эрином Катто (англ. Erin Catto) и написан на языке программирования C (до версии 3.0.0 на C++), распространяется на условиях лицензии MIT.
История
Первая версия движка была выпущена под названием «Box2D Lite» для презентации на выставке Game Developers Conference 2006. 11 сентября 2007 года движок стал доступным для скачивания на сайте SourceForge.net.
6 марта 2008 года была выпущена версия движка 2.0, в которой была представлена технология Continuous collision detection (непрерывное обнаружение столкновений) и был переработан API.
3 апреля 2010 года была выпущена версия Box2D 2.1.0. В новой версии были добавлены рейкастинг, динамические ААВВ деревья, новые типы джойнтов (связок), полностью был переписан блок обнаружений непрерывных столкновений[3][4].
Кроссплатформенность
Движок Box2D является кроссплатформенным ПО, написанным на языке программирования C. Движок может быть скомпилирован в режимах с фиксированной и плавающей запятыми.
Box2D используется на Nintendo DS, Wii и на мобильных устройствах (включая iPhone), а также на большинстве операционных систем для ПК.
Движок был портирован на многие языки программирования и программные среды, включая Java[5], Adobe Flash (в ActionScript[6] и язык Haxe[7]), C#[8], JavaScript[9], D[10] и Delphi[11]. Присутствует связывание (англ. bindings) для использования библиотеки движка на Python[12] и DarkBasic.
Box2D встроен в такие open source конструкторы игр, как Novashell и Scirra Construct для Windows, а также в движок Love 2D.
30 октября 2009 года было объявлено о том, что Box2D будет интегрирован в игровой движок Torque 2D[13].
В версии 2.1 Stencyl Works так же используется Box2D.
В марте 2015 года, с выходом Unity 5, в движок был интегрирован Box 2D[14].
Технические характеристики

Box2D предназначен для симуляции механики твёрдых тел с учётом ограничений. Движок может симулировать физические тела, составленные из выпуклых многоугольников, окружностей и линий. Тела могут быть связаны ограничителями в кинематические пары и подвергаться действию разных физических сил, таких как гравитация, трение и удар. Тела также могут подвергаться действию внутренних сил, таких как упругость.
Системы обнаружения столкновений и обработки ограничений состоят из трёх частей: возрастающей широкой фазы sweep and prune, блока непрерывного обнаружения столкновений и стабильного линейного во времени блока решения столкновений. Эти алгоритмы предоставляют эффективную симуляцию быстро движущихся тел и больших массивов объектов без упускания пересечений и появления нестабильностей[15].
Связанные физические движки
Ранняя версия движка Box2D называлась Box2D Lite и использовалась в презентациях Эрина Катто, которые он показывал на выставке Game Developers Conference. Box2D Lite использует те же алгоритмы, что и у Box2D, но имеет меньший набор функций[16].
Физические движки Chipmunk[англ.][17] (написан на C) и Phys2D[18] (написан на Java) частично основаны на Box2D Lite.
Примечания
- ↑ Erin Catto. Box2D Main Page (англ.). box2d.org (9 октября 2007). Дата обращения: 2 апреля 2010. Архивировано из оригинала 24 октября 2007 года.
- ↑ v3.0.0. Дата обращения: 10 октября 2024. Архивировано 12 августа 2024 года.
- ↑ Erin Catto. Box2D 2.1.0 Released (англ.). Официальный сайт Box2D (3 апреля 2010). Дата обращения: 17 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ Box2D 2.1.0. UralDev.ru (5 апреля 2010). Дата обращения: 16 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ Erin Catto. JBox2D (англ.). JBox2D.org. Дата обращения: 2 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ Box2DFlashAS3 2.0.1 (англ.). SourceForge.net. Дата обращения: 2 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ haXe Physics Engine (англ.). code.google.com. Дата обращения: 2 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ Box2DX on Google Code (англ.). code.google.com. Дата обращения: 2 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ Box2D JS (англ.). SourceForge.net. Дата обращения: 2 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ Blaze on dsource (англ.). dsource.org. Дата обращения: 2 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ Box2D Delphi version (англ.). SourceForge.net. Дата обращения: 3 июня 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ Pybox2d on Google Code (англ.). Дата обращения: 2 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ Centaur Mich. Torque 2D Development Blog (англ.). Дата обращения: 2 апреля 2010. Архивировано 16 января 2010 года.
- ↑ TLT. Unity. gcup.ru (4 марта 2015). Дата обращения: 30 сентября 2024. Архивировано 19 апреля 2024 года.
- ↑ Erin Catto. Box2D Manual (англ.). box2d.org. Дата обращения: 2 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ Box2D Lite on Game Physics Weblog. Дата обращения: 17 апреля 2010. Архивировано из оригинала 30 марта 2014 года.
- ↑ Chipmunk on Google Code (англ.). code.google.com. Дата обращения: 2 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
- ↑ Phys2D engine website (англ.). cokeandcode.com. Дата обращения: 2 апреля 2010. Архивировано из оригинала 23 апреля 2012 года.
Ссылки
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.