2019年Unity3d的物理有多少确定性?



Unity 的 3D 物理特性在不同平台上是否具有确定性,例如 Android 和 IOS?

我看到 2D 物理不是(不同的平台): https://support.unity3d.com/hc/en-us/articles/360015178512-Determinism-with-2D-Physics

"但是,对于您的应用程序,您可能需要严格的确定性。如 这样,您需要知道Box2D是否可以产生相同的 不同二进制文件和不同平台上的结果。一般 Box2D无法做到这一点。原因是不同的编译器和 不同的处理器以不同的方式实现浮点数学,这 影响模拟结果。

但我看到3D物理也许是? https://docs.unity3d.com/ScriptReference/Physics.Simulate.html

"为了获得确定性的物理结果,你应该通过一个固定的 步骤 值为 Physics。每次调用它时都进行模拟。通常,步骤 应该是一个小的正数。使用大于 0.03 可能会产生不准确的结果。

https://blogs.unity3d.com/pt/2018/11/12/physics-changes-in-unity-2018-3-beta/在上面的文章中说:

增强的确定性 PhysX 保证在以下情况下具有相同的仿真结果 所有输入都完全相同。

所以理论上这是可能的,但实际上(你知道处理不同平台的物理,如Android,IOS等)是非常复杂的。 我想知道有人是如何在 2019 年实施这一点的,如果现在有可能的话?

因此,如果它是确定性的,我应该在代码中放入什么来实现这一点?

Unity3D 中使用的 PhysX 不是确定性的。但是,unity2018.3中有一个新的物理包,理论上可以满足您的需求

https://docs.unity3d.com/Packages/com.unity.physics@0.0/manual/index.html

最新更新