Box2D

RSS: https://box2d.org/index.xml
Box2D,由 Erin Catto 开发的 2D 物理引擎,广泛应用于游戏开发。

内切球

Box2D 作者介绍其最新 3D 引擎 Box3D 中使用分离轴测试(SAT)计算凸包接触流形的设计取舍:SAT 在形状非常接近或已重叠时比 GJK 更鲁棒,且能一次性拿到所有接触点,省去 GJK 失败后回退到 EPA/SAT 的浪费。 标题“内切球”暗示文中还会讨论内切球在碰撞检测中的作用。
评论点赞收藏1 天前

物理引擎中的 SIMD 碰撞检测优化实践

Box2D 作者详解在 Box3D 物理引擎中通过“宽 SIMD”优化复杂凸包碰撞检测的性能提升。针对 SAT 算法中边缘-边缘测试的二次复杂度问题,利用 SoA 数据布局并行处理多个边缘对。 实测数据显示,在 AMD 7950X 上,SSE2 使整体模拟速度翻倍,AVX2 进一步优化。该优化主要惠及高复杂度模型(如破坏效果),对简单方块碰撞影响微弱。
评论点赞收藏69 天前

Box2D 推出全新录制回放系统,精准复现物理引擎 Bug

Box2D 作者开发了一套新的录制与回放系统,旨在解决开源物理引擎调试难题。 旧版导出方式无法包含内部状态和查询,新版通过二进制录制完整模拟过程,支持精确复现 Bug。 该系统利用 Box2D 的确定性设计和面向数据架构,实现了高效的快照与回滚功能。作者还分享了关于回调处理、跨平台一致性等技术细节,并预告了 v3.2 版本的进展。
评论点赞收藏90 天前

Announcing Box3D :: Box2D

I’m happy to announce the release of Box3D, an open source 3D physics engine. It is now available on GitHub. Box3D repository You can think of Box3D as a fork of Box2D, extended with many features nee...
评论点赞收藏91 天前

Box2D 3.1 Released

Version 3.0 was released about 8 months ago. It was a huge update and it needed some refinement. Version 3.1 addresses most of the bugs and build problems. It also introduces some new features and ref...
评论点赞收藏527 天前

Dynamic Tree Improvements

Dynamic Tree Insertion Dynamic tree insertion can be expensive if you try to optimize for some metric such as the surface area heuristic (SAH). The SAH tries find a node configuration that minimizes t...
评论点赞收藏558 天前

Determinism

Determinism means many things when it comes to game development and especially physics engines. Generally in game development we like things to be repeatable. This makes debugging easier. This doesn’t...
评论点赞收藏758 天前

SIMD Matters: Graph Coloring

SIMD in game development Often in game development we talk about SIMD. It is the holy grail of CPU performance, often out of reach. The conventional wisdom is that it is difficult to achieve real gain...
评论点赞收藏769 天前

Box2D 3.0 Released

Over 18 months ago I announced that I was working on Box2D version 3.0 (v3 for short). And it has finally arrived! It has been a long journey and I’ve learned a lot. There is more work to do, but the ...
评论点赞收藏779 天前

Solver2D: Box2D

I was recently testing the Box2D version 3.0 alpha and found a stability problem. I found a fix for the problem fairly quickly, however the experience left me thinking about the progression of v3.0 an...
评论点赞收藏965 天前

Simulation Islands

Island management is a fundamental low level feature of physics engines and can have a big impact on solver design and performance. This was one of the first problems I decided to work on for Box2D ve...
评论点赞收藏1088 天前

Starting Box2D 3.0

Over the holidays I started working on version 3.0 of Box2D. I started closing out some issues for v2.4 and then moved onto a backlog task: speculative collision. Speculative collision is a technique ...
评论点赞收藏1354 天前

Ghost Collisions

Dealing with ghost collisions is a challenging problem in game physics. The basic idea comes from motion across a flat surface. You may have several shapes joined together to make a flat surface, like...
评论点赞收藏2292 天前

Stuck Inside

There a several computational geometry algorithms that are relevant for preparing collision data: convex hull, mesh simplification, and convex decomposition. Many implementations of these algorithms a...
评论点赞收藏2362 天前

Predictive Joint Limits

Box2D has support for continuous collision. This solves the problem of fast moving objects passing through each other due to discrete time steps. The Box2D continuous collision algorithm uses a time o...
评论点赞收藏2371 天前

About

Hello! I’m Erin Catto. I work in the video game industry. I also created Box2D, a 2D physics engine for games. I use this blog to give updates on Box2D and write about game physics and programming. Yo...
评论点赞收藏2464 天前

How to Transform a Plane

Suppose you have a plane equation in local space and you’d like to express that plane equation in world space. The plane in local space is written as: $P:= (n, w)$where (n) is the plane normal and (...
评论点赞收藏2947 天前

Box2D Subreddit

I’m now a moderator on the Box2D subreddit. So I think this makes it the official! r/box2d I look forward to seeing Box2D discussion on reddit.
评论点赞收藏3006 天前

Box2D Discord Server

Hi All! I created a Box2D server on Discord. Discord On a related note, I’m considering locking the forums because I’d rather spend my limited free time working on Box2D than maintaining the forums. I...
评论点赞收藏3020 天前

Troublesome Triangle

I ran into a problem computing a polygon normal using Newell’s method as described in Christer Ericson’s excellent book Real-Time Collision Detection. In this case the polygon happens to a be a triang...
评论点赞收藏4625 天前

m128

The best way to use SSE is to use the __m128 intrinsic directly. Unfortunately Visual Studio displays the values backwards (w,z,y,x). Bleh. Here is a change to autoexp.dat to correct the order. First ...
评论点赞收藏5143 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。