nape-js

Vollständig typisierte 2D-Physik-Engine für TypeScript & JavaScript — moderne Neuentwicklung von Nape

Starrkörper • Circles, Polygons & Capsules • Constraints • Flüssigkeitssimulation • Kollisions-Callbacks • Raycasting & räumliche Abfragen • Fraktur • Soft Body • Deterministischer Multiplayer • Serialisierung • Web-Worker-Unterstützung — tree-shakeable, ohne Abhängigkeiten, ~27 KB gzip.

npm install @newkrok/nape-js

Interaktive Demos

Klicken/Ziehen auf der Leinwand zum Interagieren. Wähle unten eine Demo. Physik Spiel

Engine wird geladen…
FPS: — Bodies: — Step: —
Quellcode

Benchmarks

Jetzt direkt in deinem Browser gemessen. Jeder Test führt den Physik-step() in einer engen Schleife aus und meldet die mittlere Zeit pro Step.

Drücke die Schaltfläche zum Starten.

Warum nape-js?

nape-js ist eine der wenigen 2D-Physik-Engines für JavaScript und TypeScript, die Starrkörperdynamik, Gelenke (PivotJoint, DistanceJoint, WeldJoint, AngleJoint, MotorJoint, LineJoint, PulleyJoint, SpringJoint), Auftrieb in Flüssigkeiten, Fraktur, Soft Body, Raycasting und konvexe Sweeps, einen integrierten Character Controller, deterministisches Stepping für Multiplayer-Rollback, binäre Serialisierung, Replay-Aufzeichnung und eine Web-Worker-Bridge außerhalb des Hauptthreads mitbringt — alles in einem einzigen tree-shakeable ESM-Bundle (~27 KB gzip), mit vollständigen TypeScript-Typen und ohne DOM-Abhängigkeiten.

Suchst du eine Alternative zu Box2D, Matter.js, Planck.js oder Rapier? Führe den Benchmark im Browser aus, um sie direkt zu vergleichen, oder stürze dich in die interaktiven Beispiele — Physik-Demos und spielbare Mini-Games (Platformer, MOBA, Tower Defense, Slingshot, Pinball, Top-Down-Shooter).

Die API auf einen Blick

Kern

  • SpacePhysikwelt
  • BodyStarrkörper
  • Vec22D-Vektor
  • AABBBegrenzungsrahmen

Shapes

  • Circleradiusbasiert
  • Polygonkonvexe Hülle
  • Capsuleabgerundete Enden
  • Polygon.box(w, h)