在 3D 景观中模拟球的运动.最简单的方法

Simulation of ball movement in a 3d landscape. The easiest way?

本文关键字:运动 最简单 方法 模拟 3D 景观      更新时间:2023-10-16

我有一个风景(通过柏林噪音生成)和一个球。我希望球沿着测地线移动(基本物理学的实现:引力,摩擦)。我想在球周围对景观进行光线投射,选择最低点并将球移动到这个点,但它不会在每种情况下都起作用,也不会让球跳跃(惯性)。那么,实现此类功能的最佳方法/算法是什么?

附言我不想使用任何库。

这需要一些时间,但这并不难,你需要计算球的新位置,完全忽略高度场(只有重力和惯性),然后,在此步骤之后,你检查碰撞(球体和三角形网格之间的基本碰撞检测),如果检测到碰撞,生成碰撞数据并通过在适当的方向上施加脉冲OR力来解决它, 使用运动方向和碰撞法线方向。现在,如果您以前从未使用过碰撞检测,则可能需要一些额外的时间来学习所涉及的算法,例如如何检测碰撞,如何生成碰撞数据(正常,穿透等)。

您需要为此任务构建自己的物理库,个人工作可能需要数月时间。如果你仍然不想将外部引擎导出到你的项目中,至少我建议你检查开源引擎,看看它们是如何处理事情的。

我可以建议子弹物理作为开始。