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 .
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]
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.)
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]
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.
Spilmotorer | |||||||
---|---|---|---|---|---|---|---|
Grafisk | Ledig GLScene Horde3D Irrlicht OGRE OpenSceneGraph Proprietære Outra | ||||||
Fysisk | Ledig Box2D Kugle Jordegern newton O.D.E. Tokamak Proprietære DMM Havok Fysik PhysX | ||||||
generelle formål |
| ||||||
Specialiseret |
| ||||||
Liste over spilmotorer |