Bullet (Physik-Engine)
Bullet ist eine freie Physik-Engine, die 3D-Kollisionserkennung, Simulation von Physik starrer Körper und Simulation von nicht-elastischer Physik mit Deformationen unterstützt. Sie wird in der Computerspiel-Entwicklung und für visuelle Effekte in Filmen verwendet. Die Bullet Physics Library wird unter der Zlib-Lizenz veröffentlicht. Der Hauptautor Erwin Coumans arbeitete von 2003 bis 2010 für Sony Computer Entertainment, bis 2014 für AMD, bis 2022 für Google und seitdem für Nvidia.
Bullet Physics Library | |
---|---|
Basisdaten | |
Entwickler | Erwin Coumans et al.[1] |
Aktuelle Version | 3.07[2] (26. November 2020) |
Betriebssystem | Microsoft Windows, Linux, Mac OS X, Apple iOS, Android, PlayStation 3, Xbox 360, Wii |
Programmiersprache | C, C++ |
Kategorie | Middleware |
Lizenz | zlib-Lizenz |
www.bulletphysics.org |
Merkmale
- Simulation von Physik starrer Körper (rigid body dynamics)
- Simulation nicht-elastischer Physik von Stoffen, Seilen und deformierbaren Objekten (soft body dynamics)
- Diskrete und stetige Kollisionserkennung.
- Bei der Kollisionserkennung werden folgende Formen unterstützt: Kugel, Quader bzw. Würfel (Box), Zylinder, Kegel, Konvexe Hülle über den GJK-Distanzalgorithmus, nicht-konvexe Objekte und Dreiecksnetze.
- Eine große Auswahl an Zwangsbedingungen (constraints) für das Verhalten der Objekte.
- Plug-ins für Maya, Softimage, Integrationen für Houdini, Cinema 4D, LightWave 3D und Blender sowie eine Importmöglichkeit für COLLADA 1.4 Physik-Inhalt.
- Optionale Optimierungen für die PlayStation 3 Cell SPU, CUDA und OpenCL.[3]
Projekte die Bullet verwenden
Kommerzielle Spiele
Zu Computerspielen, die von professionellen Spiele-Entwicklern geschaffen wurden und Bullet als Physik-Engine verwenden, zählen unter anderem:
- Mit der Blender Game Engine entwickelte Spiele.
- Toy Story 3 Video Spiel veröffentlicht von Disney Interactive Studios.[4]
- Grand Theft Auto IV, Grand Theft Auto V und Red Dead Redemption von Rockstar Games.[5]
- Trials HD von RedLynx.[6]
- Free Realms von Sony Online Entertainment.[7]
- Hot Wheels: Battle Force 5.[8]
- Madagascar Kartz, veröffentlicht von Activision.[9]
- Regnum Online von NGD Studios ist ein Fantasy- MMORPG, welches mit einem großen Update Bullet als neue Physik-Engine implementierte.
- Blood Drive, veröffentlicht von Activision.[10]
- Hydro Thunder Hurricane, entwickelt von Vector Unit und veröffentlicht von Microsoft Game Studios.
- Euro Truck Simulator 2, entwickelt von SCS Software.
- Rocket League, entwickelt von Psyonix.
Filme
Heutzutage verwenden auch Filmstudios Physik-Simulatoren für Spezialeffekte in Filmen. Kommerzielle Filme, in denen dazu Bullet-Physik verwendet wurde, sind unter anderem:
- 2012 von Digital Domain.[11][12]
- Hancock von Sony Pictures Imageworks.[13]
- Bolt – Ein Hund für alle Fälle von Walt Disney Animation Studios nutzten Bullet durch das Dynamica Maya Plug-in.[14]
- Das A-Team – Der Film von Weta Digital.[15]
- Sherlock Holmes von Framestore.[16]
- Megamind und Für immer Shrek von DreamWorks Animation.[17]
3D Autorentools
- Blender ist eine freie 3D-Grafiksoftware, die Bullet-Physik für Animationen und die interne Blender Spiel-Engine verwendet.
- Carrara Pro unterstützt Bullet ab Version 8.[18]
- Cheetah3D nutzt Bullet für die Physik-Simulation ab Version 6.0.
- Cinema 4D implementiert mit Version 11.5 Bullet als Teil des Modynamics Systems.[19]
- Houdini verwendet Bullet für dynamischen Inhalt ab Version 12.0. Für frühere Versionen gibt es ein Open Source Plug-in.
- LightWave 3D CORE.[20]
- Modo Recoil
- Softimage erhält durch das Momentum Plug-in Bullet-Support.
- Maya integriert Bullet durch das Golaem Crowd Plug-in von Golaem.[21]
Open Source und andere
- OpenSimulator ist eine Open-Source-Server-Software für den Betrieb virtueller Welten mit Bullet als einer der optionalen Physik-Engines; seit 2014 ist Bullet der voreingestellte Standard.[22]
- 3DMark von Futuremark.[23]
- Panda3D integriert Bullet.
- GameKit besitzt eine Integration von Bullet.
- OGRE stellt durch das OgreBullet Add-On eine Integration zur Verfügung.
- Irrlicht Engine stellt mehrere Bullet Integrationen zur Verfügung: Bullet Physics Wrapper, irrBP und GameKit.
- OpenSceneGraph integriert Bullet über die osgBullet Bibliothek.[24]
- Crystal Space Spiel-Engine wechselte zu Bullet als Physik-Engine.
- Physics Abstraction Layer bietet ein universales Interface für diverse Physik-Engines, unter anderem für Bullet, an.
- C4 Engine ist eine proprietäre Spiel-Engine von Terathon Software LLC, die durch JamesH eine Bullet Integration bekommen hat.[25]
- jMonkeyEngine, eine in Java programmierte Spiel-Engine.[26]
- Blitz3D integriert Bullet durch den BlitzBullet Wrapper.
- Maratis3D ist eine Spiel-Engine, die Bullet als Physik-Engine verwendet.
- Pybullet ist ein Bullet Wrapper für Python.
- DFPGE ist eine Open Source Grafik-Engine, die Bullet für Physik-Simulationen verwendet.
- V-REP Roboter-Simulator unterstützt Bullet als Physik-Engine.
- ENIGMA Development Environment, eine Open Source Entwicklungsumgebung für Spiele.
- ammo.js ist ein JavaScript-Port von Bullet und kann z. B. zusammen mit dem 3D-Framework Three.js auf Basis von WebGL verwendet werden.
- Godot ist eine Spiel-Engine, die ab Version 3.0 die Bullet Physik-Engine nutzt.[27]
- GFX ist ein Open Source C# Game Framework, welche einen Wrapper der Bullet Physik-Engine nutzt.
Siehe auch
Einzelnachweise
- Projektübersicht zu Bullet bei Google Code
- Release 3.07. 26. November 2020 (abgerufen am 8. Dezember 2020).
- GPU physics: OpenCL separate branch. Abgerufen am 25. Juni 2014.
- Bullet in SIGGRAPH collision detection course, Toy Story 3 game, Sherlock Holmes and A-Team movie. Erwin Coumans, 27. Januar 2011, abgerufen am 27. Januar 2011: „Disney Avalanche just shipped their Toy Story 3 game for PlayStation 3, XBox 360, Wii and PSP, and it uses Bullet physics.“
- AAA Titles using Bullet. Erwin Coumans, 5. Januar 2009, abgerufen am 5. Januar 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.“
- Sebastian Aaltonen: Trials HD Developer Interview. Dale Nardozzi, 6. August 2009, archiviert vom am 6. August 2009; abgerufen am 7. Mai 2022 (englisch): „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.“
- FreeRealms uses Bullet. Roy Eltham, 15. April 2009, abgerufen am 20. April 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/“
- HotWheels: Battle Force 5 for Wii uses Bullet. Kester Maddock, 13. November 2009, abgerufen am 14. November 2009: „HotWheels: Battle Force 5 for Wii uses Bullet for collision detection, dynamics, and vehicle simulation..“
- Madagascar Kartz uses Bullet. Kester Maddock, 14. Oktober 2009, abgerufen am 14. November 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.“
- Blood Drive uses Bullet. Kester Maddock, 14. Oktober 2009, abgerufen am 27. Januar 2011: „Blood Drive for PS3 and Xbox 360 uses Bullet. Blood Drive is a car combat, zombie running-over kind of game.“
- 2012 Step by Step. Ellen Wolff, 13. November 2009, abgerufen am 21. Februar 2010: „Our software team built it around a fast, open-source engine called Bullet.“
- 2012. Renee Dunlop, 26. November 2009, abgerufen am 21. Februar 2010: „We took Bullet as our core solver and built a proprietary system around it that allowed us to build our own constraint system that assembled big objects out of lots of small objects, then choreographed how they broke apart, where their weaknesses were, and how they were affected by forces.“
- OpenCL Game Physics. Erwin Coumans, 12. November 2009, abgerufen am 21. Februar 2010: „Some movies using Bullet Physics are Bolt, Hancock and 2012“
- Disney's Dynamica plugin for Bullet Physics. Arthur Shek, 26. September 2008, abgerufen am 21. Februar 2010: „I'm the software manager at Walt Disney Animation Studios who kicked off this project and cleared the open source release.“
- A-Team uses bullet – Physics Simulation Forum. Abgerufen am 25. Juni 2014.
- Sherlock Holmes – Physics Simulation Forum. Abgerufen am 25. Juni 2014.
- PDI Dreamworks Megamind, Shrek 4 and ‘How to train your dragon’ are using Bullet. Abgerufen am 25. Juni 2014.
- Paul Hellard: DAZ 3D-Gizmoz Carrara 8 Pro offers Bullet Physics Library, 64-bit support and FBX Export to Unity game engine. 19. Mai 2010, archiviert vom am 25. Mai 2010; abgerufen am 2. Juli 2010 (englisch): „Professional artists using the Carrara 8 Pro toolset will gain access to […] the Bullet Physics Library.“
- New Dynamics System for Stunning, Realistic Motion. Maxon, 3. September 2009, archiviert vom am 16. Dezember 2009; abgerufen am 14. November 2009 (englisch): „MoDynamics is based on the proven Bullet physics library“
- Letter to the NewTek LightWave 3D Community about LightWave 3D with CORE Technology. Jay Roth President, 3D Product Division at NewTek, 8. Dezember 2009, archiviert vom am 17. Januar 2010; abgerufen am 8. Dezember 2009 (englisch): „DYNAMICS: Functionality based on the popular Open Source Bullet Physics Library, one of the best physics libraries on the market today.“
- Golaem Crowd. Abgerufen am 25. Juni 2014.
- OpenSimulator – PhysicsEngines.
- Happy 2011: 3DMark 11 uses Bullet Physics, FXGuide Interview. Abgerufen am 25. Juni 2014.
- Announcing osgBullet. Paul Martz, 11. November 2009, abgerufen am 14. November 2009: „I'm pleased to announce osgBullet, a new open source Bullet-based project.“
- C4 Engine Bullet Integration. JamesH, 29. November 2008, abgerufen am 14. November 2009: „This is an integration of Bullet into the C4 Engine. The demo isn't anything fancy graphics-wise but is just a series of test worlds.“
- Source Code of jMonkeyEngine's PhysicsCharacter. Abgerufen am 24. Februar 2011.
- Godot Engine: Godot Engine - Godot 3.0 switches to Bullet for physics. Abgerufen am 4. Mai 2019.