Bullet Physics Library
Bullet Physics Library |
---|
Motorns officiella logotyp |
Sorts |
Fysik motor |
Nyckelprogrammerare _ |
Erwin Coumans , Lee Howes _ _ |
Hårdvaruplattformar |
IBM PC-kompatibla datorer , PlayStation 3 , PlayStation Portable , Wii , Nintendo DS , Xbox 360 , Android , iPhone |
OS som stöds |
Microsoft Windows , Mac OS X , Linux , Google Android , Apple iOS |
Skrivet i tungomål |
C , C++ |
Licens |
gratis - zlib-licens [1] |
senaste versionen |
3.1.7 / 27 november 2020 [2] |
Första spelet på motorn |
Regnum Online/ 24 maj 2007 |
Sista spelet på motorn |
Red Dead Redemption 2 |
bulletphysics.org/wordpress/ |
Mediafiler på Wikimedia Commons |
Bullet Physics Library ( Physics Library "Bullet" ; hädanefter kallat "Bullet" [3] ) är en fysikmotor i realtid som distribueras under den fria licensen zlib . Det kompilerade biblioteket och källkoden för motorn är fritt tillgängliga på Google Code -värden . Bullets huvudförfattare, Erwin Coumans , arbetade tidigare
på Havok -motorn .
"Bullet" används aktivt i datorspel , filmer, 3D-modelleringsprogram, som en komponent i andra spelmotorer och i många andra mer specifika fall. "Bullet" används av AMD som en del av Open Physics Initiative- programmet , vilket innebär skapandet av en ny fysikmotor baserad på "Bullet" och Digital Molecular Matter , som aktivt kommer att använda hårdvaruacceleration av fysiska beräkningar genom OpenCL och DirectCompute .
Enligt en artikel från Game Developer magazine, som publicerades i augusti 2009, är "Bullet" den tredje mest populära spelutvecklaren i världen bakom nVidias PhysX- och Havok -motorer . [fyra]
Historik
I mitten av september 2009 erbjöd AMD sitt stöd för utvecklingen av en OpenCL- version av Bullet-motorn för grafikkort. [5] [6]
Den 30 september 2009 tillkännagavs det officiellt att DMM kommer att bli en integrerad komponent i den nybildade motorn, som utvecklas av AMD respektive Pixelux under Open Physics Initiative- projektet. [7]
I mitten av oktober 2009 intervjuade journalister från webbplatsen Icrontic Tom Pietersen, chef för teknisk marknadsföring på nVidia, för att ta reda på företagets inställning till Bullet efter AMD-initiativet. Peterson uppgav att nVidia kommer att fortsätta att stödja utvecklingen av motorn så mycket som möjligt. [åtta]
I slutet av februari 2010 släpptes motor- och SDK-version 2.76. I den här utgåvan har förberedelser gjorts för att stödja exekvering genom OpenCL och uppdaterade preliminära MiniCL-demos. Dynamica-plugin för Autodesk Maya har förbättrats, ett nytt binärt plattformsoberoende format för export och import av fysisk data .bullet har introducerats, och preliminära versioner av nya verktyg har lagts till: btInternalEdgeUtility för att eliminera onödiga kollisioner när objekt interagerar och fysiken redaktör / debugger. [9]
Den 22 september 2010 släpptes version 2.77, där det tidigare planerade stödet för hårdvaruacceleration på GPU:er genom OpenCL och DirectCompute lades till som en del av Open Physics Initiative . I version 2.77 implementerades hårdvaruacceleration för klädesimuleringsmodulen (BulletSoftBody). Stöd för andra motormoduler planeras i framtida versioner. Dessutom, som en del av version 2.77, skapade utvecklarna en plug-in för 3DS Max , som lägger till Bullet-stöd till programmet. [10] [11]
I början av augusti 2011, vid SIGGRAPH 2011-konferensen, introducerade Autodesk , med stöd av AMD, ett nytt Bullet Physics-plugin för Maya 2012 3D-grafikredigerare som använder OpenCL och inkluderades i Subscription Advantage Pack . "Vi främjar industristandarder som OpenCL och Bullet Physics eftersom de gör programmering enklare och tar bort barriärer orsakade av proprietära teknologier som kan begränsa utvecklarens kreativitet", säger Sandeep Gupte , General Manager för Professional Graphics Division på AMD . [12] [13]
Den 16 september 2011 släpptes version 2.79, vars huvuddel var inriktad på att fixa buggar, men också introducerade ny funktionalitet: en ny metod för nedbrytning av konvexa ytor baserad på HACD-biblioteket och ett nytt premake- byggsystem som automatiskt kan generera Microsoft Visual Studio- projektfiler . Samtidigt med releasen av denna version publicerades material på Bullet, som presenterades på SIGGRAPH 2011 som en del av rapporten "Destruction and Dynamics for Film and Game Production". [14] [15]
Funktionalitet
Kollisionsdetektering
Kollisionsdetektering som används i Bullet, liksom i de flesta andra fysikmotorer, har en bred och smal fas ( engelsk broadphase, narrowphase ). Under den breda fasen minskar kollisionsdetekteringsalgoritmen antalet potentiellt interagerande objekt genom att tillämpa begränsningsvolymer på scenen. "Bullet" innehåller flera olika breda fasimplementeringar utformade för olika ändamål. Den vanligaste implementeringen är baserad på dynamiska begränsningsvolymhierarkier : axis aligned bounding boxes (AABB ) används, som gradvis uppdateras när objekt flyttas, läggs till eller tas bort . Det finns också en annan bredfasimplementering som är hårdvaruaccelererad på GPU:er via OpenCL , men den har begränsningar för objektstorlekar. [trettio]
Det smala fassteget är associerat med den exakta genereringen av kontaktpunkter mellan par av föremål som har berört varandra. Bullet använder flera generaliserade algoritmer, nämligen Gilbert-Johnson-Curthy ( GJK ) algoritmen och Expanding Polytope Algorithm ( EPA), som löser kollisionsproblem för ett brett spektrum av typer av geometriska former av kolliderande föremål. [trettio]
Det finns stöd för kontinuerlig kollisionsdetektering, som beräknar tidpunkten för kollision mellan rörliga och roterande objekt, men som standard beräknar Bullet det minsta avståndet och penetrationsdjupet vid diskreta tidpunkter för att få information om kontaktpunkter mellan objekt. [trettio]
Användning
På grund av sin fria och öppna källkod används Bullet aktivt inte bara i datorspelsindustrin utan också i produktionen av specialeffekter för filmer. Många specialeffektproducenter som använder Bullet modifierar den för att passa deras proprietära mjukvaruverktyg eller för att passa de aktuella uppgifterna som motorn behöver utföra. Digital Domain använde till exempel en modifierad "Bullet" för att skapa effekter för filmen " 2012 ", medan Framestoreintegrerade en modifierad version av motorn i sitt interna mjukvaruverktyg fBounce när man gjorde Sherlock Holmes -filmen . Weta Digital integrerade motorn i deras interna wmRigid-program när de skapade specialeffekterna för A-Team- filmen . [trettio]
Dessutom används Bullet aktivt i 3D-modelleringsprogram som en plug-in eller ett redan integrerat verktyg. Den finns för Cinema 4D , Houdini , 3ds Max , Carara, Blender , Maya och Lightwave . [trettio]
Enligt Erwin Koomans härrör denna popularitet när det gäller att använda och anpassa motorn från dess plattformsoberoende, frihet och öppenhet, vilket konkurrenterna - egenutvecklade Havok och nVidia PhysX - inte har . Jämfört med sin närmaste konkurrent med öppen källkod , Open Dynamics Engine , innehåller Bullet en robust kollisionsdetekteringsmekanism för objekt med ett konvext skrov, vilket är viktigt för att simulera förstörbara strukturer. [trettio]
Videospelsindustrin
"Bullet" används i många datorspel , både kommersiella och icke-kommersiella.
Namnet på spelet
|
Utvecklaren
|
Utgivare
|
Första releasedatum
|
Plattformar
|
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]
|
Sugen på underhållning
|
Sugen på underhållning
|
31 mars 2009
|
Wii
|
Gratis rike[33] [34]
|
SOE San Diego
|
Sony Online Entertainment
|
28 april 2009
|
PC ( Windows , Mac ), PlayStation 3
|
Trials HD[35] [36]
|
RedLynx
|
Microsoft Game Studios
|
12 augusti 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-spel
|
18 maj 2010
|
PlayStation 3 , Xbox 360
|
Pusseldimension
|
Läkarunderhållning
|
Läkarunderhållning
|
26 augusti 2010
|
PC ( Windows , Mac )
|
Cars 2: The Video Game [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]
|
Vektorenhet
|
Vektorenhet
|
juli 2011
|
Android
|
Max Payne 3
|
Rockstjärnan Vancouver
|
Rockstar-spel
|
18 maj 2012
|
PC ( Windows ), PlayStation 3 , Xbox 360
|
Scania Truck Driving Simulator
|
SCS programvara
|
SCS programvara
|
13 juni 2012
|
PC ( Windows )
|
Red Dead Redemption II
|
Rockstar Studios
|
Rockstar-spel
|
26 oktober 2018
|
PlayStation 4 , Xbox One , PC ( Windows )
|
Filmindustrin
"Bullet" har varit med i följande filmer:
3D-modelleringsprogram
Följande 3D-modelleringsprogram använder Bullet-motorn som en plug-in för fysikberäkningar:
Spelmotorer
Följande spelmotorer använder "Bullet" som sin fysikmotor:
- Crystal Space är en spelmotor som stöder "Bullet" och växlar till den som huvudfysikplugin.
- C4 motorär en egen spelmotor utvecklad av Terathon Software, i vilken Bullet har integrerats av Erwin Koomans.
- Cafu motorär en spelmotor utvecklad av Carsten Fuchs Software och distribuerad under både fria och kommersiella licenser.
- Rockstar Advanced Game Engine är en spelmotor utvecklad av Rockstar San Diego och Rockstar North.
- Blitz3D via BlitzBullet- omslaget .
- Ducttape är en spelmotor [51] .
- Urho3D är en spelmotor.
- Godot är en plattformsoberoende 2D- och 3D-spelmotor med öppen källkod under MIT-licensen utvecklad av Godot Engine Community [52] .
- Panda3D - har inbyggt stöd för Bullet Physics Library.
- Jet Engine är en motor utvecklad av Gameloft , där Bullet Physics Library ansvarar för fysik.
Grafikmotorer
Följande grafikmotorer har ett sätt att kommunicera med "Bullet":
Övrigt
Anteckningar
- ↑ original zlib-licenstext (nedlänk) . Hämtad 25 juli 2008. Arkiverad från originalet 30 maj 2008. (obestämd)
- ↑ bulletphysics/bullet3 GitHub . Hämtad 17 september 2021. Arkiverad från originalet 17 september 2021. (obestämd)
- ↑ "Bullet" är översatt från engelska som " bulet "
- ↑ Bullet rankade det tredje fysikbiblioteket till 10 % i Game Developers Magazine-undersökning (engelska) (länk ej tillgänglig) . Bullet Physics Library officiella webbplats (3 september 2009). Hämtad 24 september 2009. Arkiverad från originalet 16 februari 2012.
- ↑ RPGman. AMD kommer att stödja utvecklingen av OpenCL-versionen av Bullet (inte tillgänglig länk) . GameDev.ru (18 september 2009). Hämtad 23 september 2009. Arkiverad från originalet 9 februari 2011. (obestämd)
- ↑ Konstantin Khodakovsky. AMD stöder Bullet physics engine utvecklad på GeForce (inte tillgänglig länk) . World of nVidia (26 september 2009). Hämtad 26 februari 2010. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ AMD tillkännager Open Physics Initiative designat för att ge nya nivåer av realism till spel, simuleringar, populära applikationer öppna och industristandardbaserad ATI Stream Technology frigör industrin från proprietära implementeringar ( otillgänglig länk) . AMD officiella webbplats (30 september 2009). — Ursprungligt pressmeddelande. Hämtad 1 oktober 2009. Arkiverad från originalet 13 augusti 2011.
- ↑ Konstantin Khodakovsky. NVIDIA underhåller också Bullet Physics-motorn (inte tillgänglig länk) . nVidia World (11 oktober 2009). Hämtad 26 februari 2010. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ DrEvil. Bullet Physics förbereder för OpenCL-acceleration (otillgänglig länk) . nVidia World (26 februari 2010). Hämtad 26 februari 2010. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ 1 2 DrEvil. Bullet Physics stöder nu hårdvaruacceleration (nedlänk) . World of nVidia (23 september 2010). Hämtad 29 september 2010. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ Erwin Coumans. Bullet 2.77 är släppt! OpenCL & DX11 tyg, 3ds Max plugin (engelska) (nedlänk) . Bullet Physics officiella webbplats (22 september 2010). Hämtad 29 september 2010. Arkiverad från originalet 15 mars 2012.
- ↑ 1 2 Konstantin Khodakovsky. AMD och Autodesk visade upp OpenCL API och Bullet Physics plugin för Maya 2012 . 3DNews (14 augusti 2011). Hämtad 14 augusti 2011. Arkiverad från originalet 17 september 2011. (obestämd)
- ↑ "Bullet Physics" för Maya (nedlänk) . UralDev (13 augusti 2011). Hämtad 20 augusti 2011. Arkiverad från originalet 20 augusti 2011. (obestämd)
- ↑ Bullet 2.79 release och SIGGRAPH kursmaterial tillgängligt (engelska) (nedlänk) . Motorns officiella webbplats (16 september 2011). Hämtad 21 september 2011. Arkiverad från originalet 15 mars 2012.
- ↑ Punkt 2.79 (nedlänk) . UralDev.ru (19 september 2011). Hämtad 21 september 2011. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ Kollisionsformer (nedlänk) . Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ Previously_Done (nedlänk) . Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ generisk algoritm för kollisionsdetektering av svepsfär (länk ej tillgänglig) . Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ Bullet 2.68 Physics SDK släppt: Soft Bodies, Cloth, iPhone! (inte tillgänglig länk) (14 april 2008). Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ Bullet 2.73 SP1 släppt: snabb btCudaBroadphase, SSE-lösare (nedlänk) (16 november 2008). Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ GPU-fysik: OpenCL separat gren (länk ej tillgänglig) (10 september 2009). Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ Bullet 2.75 släppt: GPU, SPH-vätskor, övergripande förbättringar (nedlänk) (10 september 2009). Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ Bullet 2.67 släppt: COLLADA fysikexport, SPU-raycast (nedlänk) . Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ Bullet 2.71 släppt: Disney Maya Plugin (inte tillgänglig länk) (5 september 2008). Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ Punkt 2.53 Flertrådad (nedlänk) . Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ nytt binärt .bullet-filformat med stöd för författarverktyg för Maya och Blender (nedlänk) . Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ Java-port av Bullet (nedlänk) (11 januari 2008). Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ JBullet - Java-port för Bullet Physics Library (länk ej tillgänglig) (19 maj 2009). Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ Bullet on XNA (länk ej tillgänglig) (13 september 2006). Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ 1 2 3 4 5 6 Mike Seymour. Bullet Open Source Physics Engine (engelska) (länk ej tillgänglig) . fxguide (3 januari 2011). Hämtad 26 juli 2011. Arkiverad från originalet 15 mars 2012.
- ↑ AAA-titlar med hjälp av Bullet (nedlänk) . Erwin Coumans (5 januari 2009). "Det finns några AAA-spel släppta av Sony Computer Entertainment , Disney och Rockstar och andra. [...] Vi får nämna att vissa delar av Bullet har utvecklats och optimerats tillsammans med Rockstar och slagits samman till deras Rage-spelmotor , som används på Xbox 360 , PC och PLAYSTATION 3 i Midnight Club: Los Angeles och Grand Theft Auto 4. ". Datum för åtkomst: 5 januari 2009. Arkiverad från originalet den 18 februari 2012. (obestämd)
- ↑ Crayola Colorful Journey för Wii (inte tillgänglig länk) . eric777 (28 januari 2009). - "vi använde specifikt Bullet för att låta spelaren fritt rita nya statiska och dynamiska objekt, för att modifiera nivåerna och lösa pussel." Hämtad 14 november 2009. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ FreeRealms använder Bullet (nedlänk) . Roy Eltham (15 april 2009). — “Vi använder Bullet Collision & Dynamics. Vi använder den för vår karaktärskontroller (vår egen anpassade), siktkontroller och så vidare samt för fordonsfysik i Racing- och Demolition Derby-instanserna. Kolla in betan här. Gå och registrera dig, vi släpper in folk i betan i vågor under nästa vecka eller så. Roy Eltham, Senior Engine Programmer, Sony Online Entertainment, http://www.freerealms.com/".+ Hämtad 20 april 2009. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ Free Realms (Sony Online Entertainment) använder Bullet Physics Library ( otillgänglig länk) . Bullets officiella webbplats (6 maj 2009). Hämtad 1 oktober 2009. Arkiverad från originalet 15 mars 2012.
- ↑ Dale Nardozzi - "Legba". Trials HD-utvecklarintervju (inte tillgänglig länk) . TeamXbox (6 augusti 2009). - "Vi använder också en modifierad version av en fysikmotor med öppen källkod som heter Bullet Physics Library för att beräkna vår fysiksimulering och kollision inuti spelet." Hämtad 15 december 2010. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ Trials HD (XBox 360) använder Bullet (eng.) (länk ej tillgänglig) . Bullets officiella webbplats (23 september 2009). Hämtad 1 oktober 2009. Arkiverad från originalet 15 mars 2012.
- ↑ Gravitronix släpps på WiiWare, använder Bullet (länk ej tillgänglig) . Wavesonics (12 oktober 2009). — "Motorn utvecklades till 100 % från grunden och använder Bullet i stor utsträckning för all fysik, kollisionsdetektering och mer." Hämtad 14 november 2009. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ HotWheels: Battle Force 5 för Wii använder Bullet (länk ej tillgänglig) . Kester Maddock (13 november 2009). - "HotWheels: Battle Force 5 för Wii använder Bullet för kollisionsdetektering, dynamik och fordonssimulering.." Hämtad 14 november 2009. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ Madagaskar Kartz använder Bullet (länk ej tillgänglig) . Kester Maddock (14 oktober 2009). - Madagascar Kartz för Wii, PS3 och Xbox360 använder Bullet. http://nzgamer.com/all/news/3515/madagascar-kartz-announced-dated.html Madagascar Kartz är en kartracer för 4 spelare. Dess fordonssimulering är baserad på Bullets btRaycastVehicle." Hämtad 14 november 2009. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ 1 2 Disney's Cars 2-spel och Riptide GP för Android med Bullet (eng.) (länk ej tillgänglig) . Bullet Physics officiella webbplats (27 juni 2011). Hämtad 26 juli 2011. Arkiverad från originalet 15 mars 2012.
- ↑ 2012 Steg för steg (13 november 2009). Hämtad 24 november 2009. Arkiverad från originalet 20 november 2009. (obestämd)
- ↑ Sherlock Holmes (länk ej tillgänglig) . Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ 1 2 Kula i SIGGRAPH kollisionsdetekteringskurs, Toy Story 3-spel, A-Team-film (nedlänk) . Arkiverad från originalet den 15 mars 2012. (obestämd)
- ↑ 1 2 Disneys Dynamica-plugin för Bullet Physics (nedlänk) . Arthur Shek (26 september 2008). — "Jag är programvaruansvarig på Walt Disney Animation Studios som startade det här projektet och rensade frisläppandet av öppen källkod." Hämtad 21 februari 2010. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ OpenCL Game Physics (nedlänk) . Erwin Coumans (12 november 2009). - "Vissa filmer som använder Bullet Physics är Bolt, Hancock och 2012". Hämtad 21 februari 2010. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ 1 2 PDI Dreamworks Megamind, Shrek 4 och "Hur man tränar din drake" använder Bullet ( länken är nere) . Motorns officiella webbplats (27 oktober 2010). Hämtad 15 december 2010. Arkiverad från originalet 15 mars 2012.
- ↑ PDI Dreamworks Megamind, Shrek 4 och "Hur man tränar din drake" använder Bullet (länk ej tillgänglig) . Arkiverad från originalet den 6 juni 2012. (obestämd)
- ↑ LightWave - 11.5 Funktionsöversikt . www.lightwave3d.com. Hämtad 14 oktober 2017. Arkiverad från originalet 14 oktober 2017. (obestämd)
- ↑ Nytt dynamiskt system för fantastisk, realistisk rörelse (länk ej tillgänglig) . Maxon (3 september 2009). — "MoDynamics är baserat på det beprövade Bullet-fysikbiblioteket". Hämtad 14 november 2009. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ Hellard, Paul DAZ 3D-Gizmoz Carrara 8 Pro erbjuder Bullet Physics Library, 64-bitars stöd och FBX-export till Unity-spelmotorn. (inte tillgänglig länk) (19 maj 2010). - "Professionella artister som använder verktygsuppsättningen Carrara 8 Pro kommer att få tillgång till […] Bullet Physics Library." Hämtad 2 juli 2010. Arkiverad från originalet 15 mars 2012. (obestämd)
- ↑ ducttape » Motor (nedlänk)
- ↑ Godot 3.0 växlar till Bullet för fysik . Hämtad 5 december 2017. Arkiverad från originalet 6 december 2017. (obestämd)
- ↑ Tillkännage osgBullet (nedlänk) . Paul Martz (11 november 2009). — "Jag är glad att kunna presentera osgBullet, ett nytt Bullet-baserat projekt med öppen källkod." Hämtad 14 november 2009. Arkiverad från originalet 15 mars 2012. (obestämd)
Externa länkar