WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Bullet Physics Library

Официальный логотип движка
Тип Физический движок
Ключевые программисты Эрвин Куманс (англ. Erwin Coumans), Ли Хоус (англ. Lee Howes)
Аппаратные платформы IBM PC-совместимые компьютеры, PlayStation 3, PlayStation Portable, Wii, Nintendo DS, Xbox 360, Android, iPhone
Поддерживаемые ОС Microsoft Windows, Mac OS X, Linux, Google Android, Apple iOS
Написан на языках Си, C++
Лицензия свободнаялицензия zlib[1]
Последняя версия 2.88 / 1 января 2019[2]
Первая игра на движке Regnum Online / 24 мая 2007 года
Последняя игра на движке Riptide GP
Официальный сайт
 Bullet Physics Library на Викискладе

Bullet Physics Library (Библиотека физики «Bullet»; далее — «Bullet»[3]) — физический движок реального времени, который распространяется под свободной лицензией zlib. Скомпилированная библиотека и исходный код движка размещены в свободном доступе на хостинге Google Code. Основной автор «Bullet», Эрвин Куманс (англ. Erwin Coumans), ранее работал над движком Havok.

«Bullet» активно используется в компьютерных играх, фильмах, программах трёхмерного моделирования, как компонент других игровых движков и во множестве других более специфичных случаях. «Bullet» используется компанией AMD в рамках программы Open Physics Initiative, которая предполагает создание нового физического движка на базе «Bullet» и Digital Molecular Matter, который будет активно использовать аппаратное ускорение расчётов физических вычислений посредством OpenCL и DirectCompute.

Согласно статье из журнала Game Developer (англ.), которая была опубликована в августе 2009 года, «Bullet» по популярности использования разработчиками компьютерных игр занимает третье место, уступая лишь движкам nVidia PhysX и Havok.[4]

История

В середине сентября 2009 года компания AMD предложила свою поддержку в разработке OpenCL-версии движка «Bullet» для видеокарт.[5][6]

30 сентября 2009 года было официально объявлено о том, что DMM станет составным компонентом новообразованного движка, который разрабатывается AMD и Pixelux соответственно проекту «Open Physics Initiative».[7]

В середине октября 2009 года журналисты сайта Icrontic взяли интервью у руководителя технического маркетинга nVidia Тома Питерсена с целью узнать отношение компании к Bullet после инициативы AMD. Питерсон заявил, что nVidia и дальше будет максимально поддерживать развитие движка.[8]

В конце февраля 2010 года была выпущена версия движка и SDK под номером 2.76. В этой версии были сделаны необходимые приготовления к поддержке исполнения через OpenCL и обновлены предварительные демонстрации MiniCL. Был улучшен плагин Dynamica для Autodesk Maya, введён новый бинарный платформонезависимый формат экспорта-импорта физических данных .bullet, а также добавлены предварительные версии новых инструментов: btInternalEdgeUtility для исключения ненужных коллизий при взаимодействии объектов и редактор/отладчик физики.[9]

22 сентября 2010 года вышла версия 2.77, в которой рамках Open Physics Initiative была добавлена запланированная ранее поддержка аппаратного ускорения на графических процессорах через OpenCL и DirectCompute. В версии 2.77 аппаратное ускорение было реализовано для модуля симуляции одежды (BulletSoftBody). В будущих версиях планируется поддержка и других модулей движка. Также в рамках версии 2.77 разработчики создали плагин для 3DS Max, который добавляет в программу поддержку Bullet.[10][11]

В начале августа 2011 года на конференции SIGGRAPH 2011 компания Autodesk при поддержке AMD представила для редактора трёхмерной графики Maya 2012 новый плагин Bullet Physics, который использует OpenCL и который вошел в набор Subscription Advantage Pack. «Мы продвигаем индустриальные стандарты вроде OpenCL и Bullet Physics, так как они упрощают программирование и устраняют препятствия, вызванные проприетарными технологиями, которые могут ограничить творчество разработчиков», — заявил по этому поводу Сандип Гупте (англ. Sandeep Gupte), главный управляющий подразделения профессиональной графики в AMD.[12][13]

16 сентября 2011 года была выпущена версия 2.79, основная часть которой была направлена на исправление ошибок, однако также и вносила новый функционал: новый метод декомпозиции выпуклых поверхностей на основе библиотеки HACD и новая система сборки premake, которая может автоматически генерировать файлы проекта Microsoft Visual Studio. Одновременно с выходом этой версии были опубликованы материалы по Bullet, которые презентовались на SIGGRAPH 2011 в рамках доклада «Destruction and Dynamicsfor Film and Game Production».[14][15]

Функциональные возможности

Процесс разрушения стены, смоделированный движком «Bullet»

Обнаружение столкновений

Обнаружение столкновений, используемое в «Bullet», как и в большинстве других физических движков, имеет широкую и узкую фазы (англ. broadphase, narrowphase). Во время широкой фазы алгоритм обнаружения столкновений уменьшает количество потенциально взаимодействующих объектов путём применения ограничивающих объёмов к сцене. «Bullet» содержит несколько разных реализаций широкой фазы, предназначенных для различных целей. Наиболее общая реализация базируется на динамических иерархиях ограничивающих объёмов (англ. dynamic bounding volume hierarchies): используются выровненные по осям ограничивающие параллелепипеды (англ. axis aligned bounding box — AABB), которые постепенно обновляются при перемещении, добавлении или удалении объектов. Также присутствует другая реализация широкой фазы, имеющая аппаратное ускорение на графических процессорах посредством OpenCL, однако она имеет ограничения на размеры объектов.[30]

Этап узкой фазы связан с точной генерацией точек контакта между парами соприкоснувшихся между собой объектов. «Bullet» использует несколько обобщённых алгоритмов, а именно алгоритм Гилберта-Джонсона-Кёрти (англ. GJK) и Expanding Polytope Algorithm (EPA), которые решают задачи столкновения для широкого набора типов геометрических форм столкнувшихся объектов.[30]

Присутствует поддержка непрерывного обнаружения столкновений, которое вычисляет время столкновения между движущимися и вращающимися объектами, однако по умолчанию «Bullet» вычисляет наименьшее расстояние и глубину проникновения в дискретные моменты времени для получения информации о точках контакта между объектами.[30]

Использование

Благодаря своей бесплатности и открытому свободному коду «Bullet» активно используется не только в индустрии компьютерных игр, но и в производстве спецэффектов к фильмам. Многие производители спецэффектов, использующие «Bullet», модифицируют его под свои проприетарные программные инструменты или под текущие задачи, которые должен выполнять движок. Например, Digital Domain использовала модифицированный «Bullet» для создания эффектов к фильму «2012», а Framestore интегрировала изменённую версию движка в свой внутренний программный инструмент fBounce при создании фильма «Шерлок Холмс». Weta Digital интегрировала движок в свою внутреннюю программу wmRigid при создании спецэффектов фильма «Команда-А».[30]

Помимо этого, «Bullet» активно используется в программах трёхмерного моделирования в качестве плагина или уже интегрированного инструмента. Он доступен для Cinema 4D, MoDynamics, Houdini, 3ds Max, Carara, Blender, Maya и Lightwave.[30]

Согласно Эрвину Кумансу, такая популярность в использовании и адаптации движка проистекает из его кросс-платформенности, свободности и открытости, чего не имеют конкуренты — проприетарные Havok и nVidia PhysX. По сравнению со своим ближайшим свободным конкурентом — Open Dynamics Engine, — «Bullet» содержит надежный механизм обнаружения столкновений для объектов с выпуклой оболочкой, что является важным для симуляции разрушаемых структур.[30]

Индустрия компьютерных игр

«Bullet» используется во многих компьютерных играх, как коммерческих, так и некоммерческих.

Название игры Разработчик Издатель Дата первого выхода Платформы
Regnum Online NGD Studios NGD Studios 24 мая 2007 года ПК (Windows, Linux)
Grand Theft Auto IV[31] Rockstar North, Rockstar Toronto Rockstar Games, Take-Two Interactive, Synergex 29 апреля 2008 года ПК (Windows), PlayStation 3, Xbox 360
Crayola Colorful Journey[32] Crave Entertainment Crave Entertainment 31 марта 2009 года Wii
Free Realms[33][34] SOE San Diego Sony Online Entertainment 28 апреля 2009 года ПК (Windows, Mac), PlayStation 3
Trials HD[35][36] RedLynx Microsoft Game Studios 12 августа 2009 года Xbox 360
Gravitronix[37] Medaverse Studios Nointendo (WiiWare) 12 октября 2009 года Wii
Hot Wheels: Battle Force 5[38] Mattel Activision 17 ноября 2009 года Wii, Nintendo DS
Madagascar Kartz[39] Sidhe Interactive, Virtuos Activision 27 октября 2009 года PlayStation 3, Xbox 360, Wii, Nintendo DS
Red Dead Redemption Rockstar San Diego, Rockstar North Rockstar Games 18 мая 2010 года PlayStation 3, Xbox 360
Puzzle Dimension Doctor Entertainment Doctor Entertainment 26 августа 2010 года ПК (Windows, Mac)
Cars 2: The Video Game[40] Avalanche Software, Firebrand Games Disney Interactive 21 июня 2011 года ПК (Windows, Mac OS X), Nintendo DS, PlayStation 3, Wii, Apple_iOS, Xbox 360
Riptide GP[40] Vector Unit Vector Unit июль 2011 года Android
Max Payne 3 Rockstar Vancouver Rockstar Games 18 мая 2012 года ПК (Windows), PlayStation 3, Xbox 360
Scania Truck Driving Simulator The Game SCS Software SCS Software 13 июня 2012 года ПК (Windows)
Red Dead Redemption II Rockstar Studios Rockstar Games 26 октября 2018 года PlayStation 4, Xbox One

Киноиндустрия

«Bullet» был задействован в следующих фильмах:

Программы трёхмерного моделирования

Следующие программы трёхмерного моделирования используют движок «Bullet» как плагин для расчётов физики:

Игровые движки

Следующие игровые движки используют «Bullet» в качестве физического движка:

  • Crystal Space — игровой движок, поддерживающий «Bullet» и переключающийся на него как на главный физический плагин.
  • C4 Engine — проприетарный игровой движок, разработанный компанией Terathon Software, в который Эрвин Куманс интегрировал «Bullet».
  • Cafu Engine — игровой движок, разработанный Carsten Fuchs Software и распространяющийся как под свободной, так и под коммерческой лицензией.
  • Rockstar Advanced Game Engine — игровой движок, разработанный Rockstar San Diego и Rockstar North.
  • Blitz3D через враппер BlitzBullet.
  • Ducttape — игровой движок[51].
  • Urho3D — игровой движок.
  • Godot — открытый кроссплатформенный 2D и 3D игровой движок под лицензией MIT, который разрабатывается сообществом Godot Engine Community[52].
  • Panda3D имеет встроенную поддержку Bullet Physics Library.

Графические движки

Следующие графические движки имеют средства для связи с «Bullet»:

Прочее

Примечания

  1. оригинальный текст лицензии zlib (недоступная ссылка). Проверено 25 июля 2008. Архивировано 30 мая 2008 года.
  2. Release Bullet 2.88 · bulletphysics/bullet3 · GitHub
  3. «Bullet» переводится с английского языка как «пуля»
  4. Bullet ranked third physics library at 10% in Game Developers Magazine survey (англ.). официальный сайт движка Bullet Physics Library (3 сентября 2009 года). Проверено 24 сентября 2009. Архивировано 16 февраля 2012 года.
  5. RPGman. AMD поддержит разработку OpenCL версии Bullet. GameDev.ru (18 сентября 2009 года). Проверено 23 сентября 2009. Архивировано 15 марта 2012 года.
  6. Константин Ходаковский. AMD поддерживает физический движок Bullet, разрабатываемый на GeForce. Мир nVidia (26 сентября 2009 года). Проверено 26 февраля 2010. Архивировано 15 марта 2012 года.
  7. AMD Announces Open Physics Initiative Designed to Bring New Levels of Realism to Gaming, Simulations, Popular Applications Open and Industry Standards-based ATI Stream Technology Frees Industry from Proprietary Implementations (англ.). официальный сайт AMD (30 сентября 2009 года). — Оригинальный пресс-релиз. Проверено 1 октября 2009. Архивировано 13 августа 2011 года.
  8. Константин Ходаковский. NVIDIA также поддерживает движок Bullet Physics. Мир nVidia (11 октября 2009 года). Проверено 26 февраля 2010. Архивировано 15 марта 2012 года.
  9. DrEvil. Bullet Physics готовится к OpenCL-ускорению. Мир nVidia (26 февраля 2010 года). Проверено 26 февраля 2010. Архивировано 15 марта 2012 года.
  10. 1 2 DrEvil. Bullet Physics теперь поддерживает аппаратное ускорение. Мир nVidia (23 сентября 2010 года). Проверено 29 сентября 2010. Архивировано 15 марта 2012 года.
  11. Erwin Coumans. Bullet 2.77 is released! OpenCL & DX11 cloth, 3ds Max plugin (англ.). Официальный сайт Bullet Physics (22 сентября 2010 года). Проверено 29 сентября 2010. Архивировано 15 марта 2012 года.
  12. 1 2 Константин Ходаковский. AMD и Autodesk продемонстрировали API OpenCL и плагин Bullet Physics для Maya 2012. 3DNews (14 августа 2011 года). Проверено 14 августа 2011.
  13. "Bullet Physics" для Maya. UralDev (13 августа 2011 года). Проверено 20 августа 2011. Архивировано 20 августа 2011 года.
  14. Bullet 2.79 release and SIGGRAPH course material available (англ.). Официальный сайт движка (16 сентября 2011 года). Проверено 21 сентября 2011. Архивировано 15 марта 2012 года.
  15. Bullet 2.79. UralDev.ru (19 сентября 2011 года). Проверено 21 сентября 2011. Архивировано 15 марта 2012 года.
  16. Collision Shapes. Архивировано 15 марта 2012 года.
  17. Previously_Done. Архивировано 15 марта 2012 года.
  18. generic swept sphere collision detection algorithm. Архивировано 15 марта 2012 года.
  19. Bullet 2.68 Physics SDK released:Soft Bodies, Cloth, iPhone! (14 апреля 2008 года). Архивировано 15 марта 2012 года.
  20. Bullet 2.73 SP1 released: fast btCudaBroadphase, SSE solver (16 ноября 2008 года). Архивировано 15 марта 2012 года.
  21. GPU physics: OpenCL separate branch (10 сентября 2009 года). Архивировано 15 марта 2012 года.
  22. Bullet 2.75 released: GPU, SPH fluids, overall improvements (10 сентября 2009 года). Архивировано 15 марта 2012 года.
  23. Bullet 2.67 released: COLLADA Physics export, SPU raycast. Архивировано 15 марта 2012 года.
  24. Bullet 2.71 released: Disney Maya Plugin (05 сентября 2008 года). Архивировано 15 марта 2012 года.
  25. Bullet 2.53 Multithreaded. Архивировано 15 марта 2012 года.
  26. new binary .bullet file format with Maya and Blender authoring tool support. Архивировано 15 марта 2012 года.
  27. Java port of Bullet (11 января 2008 года). Архивировано 15 марта 2012 года.
  28. JBullet - Java port of Bullet Physics Library (19 мая 2009 года). Архивировано 15 марта 2012 года.
  29. Bullet on XNA (13 сентября 2006 года). Архивировано 15 марта 2012 года.
  30. 1 2 3 4 5 6 Mike Seymour. Bullet Open Source Physics Engine (англ.). fxguide (англ.) (3 января 2011 года). Проверено 26 июля 2011. Архивировано 15 марта 2012 года.
  31. AAA Titles using Bullet. Erwin Coumans (5 января 2009). — «There are some AAA games released by Sony Computer Entertainment, Disney and Rockstar and others. [...] We are allowed to mention that some parts of Bullet have been co-developed and optimized with Rockstar and merged into their Rage game engine, used on Xbox 360, PC and PLAYSTATION 3 in Midnight Club: Los Angeles and Grand Theft Auto 4.». Проверено 5 января 2009. Архивировано 18 февраля 2012 года.
  32. Crayola Colorful Journey for Wii. eric777 (28 января 2009). — «we specifically used Bullet to allow the player to free-draw new static & dynamic objects, to modify the levels and solve puzzles.». Проверено 14 ноября 2009. Архивировано 15 марта 2012 года.
  33. FreeRealms uses Bullet. Roy Eltham (15 апреля 2009). — «We're using Bullet collision & dynamics. We use it for our character controller (our own custom one), line of sight checks, and so forth as well as for vehicle physics in the Racing and Demolition Derby instances. Check out the beta here. Go sign up, we are letting people into the beta in waves over the next week or so. Roy Eltham, Senior Engine Programmer, Sony Online Entertainment, http://www.freerealms.com/».+Проверено 20 апреля 2009. Архивировано 15 марта 2012 года.
  34. Free Realms (Sony Online Entertainment) uses Bullet Physics Library (англ.). официальный сайт «Bullet» (6 мая 2009 года). Проверено 1 октября 2009. Архивировано 15 марта 2012 года.
  35. Dale Nardozzi - "Legba". Trials HD Developer Interview. TeamXbox (6 августа 2009 года). — «We are also using a modified version of an open source physics engine called Bullet Physics Library to calculate our physics simulation and collision inside the game.». Проверено 15 декабря 2010 года. Архивировано 15 марта 2012 года.
  36. Trials HD (XBox 360) uses Bullet (англ.). официальный сайт «Bullet» (23 сентября 2009 года). Проверено 1 октября 2009. Архивировано 15 марта 2012 года.
  37. Gravitronix releases on WiiWare, uses Bullet. Wavesonics (12 октября 2009). — «The engine was developed 100% from scratch, and makes extensive use of Bullet for all physics, collision detection, and more.». Проверено 14 ноября 2009. Архивировано 15 марта 2012 года.
  38. HotWheels: Battle Force 5 for Wii uses Bullet. Kester Maddock (13 ноября 2009). — «HotWheels: Battle Force 5 for Wii uses Bullet for collision detection, dynamics, and vehicle simulation..». Проверено 14 ноября 2009. Архивировано 15 марта 2012 года.
  39. Madagascar Kartz uses Bullet. Kester Maddock (14 октября 2009). — «Madagascar Kartz for Wii, PS3 & Xbox360 uses Bullet. http://nzgamer.com/all/news/3515/madagascar-kartz-announced-dated.html Madagascar Kartz is a 4 player kart racer. Its vehicle simulation is based on Bullet's btRaycastVehicle.». Проверено 14 ноября 2009. Архивировано 15 марта 2012 года.
  40. 1 2 Disney’s Cars 2 game and Riptide GP for Android using Bullet (англ.). Официальный сайт Bullet Physics (27 июня 2011 года). Проверено 26 июля 2011. Архивировано 15 марта 2012 года.
  41. 2012 Step by Step (13 ноября 2009 года).
  42. Sherlock Holmes. Архивировано 15 марта 2012 года.
  43. 1 2 Bullet in SIGGRAPH collision detection course, Toy Story 3 game, A-Team movie. Архивировано 15 марта 2012 года.
  44. 1 2 Disney's Dynamica plugin for Bullet Physics. Arthur Shek (26 сентября 2008). — «I'm the software manager at Walt Disney Animation Studios who kicked off this project and cleared the open source release.». Проверено 21 февраля 2010. Архивировано 15 марта 2012 года.
  45. OpenCL Game Physics. Erwin Coumans (12 ноября 2009). — «Some movies using Bullet Physics are Bolt, Hancock and 2012». Проверено 21 февраля 2010. Архивировано 15 марта 2012 года.
  46. 1 2 PDI Dreamworks Megamind, Shrek 4 and ‘How to train your dragon’ are using Bullet (англ.). Официальный сайт движка (27 октября 2010 года). Проверено 15 декабря 2010. Архивировано 15 марта 2012 года.
  47. PDI Dreamworks Megamind, Shrek 4 and ‘How to train your dragon’ are using Bullet. Архивировано 6 июня 2012 года.
  48. LightWave - 11.5 Features Overview. www.lightwave3d.com. Проверено 14 октября 2017.
  49. New Dynamics System for Stunning, Realistic Motion. Maxon (3 сентября 2009). — «MoDynamics is based on the proven Bullet physics library». Проверено 14 ноября 2009. Архивировано 15 марта 2012 года.
  50. Hellard, Paul DAZ 3D-Gizmoz Carrara 8 Pro offers Bullet Physics Library, 64-bit support and FBX Export to Unity game engine. (19 мая 2010). — «Professional artists using the Carrara 8 Pro toolset will gain access to […] the Bullet Physics Library.». Проверено 2 июля 2010. Архивировано 15 марта 2012 года.
  51. ducttape » Engine (недоступная ссылка)
  52. Godot 3.0 switches to Bullet for physics
  53. Announcing osgBullet. Paul Martz (11 ноября 2009). — «I'm pleased to announce osgBullet, a new open source Bullet-based project.». Проверено 14 ноября 2009. Архивировано 15 марта 2012 года.

Внешние ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии