nape-js

Teljesen típusozott 2D fizikai motor TypeScripthez és JavaScripthez — a Nape modern újraírása

Merev testek • Körök, sokszögek és kapszulák • Kényszerek • Folyadékszimuláció • Ütközési visszahívások • Sugárkövetés és térbeli lekérdezések • Törés • Lágy test • Determinisztikus többjátékos mód • Szerializálás • Web Worker támogatás — tree-shakeable, függőségmentes, ~27 KB gzip.

npm install @newkrok/nape-js

Interaktív demók

Kattints vagy húzz a vásznon a kölcsönhatáshoz. Válassz egy demót alább. Fizika Játék

Motor betöltése…
FPS: — Testek: — Lépés: —
Forráskód

Teljesítménytesztek

Épp most, a te böngésződben mérve. Minden teszt egy szoros ciklusban futtatja a fizikai step() hívást, és a lépésenkénti medián időt jelenti.

Nyomd meg a gombot az indításhoz.

Miért a nape-js?

A nape-js egyike azon kevés JavaScript és TypeScript 2D fizikai motoroknak, amely merevtest-dinamikát, ízületeket (PivotJoint, DistanceJoint, WeldJoint, AngleJoint, MotorJoint, LineJoint, PulleyJoint, SpringJoint), folyadék-felhajtóerőt, törést, lágy testet, sugárkövetést és konvex söpréseket, beépített karaktervezérlőt, determinisztikus lépegetést a többjátékos visszagörgetéshez, bináris szerializálást, visszajátszás-rögzítést és egy szálon kívüli Web Worker hidat kínál — mindezt egyetlen tree-shakeable ESM csomagban (~27 KB gzip), teljes TypeScript típusokkal és DOM-függőségek nélkül.

A Box2D, Matter.js, Planck.js vagy Rapier alternatíváját keresed? Futtasd a böngészőbeli teljesítménytesztet, hogy közvetlenül összehasonlítsd őket, vagy merülj el az interaktív példákban — fizikai demók és játszható minijátékok (platformer, MOBA, tornyos védekezés, csúzli, flipper, felülnézetes lövölde).

Az API dióhéjban

Mag

  • Spacefizikai világ
  • Bodymerev test
  • Vec22D vektor
  • AABBbefoglaló doboz

Alakzatok

  • Circlesugáralapú
  • Polygonkonvex burok
  • Capsulelekerekített végek
  • Polygon.box(w, h)