Box2D, Erin Catto tarafından C++ dilinde yazılmış ve MIT Lisansı altında yayınlanmış ücretsiz bir açık kaynak iki boyutlu fizik simülatörü ve oyun motorudur. Crayon Physics Deluxe, Limbo, Rolando, Incredibots, Angry Birds, Tiny Wings, Shovel Knight, Transformice, Happy Wheels,1 ve birçok çevrimiçi Flash oyun,2 ve Cocos2d veya Moscrif oyun motorunu ile Corona çerçevesini kullanan iPhone, iPad ve Android oyunları tarafından kullanılır.
Box2D ilk olarak Erin Catto tarafından 2006'da GDC'deki bir fizik sunumuna eşlik edecek olan bir gösteri motoru olan "Box2D Lite" olarak piyasaya sürüldü. 11 Eylül 2007'de SourceForge'da açık kaynak olarak yayınlandı. 17 Ocak 2010'da Box 2D, projeyi barındırma için Google Code'a taşıdı.3 12 Temmuz 2015'te, hosting yeniden taşındı ve bu sefer barındırıcısı GitHub oldu.4
6 Mart 2008'de sürüm 2.0 yayımlandı, sürekli çarpışma algılama tanıtıldı ve API yenilendi.
27 Temmuz 2020'de, çeşitli değişikliklerle birlikte sürüm 2.4 piyasaya sürüldü, özellikle de lisans MIT Lisansı olarak değiştirildi.5
Box2D, platformdan bağımsız C++ ile yazılmıştır (C++ derleyicisi olan herhangi bir sistemde kullanılabilir). Motor sabit nokta ve kayan nokta modlarında derlenebilir ve Nintendo DS, Wii gibi oyun platformları ile (Android, BlackBerry 10 ve iOS) işletim sistemli çeşitli cep telefonlarında ve çoğu büyük işletim sistemi dahil farklı sistemlerde kullanılmıştır.
Motor, Java6, Adobe Flash (ActionScript7 ve Haxe8 dillerinde), C#9, Lua, JavaScript1011 ve D12 dahil diğer birçok programlama diline ve ortamına taşındı. Bağlamalar, Python13, DarkBASIC ve BBC BASIC'den derlenmiş kitaplığı kullanmak için mevcuttur.
30 Ekim 2009'da Box2D'nin (artık eski) Torque 2D oyun motoru'na entegre edildiği açıklandı.14
Box2D, kısıtlı rijit cisim simülasyonu gerçekleştirir. Dışbükey çokgenler, daireler ve kenar şekillerinden oluşan gövdeleri simüle edebilir. Cisimler eklemler ile birleştirilir ve kuvvetler tarafından etki edilir. Motor ayrıca yerçekimi, sürtünme ve tazmin uygular.
Box2D'nin çarpışma algılama ve çözümleme sistemi üç parçadan oluşur: artımlı bir süpür ve budama geniş faz, bir sürekli çarpışma algılama birimi ve kararlı bir doğrusal zamanlı temas çözücü. Bu algoritmalar, çarpışmaları kaçırmadan veya kararsızlığa neden olmadan hızlı gövdelerin ve büyük yığınların verimli simülasyonlarına izin verir.18
Box2D motorunun, şimdi Box2D Lite olarak bilinen önceki bir sürümü, Erin Catto'nun verdiği bir dizi yıllık Oyun Geliştiricileri Konferansı sunumuna dayalı olarak öncelikle eğitim amaçlı olarak yayınlandı. Box2D Lite, Box2D ile aynı algoritmaların çoğunu kullanır, ancak daha küçük bir özellik setine sahiptir.
Chipmunk fizik motoru (C ile yazılmıştır)19 ve Phys2D (Java ile yazılmıştır)'nin20 her ikisi de kısmen Box2D Lite'a dayalıdır. iOS ve OS X için SpriteKit'te kullanılan fizik motoru Box2D'yi dahili olarak kullanır.21
LiquidFun fizik motoru, Google tarafından geliştirilen ve motora akışkan simülasyonu ekleyen22 Box2D'nin bir çatalıdır.
LibGDX, fizik motoru olarak C++ ile yazılmış yerel Box2D kodunun etrafında bir Java sarmalayıcı kullanır.23
Itterheim ve Wenderlich, Box2D'nin Cocos2d iPhone motorunda kullanımını açıklar.2425 Adobe Edge bültenindeki bir makale, Box2D'nin Flash oyunlarda kullanımını tartışmaktadır.26
Orijinal kaynak: box2d. Creative Commons Atıf-BenzerPaylaşım Lisansı ile paylaşılmıştır.
Box2D|website=box2d.org|dil=İngilizce|erişimtarihi=6 Nisan 2018|arşivurl=https://web.archive.org/web/20180406163934/http://box2d.org/2015/07/github-hosting/|arşivtarihi=6 Nisan 2018|ölüurl=hayır}} ↩
Steffen Itterheim. (2010). "Learn iPhone and iPad cocos2d Game Development." Apress. ↩
Rod Strougo and Ray Wenderlich. (2011). "Learning Cocos2d: A Hands-On Guide to Building IOS Games with Cocos2d, Box2d, and Chipmunk." Addison-Wesley Professional. ↩
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page