c++ - 什么时候应该将对象置于 "resting"物理状态?

标签 c++ algorithm physics game-physics

什么时候应该将物体置于物理学的“静止”状态?

我以前读过,对于物理学来说,在某个值(例如速度)达到一个非常小的范围后,物体应该处于“静止”状态。这应该如何完成以及何时完成?或者,这只是一种糟糕的技术?

根据我前段时间的阅读记忆,有一种潜在的情况是确定会发生碰撞并且碰撞时间是某个非常小的值(例如 0.00001f)。但是,这似乎可能会出现误报,这是真的吗?

最佳答案

这是一个相当模糊的术语,它完全取决于您的物理模拟的要求。也就是说,如果您知道它不会造成伤害,那么让对象“休息”可能是一种非常有效的优化。

许多物理引擎都有所谓的“卡住”状态,这只是意味着它们不会处理卡住的物体,直到某些条件发生(或根本不发生)。 “静止”也可能意味着动态物体(速度接近零)被视为静态物体,通常速度更快,因为不需要更新空间数据结构。

How should this be done and when should it be done?

实现此功能时,您几乎肯定需要做一些实验来调整参数,不要期望它会立即起作用。

“如何”是一个没有进一步细节就无法回答的问题(即哪个物理引擎、框架、自己开发......?)。

关于c++ - 什么时候应该将对象置于 "resting"物理状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10611458/

相关文章:

c++ - 访问基类的公共(public)成员失败

algorithm - 给定两组(大)点,我如何有效地找到彼此最近的点对?

java - 与玩家一起移动绳索 Swing

用于按需加载元素的容器的 C++ 随机访问迭代器

java - Java View 中的 C++ : I must have missed a few things

c++ - 无法使 qmlRegisterType 工作

python - 我如何递归地遍历 2 个字典,并根据另一个字典修改原始字典?

algorithm - 用于用户负载测试的上升/下降算法

c - 基于物理的小程序中的无限循环

animation - 动画系统的神经网络大小