【发布时间】:2023-03-12 07:14:01
【问题描述】:
我想在这个视频中模仿重力:
Bombardier Gravity Gameplay Demo
身体是静止的,不会相互影响。射弹以设定的速度和角度发射。它们接近一颗行星,减速,然后急转弯并加速。
当我使用牛顿方程实现重力时,物体总是移动得更不稳定——加速和射击速度快得离谱。也许这是调整质量的问题。
只是好奇人们使用什么技术,如果 vanilla Newton 的技术很好,关于质量比的建议,以及任何你认为对这种运动编程很重要的东西。
【问题讨论】:
-
使用径向重力时要做的一件好事是确保您有良好的碰撞检测或 max();在重力产生的力上,以确保 2 个物体不会直接相互穿过并因此获得巨大的速度提升。此外,您的物理步数越小越好。
-
“你的物理步骤越小越好” - 不正确。减少时间步长会增加集成所需的时间,并且没有人希望他们的模拟爬行。此外,存在运动缓慢的运动区域,在这种情况下,较大的时间步长很好。此外,过多地减少时间步长会使您接近硬件的浮点精度,在这种情况下,您的答案会受到舍入误差的严重影响,并且完全是虚假的。最好的方法是根据当前速度自动选择一个时间步长。
标签: physics game-physics gravity