Bullet Physics Library

Bullet Physics Library

Motorens officielle logo
Type Fysik motor
Nøgleprogrammører _ Erwin Coumans , Lee Howes _  _ 
Hardware platforme IBM PC-kompatible computere , PlayStation 3 , PlayStation Portable , Wii , Nintendo DS , Xbox 360 , Android , iPhone
Understøttet OS Microsoft Windows , Mac OS X , Linux , Google Android , Apple iOS
Skrevet i tunger C , C++
Licens gratis - zlib-licens [1]
nyeste version 3.1.7 / 27. november 2020 [2]
Første spil på motoren Regnum Online/ 24. maj 2007
Sidste spil på motoren Red Dead Redemption 2
bulletphysics.org/wordpress/
 Mediefiler på Wikimedia Commons

Bullet Physics Library ( Physics Library "Bullet" ; herefter benævnt "Bullet" [3] ) er en realtidsfysikmotor , der distribueres under den gratis licens zlib . Det kompilerede bibliotek og motorens kildekode er frit tilgængelige på Google Code- hosting . Bullets hovedforfatter, Erwin Coumans , har tidligere arbejdet på Havok -motoren .  

"Bullet" bruges aktivt i computerspil , film, 3D-modelleringsprogrammer, som en komponent i andre spilmotorer og i mange andre mere specifikke tilfælde. "Bullet" bruges af AMD som en del af Open Physics Initiative -programmet , som involverer oprettelsen af ​​en ny fysikmotor baseret på "Bullet" og Digital Molecular Matter , som aktivt vil bruge hardwareacceleration af fysiske beregninger gennem OpenCL og DirectCompute .

Ifølge en artikel fra Game Developer magazine, som blev udgivet i august 2009, "Bullet" er den tredje mest populære spiludvikler i verden bag nVidias PhysX- og Havok -motorer . [fire]

Historie

I midten af ​​september 2009 tilbød AMD sin støtte til udviklingen af ​​en OpenCL - version af Bullet-motoren til grafikkort. [5] [6]

Den 30. september 2009 blev det officielt annonceret, at DMM bliver en integreret komponent i den nydannede motor, som udvikles af henholdsvis AMD og Pixelux under Open Physics Initiative - projektet. [7]

I midten af ​​oktober 2009 interviewede journalister fra hjemmesiden Icrontic Tom Pietersen, chef for teknisk marketing hos nVidia, for at finde ud af virksomhedens holdning til Bullet efter AMD-initiativet. Peterson udtalte, at nVidia vil fortsætte med at støtte udviklingen af ​​motoren så meget som muligt. [otte]

I slutningen af ​​februar 2010 blev motoren og SDK version 2.76 frigivet. I denne udgivelse er der gjort forberedelser til at understøtte eksekvering gennem OpenCL og opdaterede foreløbige MiniCL-demoer. Dynamica-pluginet til Autodesk Maya er blevet forbedret, et nyt binært platformsuafhængigt format til eksport og import af fysiske data .bullet er blevet introduceret, og der er tilføjet foreløbige versioner af nye værktøjer: btInternalEdgeUtility til at eliminere unødvendige kollisioner, når objekter interagerer og fysikken editor / debugger. [9]

Den 22. september 2010 blev version 2.77 frigivet, hvor den tidligere planlagte understøttelse af hardwareacceleration på GPU'er gennem OpenCL og DirectCompute blev tilføjet som en del af Open Physics Initiative . I version 2.77 blev hardwareacceleration implementeret til tøjsimuleringsmodulet (BulletSoftBody). Understøttelse af andre motormoduler er planlagt i fremtidige versioner. Som en del af version 2.77 oprettede udviklerne også et plug-in til 3DS Max , som tilføjer Bullet-understøttelse til programmet. [10] [11]

I begyndelsen af ​​august 2011, på SIGGRAPH 2011-konferencen, introducerede Autodesk , med støtte fra AMD, et nyt Bullet Physics-plugin til Maya 2012 3D-grafikeditoren , der bruger OpenCL og var inkluderet i Subscription Advantage Pack . "Vi promoverer industristandarder som OpenCL og Bullet Physics, da de gør programmering lettere og fjerner barrierer forårsaget af proprietære teknologier, der kan begrænse udviklerens kreativitet," sagde Sandeep Gupte , General Manager for Professional Graphics Division hos AMD .  [12] [13]

Den 16. september 2011 blev version 2.79 frigivet, hvoraf hoveddelen var rettet mod at rette fejl, men også introducerede ny funktionalitet: en ny metode til nedbrydning af konvekse overflader baseret på HACD-biblioteket og et nyt premake -byggesystem , der automatisk kan generere Microsoft Visual Studio- projektfiler . Samtidig med udgivelsen af ​​denne version blev der udgivet materialer på Bullet, som blev præsenteret på SIGGRAPH 2011 som en del af rapporten "Destruction and Dynamics for Film and Game Production". [14] [15]

Funktionalitet

Kollisionsdetektion

Kollisionsdetektion brugt i Bullet, som i de fleste andre fysikmotorer, har en bred og smal fase ( engelsk  broadphase, narrowphase ). I den brede fase reducerer kollisionsdetektionsalgoritmen antallet af potentielt interagerende objekter ved at anvende afgrænsende volumener til scenen. "Bullet" indeholder flere forskellige bredfaseimplementeringer designet til forskellige formål. Den mest almindelige implementering er baseret på dynamiske afgrænsningsvolumenhierarkier :  der bruges aksejusterede afgrænsningsbokse (AABB ), som gradvist opdateres, når objekter flyttes, tilføjes eller slettes . Der er også en anden bredfaseimplementering, der er hardwareaccelereret på GPU'er via OpenCL , men den har begrænsninger på objektstørrelser. [tredive] 

Den smalle fase fase er forbundet med den nøjagtige generering af kontaktpunkter mellem par af objekter, der har rørt hinanden. Bullet bruger flere generaliserede algoritmer, nemlig Gilbert-Johnson-Curthy ( GJK  ) algoritmen og Expanding Polytope Algorithm (EPA), som løser kollisionsproblemer for en lang række typer af geometriske former for kolliderende objekter. [tredive]

Der er understøttelse af kontinuerlig kollisionsdetektion, som beregner kollisionstidspunktet mellem bevægelige og roterende objekter, dog som standard beregner Bullet den mindste afstand og indtrængningsdybde på diskrete tidspunkter for at få information om kontaktpunkter mellem objekter. [tredive]

Brug

På grund af sin gratis og åbne kildekode bruges Bullet aktivt ikke kun i computerspilindustrien , men også i produktionen af ​​specialeffekter til film. Mange specialeffektproducenter, der bruger Bullet, ændrer det, så det passer til deres proprietære softwareværktøjer eller for at passe til de aktuelle opgaver, som motoren skal udføre. For eksempel brugte Digital Domain en modificeret "Bullet" til at skabe effekter til filmen " 2012 ", mens Framestoreintegrerede en modificeret version af motoren i dets interne softwareværktøj fBounce, da filmen lavede Sherlock Holmes . Weta Digital integrerede motoren i deres interne wmRigid-program, da de skabte specialeffekterne til A-Team- filmen . [tredive]

Derudover bruges Bullet aktivt i 3D-modelleringsprogrammer som et plug-in eller et allerede integreret værktøj. Den fås til Cinema 4D , Houdini , 3ds Max , Carara, Blender , Maya og Lightwave . [tredive]

Ifølge Erwin Koomans stammer denne popularitet i at bruge og tilpasse motoren fra dens tværplatform, frihed og åbenhed, som konkurrenterne - proprietære Havok og nVidia PhysX - ikke har . Sammenlignet med dens nærmeste open source- konkurrent, Open Dynamics Engine , indeholder Bullet en robust kollisionsdetektionsmekanisme for objekter med et konvekst skrog, hvilket er vigtigt for at simulere ødelæggelige strukturer. [tredive]

Videospilindustrien

"Bullet" bruges i mange computerspil , både kommercielle og ikke-kommercielle.

Navnet på spillet Udvikler Forlægger Første udgivelsesdato Platforme
Regnum Online NGD Studios NGD Studios 24. maj 2007 PC ( Windows , Linux )
Grand Theft Auto IV [31] Rockstar North , Rockstar Toronto Rockstar Games , Take-Two Interactive , Synergex 29. april 2008 PC ( Windows ), PlayStation 3 , Xbox 360
Crayola Colorful Journey [32] Trænger til underholdning Trænger til underholdning 31. marts 2009 Wii
Gratis riger[33] [34] SOE San Diego Sony Online underholdning 28. april 2009 PC ( Windows , Mac ), PlayStation 3
Prøver HD[35] [36] RedLynx Microsoft Game Studios 12. august 2009 Xbox 360
Gravitronix[37] Medaverse Studios Nintendo ( WiiWare ) 12. oktober 2009 Wii
Hot Wheels: Battle Force 5[38] Mattel Activision 17. november 2009 Wii , Nintendo DS
Madagaskar Kartz[39] Sidhe Interactive, Virtuos Activision 27. oktober 2009 PlayStation 3 , Xbox 360 , Wii , Nintendo DS
Red Dead Redemption Rockstar San Diego , Rockstar North Rockstar spil 18. maj 2010 PlayStation 3 , Xbox 360
Puslespils dimension Doktor Underholdning Doktor Underholdning 26. august 2010 PC ( Windows , Mac )
Biler 2: Videospillet [40] Avalanche Software , Firebrand Games Disney Interactive 21. juni 2011 PC ( Windows , Mac OS X ), Nintendo DS , PlayStation 3 , Wii , Apple iOS , Xbox 360
Riptide GP [40] Vektorenhed Vektorenhed juli 2011 Android
Max Payne 3 Rockstjerne Vancouver Rockstar spil 18. maj 2012 PC ( Windows ), PlayStation 3 , Xbox 360
Scania Truck Driving Simulator SCS software SCS software 13. juni 2012 PC ( Windows )
Red Dead Redemption II Rockstar Studios Rockstar spil 26. oktober 2018 PlayStation 4 , Xbox One , PC ( Windows )

Filmindustrien

"Bullet" har været med i følgende film:

3D-modelleringsprogrammer

Følgende 3D-modelleringsprogrammer bruger Bullet-motoren som et plug-in til fysikberegninger:

Spilmotorer

Følgende spilmotorer bruger "Bullet" som deres fysikmotor:

Grafikmotorer

Følgende grafikmotorer har et middel til at kommunikere med "Bullet":

Diverse

Noter

  1. original zlib-licenstekst (downlink) . Hentet 25. juli 2008. Arkiveret fra originalen 30. maj 2008. 
  2. bulletphysics/bullet3 GitHub . Hentet 17. september 2021. Arkiveret fra originalen 17. september 2021.
  3. "Bullet" er oversat fra engelsk som " bulet "
  4. Bullet rangerede tredje fysikbibliotek med 10 % i Game Developers Magazine undersøgelse  (engelsk)  (link ikke tilgængeligt) . Bullet Physics Library officielle hjemmeside (3. september 2009). Hentet 24. september 2009. Arkiveret fra originalen 16. februar 2012.
  5. RPG-mand. AMD vil understøtte udviklingen af ​​OpenCL-versionen af ​​Bullet (utilgængeligt link) . GameDev.ru (18. september 2009). Hentet 23. september 2009. Arkiveret fra originalen 9. februar 2011. 
  6. Konstantin Khodakovsky. AMD understøtter Bullet physics engine udviklet på GeForce (utilgængeligt link) . World of nVidia (26. september 2009). Hentet 26. februar 2010. Arkiveret fra originalen 15. marts 2012. 
  7. AMD annoncerer Open Physics Initiative designet til at bringe nye niveauer af realisme til spil, simuleringer, populære applikationer åbne og industristandardbaseret ATI Stream Technology frigør industrien fra proprietære implementeringer  (  utilgængeligt link) . AMDs officielle websted (30. september 2009). — Original pressemeddelelse. Hentet 1. oktober 2009. Arkiveret fra originalen 13. august 2011.
  8. Konstantin Khodakovsky. NVIDIA vedligeholder også Bullet Physics-motoren (utilgængeligt link) . nVidia World (11. oktober 2009). Hentet 26. februar 2010. Arkiveret fra originalen 15. marts 2012. 
  9. DrEvil. Bullet Physics forbereder sig på OpenCL-acceleration (utilgængeligt link) . nVidia World (26. februar 2010). Hentet 26. februar 2010. Arkiveret fra originalen 15. marts 2012. 
  10. 1 2 DrEvil. Bullet Physics understøtter nu hardwareacceleration (downlink) . World of nVidia (23. september 2010). Hentet 29. september 2010. Arkiveret fra originalen 15. marts 2012. 
  11. Erwin Coumans. Bullet 2.77 er frigivet! OpenCL & DX11 klud, 3ds Max plugin  (engelsk)  (downlink) . Bullet Physics officielle hjemmeside (22. september 2010). Hentet 29. september 2010. Arkiveret fra originalen 15. marts 2012.
  12. 1 2 Konstantin Khodakovsky. AMD og Autodesk viste OpenCL API og Bullet Physics plugin til Maya 2012 . 3DNews (14. august 2011). Hentet 14. august 2011. Arkiveret fra originalen 17. september 2011.
  13. "Bullet Physics" for Maya (downlink) . UralDev (13. august 2011). Hentet 20. august 2011. Arkiveret fra originalen 20. august 2011. 
  14. Bullet 2.79 udgivelse og SIGGRAPH kursusmateriale tilgængeligt  (engelsk)  (downlink) . Motorens officielle hjemmeside (16. september 2011). Hentet 21. september 2011. Arkiveret fra originalen 15. marts 2012.
  15. Punkt 2.79 (downlink) . UralDev.ru (19. september 2011). Hentet 21. september 2011. Arkiveret fra originalen 15. marts 2012. 
  16. Kollisionsformer (downlink) . Arkiveret fra originalen den 15. marts 2012. 
  17. Previously_Done (downlink) . Arkiveret fra originalen den 15. marts 2012. 
  18. generisk algoritme til detektering af kollisionssfære (link utilgængeligt) . Arkiveret fra originalen den 15. marts 2012. 
  19. Bullet 2.68 Physics SDK frigivet: Soft Bodies, Cloth, iPhone! (utilgængeligt link) (14. april 2008). Arkiveret fra originalen den 15. marts 2012. 
  20. Bullet 2.73 SP1 udgivet: fast btCudaBroadphase, SSE-løser (downlink) (16. november 2008). Arkiveret fra originalen den 15. marts 2012. 
  21. GPU-fysik: OpenCL separat gren (link utilgængeligt) (10. september 2009). Arkiveret fra originalen den 15. marts 2012. 
  22. Bullet 2.75 frigivet: GPU, SPH-væsker, overordnede forbedringer (downlink) (10. september 2009). Arkiveret fra originalen den 15. marts 2012. 
  23. Bullet 2.67 frigivet: COLLADA Fysik eksport, SPU raycast (downlink) . Arkiveret fra originalen den 15. marts 2012. 
  24. Bullet 2.71 udgivet: Disney Maya Plugin (utilgængeligt link) (5. september 2008). Arkiveret fra originalen den 15. marts 2012. 
  25. Bullet 2.53 Multithreaded (downlink) . Arkiveret fra originalen den 15. marts 2012. 
  26. nyt binært .bullet-filformat med understøttelse af Maya og Blender-forfatterværktøj (downlink) . Arkiveret fra originalen den 15. marts 2012. 
  27. Java-port af Bullet (downlink) (11. januar 2008). Arkiveret fra originalen den 15. marts 2012. 
  28. JBullet - Java-port af Bullet Physics Library (link utilgængeligt) (19. maj 2009). Arkiveret fra originalen den 15. marts 2012. 
  29. Bullet on XNA (link utilgængeligt) (13. september 2006). Arkiveret fra originalen den 15. marts 2012. 
  30. 1 2 3 4 5 6 Mike Seymour. Bullet Open Source Physics Engine  (engelsk)  (link ikke tilgængeligt) . fxguide (3. januar 2011). Hentet 26. juli 2011. Arkiveret fra originalen 15. marts 2012.
  31. AAA-titler ved hjælp af Bullet (downlink) . Erwin Coumans (5. januar 2009). "Der er nogle AAA-spil udgivet af Sony Computer Entertainment , Disney og Rockstar og andre. [...] Vi har lov til at nævne, at nogle dele af Bullet er blevet co-udviklet og optimeret med Rockstar og fusioneret ind i deres Rage-spilmotor , brugt på Xbox 360 , PC og PLAYSTATION 3 i Midnight Club: Los Angeles og Grand Theft Auto 4. ". Dato for adgang: 5. januar 2009. Arkiveret fra originalen 18. februar 2012. 
  32. Crayola Colorful Journey til Wii (ikke tilgængeligt link) . eric777 (28. januar 2009). - "vi brugte specifikt Bullet til at give spilleren mulighed for frit at tegne nye statiske og dynamiske objekter, for at ændre niveauerne og løse gåder." Hentet 14. november 2009. Arkiveret fra originalen 15. marts 2012. 
  33. FreeRealms bruger Bullet (downlink) . Roy Eltham (15. april 2009). — "Vi ​​bruger Bullet Collision & Dynamics. Vi bruger den til vores karaktercontroller (vores egen brugerdefinerede), synslinjetjek og så videre samt til køretøjsfysik i Racing- og Demolition Derby-forekomsterne. Tjek betaen her. Tilmeld dig, vi lader folk komme ind i betaen i bølger i løbet af den næste uge eller deromkring. Roy Eltham, Senior Engine Programmer, Sony Online Entertainment, http://www.freerealms.com/".+ Hentet 20. april 2009. Arkiveret fra originalen 15. marts 2012. 
  34. Free Realms (Sony Online Entertainment) bruger Bullet Physics Library  (  utilgængeligt link) . Bullets officielle hjemmeside (6. maj 2009). Hentet 1. oktober 2009. Arkiveret fra originalen 15. marts 2012.
  35. Dale Nardozzi - "Legba". Trials HD Developer Interview (utilgængeligt link) . TeamXbox (6. august 2009). - "Vi bruger også en modificeret version af en open source fysikmotor kaldet Bullet Physics Library til at beregne vores fysiksimulering og kollision inde i spillet." Hentet 15. december 2010. Arkiveret fra originalen 15. marts 2012. 
  36. Trials HD (XBox 360) bruger Bullet  (eng.)  (link utilgængeligt) . Bullets officielle hjemmeside (23. september 2009). Hentet 1. oktober 2009. Arkiveret fra originalen 15. marts 2012.
  37. Gravitronix udgives på WiiWare, bruger Bullet (link ikke tilgængeligt) . Wavesonics (12. oktober 2009). — "Motoren er udviklet 100 % fra bunden og gør udstrakt brug af Bullet til al fysik, kollisionsdetektion og mere." Hentet 14. november 2009. Arkiveret fra originalen 15. marts 2012. 
  38. HotWheels: Battle Force 5 til Wii bruger Bullet (link ikke tilgængeligt) . Kester Maddock (13. november 2009). - "HotWheels: Battle Force 5 til Wii bruger Bullet til kollisionsdetektion, dynamik og køretøjssimulering.." Hentet 14. november 2009. Arkiveret fra originalen 15. marts 2012. 
  39. Madagascar Kartz bruger Bullet (link utilgængeligt) . Kester Maddock (14. oktober 2009). - Madagascar Kartz til Wii, PS3 & Xbox360 bruger Bullet. http://nzgamer.com/all/news/3515/madagascar-kartz-announced-dated.html Madagascar Kartz er en 4-spiller kartracer. Dens køretøjssimulering er baseret på Bullets btRaycastVehicle." Hentet 14. november 2009. Arkiveret fra originalen 15. marts 2012. 
  40. 1 2 Disney's Cars 2-spil og Riptide GP til Android ved hjælp af Bullet  (eng.)  (link ikke tilgængeligt) . Bullet Physics officielle hjemmeside (27. juni 2011). Hentet 26. juli 2011. Arkiveret fra originalen 15. marts 2012.
  41. 2012 Trin for Trin (13. november 2009). Hentet 24. november 2009. Arkiveret fra originalen 20. november 2009.
  42. Sherlock Holmes (link utilgængeligt) . Arkiveret fra originalen den 15. marts 2012. 
  43. 1 2 Kugle i SIGGRAPH kollisionsdetekteringskurs, Toy Story 3-spil, A-Team-film (downlink) . Arkiveret fra originalen den 15. marts 2012. 
  44. 1 2 Disneys Dynamica-plugin til Bullet Physics (downlink) . Arthur Shek (26. september 2008). — "Jeg er softwaremanageren hos Walt Disney Animation Studios, der startede dette projekt og ryddede open source-udgivelsen." Hentet 21. februar 2010. Arkiveret fra originalen 15. marts 2012. 
  45. OpenCL Game Physics (downlink) . Erwin Coumans (12. november 2009). - "Nogle film, der bruger Bullet Physics, er Bolt, Hancock og 2012". Hentet 21. februar 2010. Arkiveret fra originalen 15. marts 2012. 
  46. 1 2 PDI Dreamworks Megamind, Shrek 4 og 'Sådan træner du din drage' bruger Bullet  (  linket er nede) . Motorens officielle hjemmeside (27. oktober 2010). Hentet 15. december 2010. Arkiveret fra originalen 15. marts 2012.
  47. PDI Dreamworks Megamind, Shrek 4 og 'Sådan træner du din drage' bruger Bullet (link ikke tilgængeligt) . Arkiveret fra originalen den 6. juni 2012. 
  48. LightWave - 11.5 Oversigt over funktioner . www.lightwave3d.com. Hentet 14. oktober 2017. Arkiveret fra originalen 14. oktober 2017.
  49. Nyt dynamisk system til betagende, realistisk bevægelse (link ikke tilgængeligt) . Maxon (3. september 2009). — "MoDynamics er baseret på det gennemprøvede Bullet-fysikbibliotek". Hentet 14. november 2009. Arkiveret fra originalen 15. marts 2012. 
  50. Hellard, Paul DAZ 3D-Gizmoz Carrara 8 Pro tilbyder Bullet Physics Library, 64-bit support og FBX Export to Unity spilmotor. (utilgængeligt link) (19. maj 2010). - "Professionelle kunstnere, der bruger Carrara 8 Pro-værktøjssættet, vil få adgang til […] Bullet Physics Library." Hentet 2. juli 2010. Arkiveret fra originalen 15. marts 2012. 
  51. ducttape » Motor  (downlink)
  52. Godot 3.0 skifter til Bullet for fysik . Hentet 5. december 2017. Arkiveret fra originalen 6. december 2017.
  53. Annoncering af osgBullet (downlink) . Paul Martz (11. november 2009). — "Jeg er glad for at kunne annoncere osgBullet, et nyt open source Bullet-baseret projekt." Hentet 14. november 2009. Arkiveret fra originalen 15. marts 2012. 

Eksterne links