我创建了一个平台游戏,使用了具有玩家和一些物体等的物理学,但是在物体上有质量问题。
玩家由一个轮子和一个与关节连接的躯干组成,当没有在任何物体上设置质量时,一切都能正常工作。但是不使用质量会产生不稳定的模拟,因为当改变物体上的纹理时,质量会奇怪地增加或减少。但是,当分配正确的质量和密度时,没有什么能像它应该的那样起作用,我不知道为什么。 我增加了力量,这对应于新的重量,但是当移动玩家时,他来回滑动,并在停止时侧向反弹。当拿起一个物体时,他会在整个屏幕上乱砍。
所以有人知道解决方案导致我被卡住了吗?
到目前为止我唯一发现的是,物理学中物质的质量是通过其固定物的密度来计算的。因此,当改变纹理时,重量增加/减少。但是在手动分配重量时我无法使其工作。
答案 0 :(得分:3)
取自Box2D手册:
夹具密度用于计算材料的质量属性 父体。密度可以是零或正。你应该一般 对所有灯具使用相似的密度。这将改善 堆积稳定性。
设置密度时,不会调整正文的质量。你必须 调用ResetMassData来实现此目的。
fixture->SetDensity(5.0f);
body->ResetMassData();
您可能需要重置海量数据才能使其正常工作。