Box3D: Motorul fizic bazat pe Box2D care revoluționează 3D-ul

Puncte cheie:
  • Erin Catto, creatoarea popularului Box2D, a lansat Box3D, un nou motor de simulare fizică tridimensională, open-source (licență MIT).
  • Proiectul a fost născut pentru a înlocui motorul Chaos din Unreal Engine 5 în jocul The Legend of California, remediind probleme serioase de performanță și coliziuni continue.
  • Arhitectura se bazează pe o fuziune între codul optimizat al Box2D și algoritmii 3D ai Rubikon-Lite (de la creatorul fizicii din Half-Life: Alyx).
  • Box3D acceptă coliziuni cu plase poligonale, hărți de înălțime și coliziuni compozite precalculate, economisind resurse valoroase de memorie la randarea lumilor gigantice.
  • Deși se află în faza alfa (0.1), motorul este deja utilizat de proiecte majore din industrie, cum ar fi s&box de la Facepunch Studios și motorul Esoterica.

Box3D: Alternativa la Unreal Chaos creată de autorul Box2D

Erin Catto, mintea strălucită din spatele legendarului motor fizic Box2D, a oferit... Comunitatea dezvoltatorilor a fost surprinsă când a fost anunțată lansarea Box3D.

Și departe de a fi un simplu experiment, acest nou motor de simulare fizică S-a născut dintr-o nevoie reală și presantă în timpul dezvoltării jocului de supraviețuire The Legend of California. la studioul Kintsugiyama. Deși echipa a folosit Unreal Engine 5, motorul său fizic nativ, cunoscut sub numele de Chaos, avea deficiențe critice pentru un proiect de o asemenea amploare.

Catto se El a descoperit că obiectele subțiri se rotesc la infinit din cauza lipsei unui cuplu giroscopic adecvat, Copacii uriași cădeau haotic teleportarea din cauza erorilor în detectarea continuă a coliziunilor, iar performanța generală a scăzut vertiginos atunci când se încerca procesarea a sute de mii de entități simultane pe serverele jocului.

Confruntați cu aceste probleme și cu multe altele, Catto a inventat o modalitate de a rezolva această enigmă, Povestea a luat o întorsătură fascinantă datorită intervenției directe a unui veteran ValveDirk Gregorius, creatorul motorului fizic Rubikon folosit în aclamatul Half-Life: Alyx, El i-a sugerat lui Catto să folosească ca punct de plecare o versiune simplificată a propriului său motor personal., numită Rubikon-Lite.

Când a fost integrat în Unreal, rezultatele au fost imediate și spectaculoase. Însă Catto a decis să meargă mai departe pentru a facilita mentenanța pe termen lung. Pentru a menține consecvența cu munca sa bidimensională, a început să injecteze întreaga arhitectură și optimizări ale renumitului său Box2D în acest nou sistem. Rezultatul final al acestei fuziuni este Box3D, un motor în care aproape toate API-urile și structurile de date provin de la Box2D, păstrând doar algoritmii complecși de coliziune tridimensională din proiectul lui Gregorius.

Cu permisiunea tuturor celor implicați, această minune tehnologică a fost lansată sub licența permisivă MIT, scrisă în întregime în standardul C17 și cu suport complet pentru Windows, Linux și macOS.

Deși prima sa versiune 0.1 este considerată a fi în faza alfa, capacitățile sale sunt deja formidabile.Aceste tehnologii sunt valorificate de proiecte colosale precum platforma de jocuri s&box de la Facepunch Studios, motorul open-source Esoterica și un simulator spațial multiplayer masiv conceput pentru o mie de jucători. Box3D se remarcă atunci când gestionează medii tridimensionale complexe, oferind calcule de coliziune extrem de precise cu plase poligonale și hărți de înălțime, permițând efecte hiperrealiste atunci când interacționează cu teren distructibil.

În plus, introduce un sistem de coliziuni compuse precalculate, O tehnică ce permite îmbinarea a mii de forme geometrice într-o singură structură optimizată. Aceasta reduce drastic utilizarea memoriei și a procesorului la încărcarea unor fortărețe masive sau a unor medii pline de obiecte interactive. Toate acestea sunt completate de moștenirea directă a Box2D, inclusiv rezolvători de sub-pași pentru o precizie exactă, determinism multi-platformă pentru a garanta rezultate identice pe orice computer și suport de dublă precizie pentru crearea unor lumi cu adevărat gigantice, fără erori de calcul.

În cele din urmă, merită menționat faptul că viitorul Box3D pare incredibil de promițător și activ, deoarece, în timp ce Catto continuă să rafineze documentația și să efectueze teste. exhaustiv pentru a ajunge la versiunea stabilă 1.0, Deja are în vedere extinderi pentru a sprijini creatorii de jocuri..

lor Următoarele obiective se concentrează pe îmbunătățirea capacităților de mișcare ale personajelor, reglați fin rezolvitorii de îmbinări și atenuează complet coliziunile enervante cu fantome care adesea strică imersiunea. Spre deosebire de proiectele sale anterioare, Catto a confirmat că va deschide porțile către comunitatea open-source într-un mod mult mai colaborativ, permițând altor ingineri să trimită propriile îmbunătățiri și remedieri după semnarea unui acord de proprietate a codului, asigurându-se astfel că Box3D evoluează rapid pentru a deveni o piesă structurală a următoarei generații de jocuri video.

Dacă sunteți interesați să aflați mai multe despre acest nou motor fizic, puteți găsi detalii în următorul link.

Pentru cei interesați de cod sau care doresc să îl încerce, ar trebui să știe că este deja disponibil. disponibil pe GitHub.


Adăugați ca sursă preferată în Google