如何用pymunk.Body.update_velocity(体、重力、阻尼、dt)来阻尼质量。我知道我可以在这里使用全局阻尼,但我想在以后增加更多的质量,并为每个阻尼定制阻尼,所以我想学习如何部署身体特有的阻尼。我有以下问题
如何使用pymunk.Body.update_velocity
发布于 2020-11-24 12:40:44
您在这里的文档中找到了示例:http://www.pymunk.org/en/latest/pymunk.html#pymunk.Body.velocity_func吗?
pymunk.Body.update_velocity),但这不是必需的。这取决于你是否想自己写所有的代码来更新身体的速度,或者你是否想用现有的代码作为基础来修改它。由于您只想修改阻尼,所以我认为调用默认函数是最容易的。space.step(dt)函数的dt值相同。总之,我认为这样的事情可以做到(您只需要将modified_damping的计算调整为您想要的逻辑):
def custom_damping(body, gravity, damping, dt):
modified_damping = body.custom_damping * damping
pymunk.Body.update_velocity(body, gravity, modified_damping, dt)
body.custom_damping = 0.31415
body.velocity_func = custom_damping(如果你不想在身体上设置一个变量,你当然可以用其他方式去做。假设你想让所有物体的阻尼比正常的2倍,你可以用modified_damping = 2 * damping代替,并移除body.custom_damping属性。
https://stackoverflow.com/questions/64980359
复制相似问题