我正在整理一款将主要在三维重力下进行的游戏。
我的意思是说,多个行星/恒星/月球表现得很真实,并且表示重力场中的路径绘制和路径预测。
我研究过各种物理引擎,例如Bullet,tokamak或Newton,但它们似乎都不适合,因为我必须在其框架中重新编写重力引擎。
您是否知道一种物理引擎能够处理多个彼此吸引的物体?
我不需要场景图管理或渲染,只需要核心物理即可。(碰撞检测和刚体动力学一样是额外的奖励)。
我的背景是物理学,因此我可以编写一个使用Verlet集成或RK4(甚至必须使用Euler集成)的引擎,但是我更愿意采用现成的解决方案。
7
您不能简单地使用Bullet并以某种方式选择退出其标准重力吗?(例如,避免调用applyGravity,使用零向量调用setGravity,使用BT_DISABLE_WORLD_GRAVITY ...)仅仅因为您期望的效果恰好是一种重力形式,并不意味着您需要能够通过以下方式的“ gravity” API来实现基础物理引擎。
—
Neverender 2012年
您可以使用某种反向弹簧
—
Roy T.
@RoyT。弹簧本身的力与d成正比,而重力为d ^(-2)(甚至不等于d ^(-1))。您可以从两者获得轨道,但特征却截然不同。如果您只是说“使用引擎提供的基于距离的约束”,则可以-如果它具有平方反比。
—
凯文·里德
@KevinReid您可能是正确的,但我不确定我能得到您的解释。您是说弹簧力与距离成线性关系,而重力与平方成反比关系吗?
—
罗伊(Roy T.)
Osmos是一款很棒的小游戏。我能找到的最好的就是这次采访
—
Brice 2012年