【发布时间】:2018-01-31 12:19:01
【问题描述】:
我正在使用此代码发射弹丸以击中地面目标。
我在 x 方向上施加一个冲力,这是根据它在目标上方的高度计算得出的。我正在通过将 x 距离除以由于重力而下降的时间来计算要添加的力,但这似乎不起作用:
float xDist = flag.position.x - transform.position.x;
float yDist = transform.position.y - flag.position.y;
float smallY = (4/9.81f) + (0.5f*-9.81f*Mathf.Pow((4/9.81f), 2));
yDist = yDist + smallY;
float yImpactForce = Mathf.Sqrt(2*9.81f*yDist);
float xForce = xDist/(Mathf.Sqrt(2*yDist/9.81f));
谁能帮帮我?
不确定我的计算是否错误,或者物理学是否与现实生活中的情况有很大不同。非常感谢任何帮助,谢谢
编辑:smallY 变量用于查找到弹丸轨迹峰值的距离
【问题讨论】:
-
力就是加速。你不能将总距离除以时间来获得加速度,它们不是线性相关的(你得到的是一个恒定的速度)。
-
@Draco18s 但我正在尝试计算在重力作用下自然下落的时间内到达目的地的初始 x 速度。我该怎么办?
标签: unity3d vector unity5 projectile