【发布时间】:2017-07-15 02:54:34
【问题描述】:
我在 C++ 程序中运行 Box2D 模拟时,这个错误中止了程序:
a.out: ./Box2D/Dynamics/Contacts/b2ContactSolver.cpp:96: b2ContactSolver::b2ContactSolver(b2Contact**, int32, b2StackAllocator*, float32): Assertion `kNormal > 1.19209289550781250000e-7F' failed.
- 此断言失败表示什么?
- 可能是什么原因造成的?
- 我可以通过哪些方式修复它?
我没有任何可能与该问题相关的进一步背景。
【问题讨论】:
-
您是否正在创建大量的夹具和/或接头?这些线程很旧,但两者(第一个链接有一个指向第二个帖子的链接)似乎都遇到了错误,分辨率(在第二个帖子最后是 box2d cmets 的创建者)通常与物体的质量有关 -被操纵为负数或接近0,box2d.org/forum/viewtopic.php?t=5250
-
您使用的是什么版本的 Box2D?我没有在
b2ContactSolver.cpp文件的任何最近提交的第 96 行附近找到任何断言。
标签: c++ runtime-error box2d game-physics assert