Box2D

Box2D
Type Fysik motor
Udvikler Erin Catto _  _
Understøttet OS OS uafhængig
Skrevet i sprog c++
Licens M.I.T. [1]
nyeste version 2.4.1 [2] / 18. oktober 2020
box2d.org

Box2D  er et computerprogram , en gratis open source fysikmotor . Box2D er en real-time fysikmotor designet til at arbejde med 2D fysiske objekter. Motoren blev udviklet af Erin Catto ,  skrevet i programmeringssproget C++ og distribueret under vilkårene i MIT-licensen .

Motoren bruges i 2D computerspil, som inkluderer Duet , Angry Birds , Limbo , Crayon Physics Deluxe , Rolando, Fantastic Contraption, Incredibots, Transformice , Happy Wheels , Color Infection , Shovel Knight , King of Thieves .

Historie

Den første version af Box2D blev udgivet som "Box2D Lite" som en motor til en fysisk præsentation givet af Erin Catto på 2006 Game Developers Conference . Den 11. september 2007 blev motoren tilgængelig til download på SourceForge.net .

Den 6. marts 2008 blev version 2.0 af motoren frigivet, hvor Continuous Collision Detection- teknologien blev introduceret (detektion af igangværende (kontinuerlige) kollisioner), og API'et blev redesignet .

Den 3. april 2010 blev Box2D 2.1.0 udgivet. I den nye version blev raycasting, dynamiske AABB træer, nye typer samlinger (bundter) tilføjet, den kontinuerlige kollisionsdetektionsblok blev fuldstændig omskrevet osv. [3] [4]

Cross-platform

Box2D-motoren er cross-platform software , den er skrevet i det platformsuafhængige C++ programmeringssprog , så den kan fungere (køre) på enhver platform, der har en C++ compiler . Motoren kan kompileres i både fastpunkt- og flydende kommatilstand.

Box2D bruges på Nintendo DS , Wii og adskillige mobiltelefoner (inklusive iPhone ), samt de fleste større pc - operativsystemer .

Motoren er blevet overført til mange programmeringssprog og miljøer, herunder Java [5] , Adobe Flash (i ActionScript [6] og haXe [7] ), C# [8] , JavaScript [9] , D [10] og Delphi [11] . Der er en binding ( eng.  bindings ) for at bruge det kompilerede motorbibliotek i Python [12] og DarkBasic .

Box2D er indbygget i open source spilbyggere såsom cross -platformen Novashell og Scirra Construct til Windows , samt Love 2D -motoren .

Den 30. oktober 2009 blev det annonceret, at Box2D ville blive integreret i Torque 2D -spilmotoren . [13]

Version 2.1 af Stencyl Works bruger også Box2D (ca.)

Specifikationer

Box2D er designet til at simulere mekanikken i stive kroppe under begrænsninger. Motoren kan simulere fysiske kroppe sammensat af konvekse polygoner , cirkler og linjer. Legemer kan forbindes med begrænsninger i kinematiske par og være udsat for forskellige fysiske kræfter såsom tyngdekraft , friktion og stød. Legemer kan også være udsat for indre kræfter såsom elasticitet .

Kollisionsdetektering og begrænsningsbehandlingssystemer består af tre dele: en stigende bred fase af Sweep and prune , en kontinuerlig (kontinuerlig) kollisionsdetektionsblok og en stabil tids-lineær kollisionsopløsningsblok. Disse algoritmer giver effektiv simulering af hurtigt bevægende kroppe og store arrays af objekter uden at gå glip af skæringspunkter og ustabiliteter. [fjorten]

Relaterede fysikmotorer

En tidlig version af Box2D-motoren blev kaldt Box2D Lite og blev brugt i præsentationer af Erin Catto på Game Developers Conference . Box2D Lite bruger de samme algoritmer som Box2D, men har et mindre funktionssæt. [femten]

Chipmunk fysik motorer[16] (skrevet i C ) og Phys2D [17] (skrevet i Java ) er delvist baseret på Box2D Lite.

Noter

  1. Erin Catto. Box2D hovedside  (engelsk)  (downlink) . box2d.org (9. oktober 2007). Hentet 2. april 2010. Arkiveret fra originalen 24. oktober 2007.
  2. v2.4.1 . Hentet 28. juli 2022. Arkiveret fra originalen 28. juli 2022.
  3. Erin Catto. Box2D 2.1.0 Frigivet  (eng.)  (utilgængeligt link) . Officiel hjemmeside for Box2D (3. april 2010). Hentet 17. april 2010. Arkiveret fra originalen 23. april 2012.
  4. Box2D 2.1.0 (downlink) . UralDev.ru (5. april 2010). Hentet 16. april 2010. Arkiveret fra originalen 23. april 2012. 
  5. Erin Catto. JBox2D  (engelsk)  (downlink) . JBox2D.org. Hentet 2. april 2010. Arkiveret fra originalen 23. april 2012.
  6. Box2DFlashAS3 2.0.1  (engelsk)  (downlink) . sourceforge.net . Hentet 2. april 2010. Arkiveret fra originalen 23. april 2012.
  7. haXe Physics Engine  (engelsk)  (link ikke tilgængeligt) . code.google.com. Hentet 2. april 2010. Arkiveret fra originalen 23. april 2012.
  8. Box2DX på Google Code  (eng.)  (link ikke tilgængeligt) . code.google.com. Hentet 2. april 2010. Arkiveret fra originalen 23. april 2012.
  9. Box2D JS  (engelsk)  (downlink) . sourceforge.net . Hentet 2. april 2010. Arkiveret fra originalen 23. april 2012.
  10. Blaze on dsource  (engelsk)  (downlink) . dsource.org. Hentet 2. april 2010. Arkiveret fra originalen 23. april 2012.
  11. Box2D Delphi-version  (engelsk)  (downlink) . sourceforge.net . Hentet 3. juni 2010. Arkiveret fra originalen 23. april 2012.
  12. Pybox2d på Google Code  (eng.)  (downlink) . Hentet 2. april 2010. Arkiveret fra originalen 23. april 2012.
  13. Centaur Mich. Torque 2D Development  Blog . Hentet 2. april 2010. Arkiveret fra originalen 16. januar 2010.
  14. Erin Catto. Box2D Manual  (engelsk)  (downlink) . box2d.org. Hentet 2. april 2010. Arkiveret fra originalen 23. april 2012.
  15. Box2D Lite på Game Physics Weblog (downlink) . Hentet 17. april 2010. Arkiveret fra originalen 30. marts 2014. 
  16. Chipmunk på Google Code  (eng.)  (utilgængeligt link) . code.google.com. Hentet 2. april 2010. Arkiveret fra originalen 23. april 2012.
  17. Phys2D-motorens websted  (eng.)  (downlink) . cokeandcode.com Hentet 2. april 2010. Arkiveret fra originalen 23. april 2012.

Links