版本: Unity 6 (6000.0)
语言English
  • C#

Physics2D.maxSubStepCount

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每一个建议更改,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

public static int maxSubStepCount;

描述

启用模拟子步时,每帧允许的模拟子步的最大数量。

当使用 Physics2D.useSubStepping 启用模拟子步时,此属性用于控制将发生的模拟子步的最大数量。

当发生子步时,将执行多个模拟子步。运行过多的模拟子步会导致性能下降。实际上,使用子步的原因是由于帧率较低,因此需要小心确保不会因运行过多的模拟子步而使情况变得更糟。

如果所需的模拟子步数量超过允许的 最大值,并且帧率无法划分为等于或高于 Physics2D.minSubStepFPS 的更新,则仅使用最大数量的子步。这会导致模拟中“丢失”时间,但好处是限制了子步的成本。可以通过 PhysicsScene2D.subStepLostTime 读取“丢失”时间的总量。上次模拟步骤中执行的模拟子步的数量可以通过 PhysicsScene2D.subStepCount 读取。应使用 Unity Profiler 和 Physics 2D 模块监控此成本。

其他资源:Physics2D.useSubSteppingPhysics2D.minSubStepFPSPhysicsScene2D.subStepCountPhysicsScene2D.subStepLostTime