我需要以“向后”的方式应用游戏物理。
即使是术语的澄清也会有所帮助。
问题
给定物体的质量、最大速度、最大力和设定的运动路径(现在为 2d),我想确定使物体遵循该路径同时最小化时间所需的力。
换句话说,一个物体的寻路已经完成,现在我要应用惯性。
想法
两者都需要采样
使用物理引擎控制动态物体的运动,施加脉冲沿路径移动。 每当身体偏离路径太远时,就后退并开始减慢身体速度。
使用物理引擎来控制通过弹簧连接到动态主体的运动主体。 运动体沿着路径稳定移动,直到动态体将弹簧拉伸得太远......再次:返回并减速。
我是否错过了一些我尚未发现的常见方法? 这有点像逆运动学,但求解不同的变量。
我知道这就是“运动规划”,它并不是微不足道的。
我可能会尝试其中一种(或两种)方法:
进化。我将从一条轨迹(x(t),y(t))开始,其中身体在序列中的每个点或三次曲线的每个交界处完全停止;这很容易计算。然后,我允许推力出现小的随机变化,选择遵守飞行数学和最小总时间,不断发展,直到总时间趋于平稳。
分段。对于每条三次曲线,计算物体可以具有的起始速度范围,并且仍然保持足够接近曲线。然后让相邻网段加强对切换速度的限制,每个网段都寻求最小化自己的时间。
对于大多数情况,一个简单的解决方案是:如果路径的最大曲率小于或等于最大力除以质量乘以最大速度的平方,则速度在最大速度处恒定,并且力垂直于运动行程,其大小与曲率成正比。 这是通过将速度设置为最大允许速度,而不是使用密切圆作为路径的二阶近似值得出的,并且因为加速度(因此力)局部独立于 o(t^3) 项,该近似值是精确的。 为了推广到更高的维度,我们必须考虑扭转,但同样的概念也适用。