Box2D

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Box2D
Физический движок
Box2D logo.png
Разработчик Эрин Катто (англ. Erin Catto)
Поддерживаемая ОС не зависит от ОС
Написан на языке C++
Лицензия лицензии zlib[1]
Последняя версия 2.3.1[2] / 5 апреля 2014 года
http://www.box2d.org/

Box2D — компьютерная программа, свободный открытый физический движок. Box2D является физическим движком реального времени и предназначен для работы с двухмерными физическими объектами. Движок разработан Эрином Катто (англ. Erin Catto), написан на языке программирования C++ и распространяется на условиях лицензии zlib.

Движок используется в двухмерных компьютерных играх, среди которых Angry Birds, Limbo, Crayon Physics Deluxe, Rolando, Fantastic Contraption, Incredibots, Transformice, Color Infection и многие другие браузерные Flash-игры.[3]

История[править | править вики-текст]

Первая версия Box2D была выпущена под названием «Box2D Lite» в качестве движка, для физической презентации, которую показал Эрин Катто на выставке Game Developers Conference 2006. 11 сентября 2007 года движок стал доступным для скачивания на сайте SourceForge.net.

6 марта 2008 года была выпущена версия движка 2.0, в которой была представлена технология Continuous collision detection (обнаружение продолжающихся (непрерывных) столкновений) и был переработан API.

3 апреля 2010 года была выпущена версия Box2D 2.1.0. В новой версии были добавлены рейкастинг, динамические ААВВ деревья, новые типы джойнтов (связок), был полностью переписан блок обнаружений непрерывных столкновений и т. д.[4][5]

Кроссплатформенность[править | править вики-текст]

Движок Box2D является кроссплатформенным ПО, он написан на платформо-независимом языке программирования C++, поэтому может работать (выполняться) на любой платформе, на которой присутствует компилятор C++. Движок может быть скомпилирован в режимах с фиксированной запятой и с плавающей запятой.

Box2D используется на Nintendo DS, Wii и нескольких мобильных телефонах (включая iPhone), а также на большинстве основных операционных систем для ПК.

Движок был портирован на многие языки программирования и программные среды, включая Java[6], Adobe FlashActionScript[7] и языках haXe[8]), C#[9], JavaScript[10], D[11] и Delphi[12]. Присутствует связывание (англ. bindings) для использования откомпилированной библиотеки движка на Python[13] и DarkBasic.

Box2D встроен в такие open source конструкторы игр, как кроссплатформенный Novashell и Scirra Construct для Windows, а также в движок Love 2D.

30 октября 2009 года было объявлено о том, что Box2D будет интегрирован в игровой движок Torque 2D.[14]

В версии 2.1 Stencyl Works так же используется Box2D (прим.)

Технические характеристики[править | править вики-текст]

Демонстрация возможностей движка

Box2D предназначен для симуляции механики твёрдых тел с учётом ограничений. Движок может симулировать физические тела, составленные из выпуклых многоугольников, окружностей и линий. Тела могут быть связаны ограничителями в кинематические пары и подвергаться действию разных физических сил, таких как гравитация, трение и удар. Тела также могут подвергаться действию внутренних сил, таких как упругость.

Системы обнаружения столкновений и обработки ограничений состоят из трёх частей: возрастающей широкой фазы Sweep and prune, блока непрерывных (продолжающихся) обнаружений столкновений, и стабильного линейного во времени блока решения столкновений. Эти алгоритмы предоставляют эффективную симуляцию быстро движущихся тел и больших массивов объектов без упускания пересечений и появления нестабильностей.[15]

Связанные физические движки[править | править вики-текст]

Ранняя версия движка Box2D называлась Box2D Lite и использовалась в презентациях Эрина Катто, которые он показывал на выставке Game Developers Conference. Box2D Lite использует те же алгоритмы, что и у Box2D, но имеет меньший набор функций.[16]

Физические движки Chipmunk (англ.)русск.[17] (написан на C) и Phys2D[18] (написан на Java) частично основаны на Box2D Lite.

Примечания[править | править вики-текст]

  1. Erin Catto. Box2D Main Page (англ.)(недоступная ссылка — история). box2d.org (9 октября 2007 года). Проверено 2 апреля 2010. Архивировано из первоисточника 24 октября 2007.
  2. Box2D 2.3.1 Released
  3. Games Tagged with "box2d" (англ.). Jayisgames.com. Проверено 2 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  4. Erin Catto. Box2D 2.1.0 Released (англ.). Официальный сайт Box2D (3 апреля 2010 года). Проверено 17 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  5. Box2D 2.1.0. UralDev.ru (5 апреля 2010 года). Проверено 17 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  6. Erin Catto. JBox2D (англ.). JBox2D.org. Проверено 2 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  7. Box2DFlashAS3 2.0.1 (англ.). SourceForge.net. Проверено 2 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  8. haXe Physics Engine (англ.). code.google.com. Проверено 2 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  9. Box2DX on Google Code (англ.). code.google.com. Проверено 2 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  10. Box2D JS (англ.). SourceForge.net. Проверено 2 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  11. Blaze on dsource (англ.). dsource.org. Проверено 2 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  12. Box2D Delphi version (англ.). SourceForge.net. Проверено 3 июня 2010. Архивировано из первоисточника 23 апреля 2012.
  13. Pybox2d on Google Code (англ.). Проверено 2 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  14. Centaur Mich. Torque 2D Development Blog (англ.). Проверено 2 апреля 2010.
  15. Erin Catto. Box2D Manual (англ.). box2d.org. Проверено 2 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  16. Box2D Lite on Game Physics Weblog
  17. Chipmunk on Google Code (англ.). code.google.com. Проверено 2 апреля 2010. Архивировано из первоисточника 23 апреля 2012.
  18. Phys2D engine website (англ.). cokeandcode.com. Проверено 2 апреля 2010. Архивировано из первоисточника 23 апреля 2012.

Ссылки[править | править вики-текст]