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

时间:2019-07-16 15:12:39

标签: unity3d box2d game-physics physics-engine

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年实现这一目标,如果现在可行的话?

因此,如果是确定性的,我应该在代码中添加些什么来实现这一目标?

1 个答案:

答案 0 :(得分:1)

Unity3D中使用的PhysX不是确定性的。但是,统一2018.3中有一个新的物理软件包,理论上可以满足您的需要

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