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
“要获得确定性的物理结果,您应该通过固定 物理步长值。每次调用时进行模拟。通常,一步 应该是一个小的正数。使用大于 0.03可能会产生不正确的结果。”
https://blogs.unity3d.com/pt/2018/11/12/physics-changes-in-unity-2018-3-beta/
在上面的文章中说:
增强的确定性在以下情况下保证了相同的仿真结果 所有输入都完全相同。”
因此从理论上讲是有可能的,但实际上(您知道跨不同平台(例如Android,IOS等)处理物理)非常复杂。
我想从某人那里知道如何在2019年实现这一目标,如果现在可行的话?
因此,如果是确定性的,我应该在代码中添加些什么来实现这一目标?
答案 0 :(得分:1)
Unity3D中使用的PhysX不是确定性的。但是,统一2018.3中有一个新的物理软件包,理论上可以满足您的需要
https://docs.unity3d.com/Packages/com.unity.physics@0.0/manual/index.html