【问题标题】:identical 3D physics simulations across different mobile devices跨不同移动设备的相同 3D 物理模拟
【发布时间】:2015-11-16 08:21:39
【问题描述】:

我使用 Apple 的 SceneKit 框架创建了移动 3D 游戏。游戏很大程度上依赖于物理模拟。正因为如此,物理模拟必须跨设备相同。 SceneKit 无法做到这一点,因为我在不同设备上体验完全不同的物理模拟。正因为如此,我正在寻找一个新的框架或引擎来使用。在我深入研究 libGDX 之前。libGXD 如何处理物理?我的 3d 模拟在不同设备上看起来是否相同?如果没有,您建议使用哪些工具来创建相同的 3D 物理?

【问题讨论】:

  • 让物理模拟以相同的方式执行是非常困难的。问题通常在于每个设备上浮点数的精确实现......即使在同一制造商的各种芯片组上,也不能保证它们是相同的。我发现的最佳解决方案是完全使用定点算法。
  • 哦,你的意思是我应该缩放我的物理世界,使物体的所有位置和旋转数据都是整数?不知道如何处理摩擦或类似问题,因为它们始终是浮点数。
  • 不完全是,请尝试维基百科文章:en.wikipedia.org/wiki/Fixed-point_arithmetic 以了解定点算法。简而言之,您决定说 32 位整数的最后 8 位是小数部分,并且对于所有算术,您使用移位来保持小数部分的大小相同。

标签: libgdx game-physics physics-engine


【解决方案1】:

首先,由于浮点硬件差异,您可能永远无法在不同平台上实现 100% 相同的物理模拟。

现在,Libgdx 没有内置物理引擎,而是包含 Box2DBullet Physics 库的包装器。由于 SceneKit 在设计时考虑了休闲游戏和跨平台,因此确定性物理可能不被视为首要任务,因此使用 Bullet Physics 库可能会获得更好的结果。

【讨论】:

  • 就个人而言,我真的很喜欢 Libgdx,不建议不要使用它。
猜你喜欢
  • 2019-03-20
  • 2015-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多