# box3d | Erin Catto | Knowledge Base | Instagit

Box3D is a 3D physics engine for games

GitHub Stars: 5.7k

Repository: https://github.com/erincatto/box3d

---

## Articles

### [How Contact Friction and Restitution Parameters Affect Material Response in Box3D](/erincatto/box3d/box3d-contact-friction-restitution-material-response)

Explore how Box3D contact friction and restitution parameters influence material response. Learn to customize sliding resistance and bounce intensity for precise simulations.

- Tags: how-to-guide
- Published: 2026-08-01

### [How Joint Motors in Box3D Drive Rotational and Linear Motion with Force Limits](/erincatto/box3d/box3d-joint-motors-drive-motion-force-limits)

Learn how Box3D joint motors generate rotational and linear motion. Discover how force limits ensure physically stable actuation for your simulations. Achieve precise control.

- Tags: deep-dive
- Published: 2026-08-01

### [Box3D Body Types Explained: Static vs Kinematic vs Dynamic Simulation Effects](/erincatto/box3d/box3d-body-types-static-kinematic-dynamic-simulation-effects)

Understand Box3D body types static kinematic and dynamic simulation effects. Learn how each type influences object behavior and interaction in your physics engine.

- Tags: deep-dive
- Published: 2026-08-01

### [How to Optimize Box3D Performance for Large Piles of Rigid Bodies](/erincatto/box3d/box3d-optimize-performance-hundreds-rigid-bodies)

Boost Box3D performance for hundreds of rigid bodies. Learn to optimize multithreading, contact recycling, collision filtering, SIMD, and pre-allocation for faster simulations.

- Tags: performance
- Published: 2026-08-01

### [How Box3D Uses SSE2/NEON SIMD to Optimize the Contact Solver Inner Loops](/erincatto/box3d/box3d-sse2-neon-simd-optimize-contact-solver)

Discover how Box3D optimizes its contact solver inner loops using SSE2/NEON SIMD. Achieve up to 75% fewer floating-point operations with parallel constraint solving for x86 and ARM.

- Tags: performance
- Published: 2026-08-01

### [How Manifold Constraints in Box3D Handle Multi-Point Contact Between Convex Shapes](/erincatto/box3d/box3d-manifold-constraints-multi-point-contact-convex-shapes)

Explore how Box3D's manifold constraints manage multi-point contact between convex shapes by reducing contact points to a maximum of four stable contacts.

- Tags: deep-dive
- Published: 2026-08-01

### [How Box3D Handles Height Field Collision for Terrain in Games](/erincatto/box3d/box3d-height-field-collision-terrain-games)

Discover how Box3D handles height field collision for terrain. Learn about on-demand triangle generation and mesh-contact pipeline reuse for efficient game collision detection.

- Tags: how-to-guide
- Published: 2026-08-01

### [How Box3D Organizes Bodies into Static, Awake, and Sleeping Categories Using Solver Sets](/erincatto/box3d/box3d-solver-sets-body-categories-static-awake-sleeping)

Learn how Box3D organizes bodies into static, awake, and sleeping categories using solver sets for efficient physics simulation. Maximize cache locality and skip work.

- Tags: internals
- Published: 2026-08-01

### [How Box3D Shares Identical Convex Hulls Across Shapes Using a Reference-Counted Database](/erincatto/box3d/box3d-hull-database-share-convex-hulls)

Discover how Box3D efficiently shares identical convex hulls using a reference-counted database. Deduplicate geometry and manage memory automatically.

- Tags: internals
- Published: 2026-08-01

### [Wide Contacts vs Manifold Constraints in Box3D's Narrow-Phase](/erincatto/box3d/box3d-wide-contacts-vs-manifold-constraints-narrow-phase)

Understand wide contacts vs manifold constraints in Box3D's narrow-phase. Discover how SIMD batch processing and precise geometric data optimize collision detection.

- Tags: deep-dive
- Published: 2026-08-01

### [How to Perform Spatial Queries Using Ray Casts and Shape Casts in Box3D's Broad-Phase](/erincatto/box3d/box3d-ray-casts-shape-casts-spatial-queries-broad-phase)

Learn how to perform spatial queries with ray casts and shape casts using Box3D's broad-phase. Discover efficient AABB overlap testing for faster intersection routines.

- Tags: how-to-guide
- Published: 2026-08-01

### [How Warm Starting Accelerates Solver Convergence Across Sub-Steps in Box3D](/erincatto/box3d/box3d-warm-starting-accelerate-solver-convergence)

Learn how warm starting accelerates solver convergence in Box3D by reusing cached impulses. This reduces iterations for faster physics simulations.

- Tags: performance
- Published: 2026-08-01

### [How Box3D Sensors Detect Overlaps Without Generating Contact Physics](/erincatto/box3d/box3d-sensors-detect-overlaps-no-contact-physics)

Discover how Box3D sensors detect overlaps without contact physics. Learn about their dedicated pipeline for efficient broad-phase queries and geometric tests, storing results for deterministic events.

- Tags: internals
- Published: 2026-08-01

### [How Box3D Implements Capsule-Based Character Collision Response](/erincatto/box3d/box3d-character-mover-capsule-collision-response)

Learn how Box3D's CharacterMover implements capsule-based collision response using iterative plane solving and impulse exchange for penetration-free character movement and stable dynamic interactions.

- Tags: deep-dive
- Published: 2026-08-01

### [How to Use Box3D Recording and Replay to Capture and Reproduce Simulation State](/erincatto/box3d/box3d-recording-replay-capture-reproduce-simulation-state)

Learn how to use Box3D recording and replay to capture and reproduce simulation state verbatim. This guide explains the b3Recording API and b3RecPlayer system for seamless simulation management.

- Tags: how-to-guide
- Published: 2026-08-01

### [How Box3D Achieves Cross-Platform Deterministic Simulation: 7 Architectural Techniques](/erincatto/box3d/box3d-cross-platform-deterministic-simulation)

Discover how Box3D achieves cross-platform deterministic simulation with 7 architectural techniques. Ensure bit-for-bit identical physics results on any platform.

- Tags: architecture
- Published: 2026-08-01

### [How Graph Coloring in the Box3D Constraint Graph Enables Parallel Joint Solving](/erincatto/box3d/box3d-constraint-graph-graph-coloring-parallel-joint-solving)

Learn how graph coloring in the Box3D constraint graph enables parallel joint solving. Process constraint groups in parallel efficiently and safely.

- Tags: internals
- Published: 2026-08-01

### [How the Wheel Joint in Box3D Simulates Vehicle Suspension, Steering, and Motor Drive](/erincatto/box3d/box3d-wheel-joint-simulate-vehicle-suspension-steering-motor)

Explore how Box3D's wheel joint simulates vehicle suspension steering and motor drive using three independent soft constraint subsystems for realistic physics.

- Tags: deep-dive
- Published: 2026-08-01

### [When Should I Use Each Joint Type in Box3D? A Complete Guide to Revolute, Prismatic, Spherical, Wheel, Distance, Weld, Motor, and Parallel Joints](/erincatto/box3d/box3d-joint-types-usage-revolute-prismatic-spherical-wheel-distance-weld-motor-parallel)

Master Box3D joints: revolute, prismatic, spherical, wheel, distance, weld, motor, and parallel. Learn which joint type to use for specific motion constraints and achieve optimal physics simulations.

- Tags: deep-dive
- Published: 2026-08-01

### [How Collision Filtering Using Category and Mask Bits Works in Box3D](/erincatto/box3d/box3d-collision-filtering-category-mask-bits-control-interactions)

Learn how Box3D uses category and mask bits for collision filtering. Control object interactions efficiently with this powerful technique. Optimize your physics engine.

- Tags: how-to-guide
- Published: 2026-08-01

### [How Box3D's Broad-Phase Dynamic AABB Tree Computes Collision Pairs](/erincatto/box3d/box3d-broad-phase-aabb-tree-compute-collision-pairs)

Discover how Box3D's dynamic AABB tree computes collision pairs. Learn about its parallel processing for efficient overlap detection and filtering of unique pairs for narrow-phase collision.

- Tags: deep-dive
- Published: 2026-08-01

### [Box3D Continuous Collision Detection: How It Prevents Tunneling for Fast-Moving Objects](/erincatto/box3d/box3d-continuous-collision-detection-prevent-tunneling)

Box3D continuous collision detection calculates exact time-of-impact (TOI) to prevent tunneling for fast objects. Advance simulation to collision fraction, ensuring no objects pass through obstacles.

- Tags: deep-dive
- Published: 2026-08-01

### [How the Island-Based Sleep System in Box3D Reduces CPU Usage for Inactive Bodies](/erincatto/box3d/box3d-island-sleep-system-reduce-cpu-usage)

Discover how Box3D's island-based sleep system drastically cuts CPU usage by grouping inactive rigid bodies and excluding them from collision detection and solving.

- Tags: internals
- Published: 2026-08-01

### [How Box3D's Soft Step Solver Ensures Stable Stacking Without Iterative Divergence](/erincatto/box3d/box3d-soft-step-solver-stable-stacking-no-divergence)

Discover how Box3D's Soft Step solver achieves stable stacking and prevents divergence by treating contacts as damped springs, limiting impulses and decaying energy across substeps.

- Tags: internals
- Published: 2026-08-01

