gpt4 book ai didi

c# - Farseer 物理质量/重量问题

转载 作者:行者123 更新时间:2023-11-30 22:17:52 24 4
gpt4 key购买 nike

我已经创建了一个平台游戏,使用 farseer physics 与玩家和一些物体等,但在物体质量方面遇到了一些问题。

播放器由一个轮子和一个与关节相连的躯干组成,当不在任何物体上设置质量时,一切都几乎完美。但是不使用质量会产生不稳定的模拟,因为当改变物体的纹理时,质量会奇怪地增加或减少。但是当分配正确的质量和密度时,没有任何效果,我不知道为什么。我增加了力量等以对应于东西的新重量但是当移动玩家时他来回滑动并且在停止时有点向侧面弹跳。当拿起一个物体时,他会在整个屏幕上乱砍。

那么有人知道我被卡住的解决方案吗?

到目前为止,我唯一发现的是,在远见物理学中,物体的质量是通过其固定物的密度来计算的。因此,当改变纹理时重量增加/减少。但是在手动分配权重时我无法让它工作。

最佳答案

摘自 Box2D 手册:

The fixture density is used to compute the mass properties of the parent body. The density can be zero or positive. You should generally use similar densities for all your fixtures. This will improve stacking stability.

The mass of a body is not adjusted when you set the density. You must call ResetMassData for this to occur.

fixture->SetDensity(5.0f);    
body->ResetMassData();

您可能需要重置海量数据以使其正常工作。

关于c# - Farseer 物理质量/重量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16516918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com