0
点赞
收藏
分享

微信扫一扫

DS|静态查找

游戏中常见的抛物线形式有两种

1:平抛运动,例如弩车

2:投石车、弓箭手斜抛运动

在实际开发中,我们还会遇到两种不同的情况

  1. 第一种是射击目标坐标已知(例如阴阳师那种回合制战斗游戏,弓箭手向固定坐标射一箭,可以用贝塞尔曲线模拟一个假的弹道就行了,箭的旋转方向就是贝塞尔曲线的切线方向)
  2. 第二种是射击目标坐标未知(弓箭手拉弓,向上抬ϴ角度,射一箭,具体射谁我也不知道,这种情况下就需要实时计算弓箭的位置和朝向)

第一种情况直接用二次贝塞尔曲线搞定

在游戏中,我们需要知道每一帧箭的位置,以及朝向,然后刷新子弹的坐标和旋转,但我们已知的数据只有初始速度,射击角度,重力,还有一个很重要的自变量运行时间

下面下给出二维情况下运行时间t和高度y的对应关系

//Vo射击方向的初速度
//t子弹经过总时长
//g重力

y = Vo * Sinϴ * t - 1/2 * g * t² 

根据以上公式,可以推导出任意时刻子弹的高度y

还可以判断出子弹何时落地

举报

相关推荐

0 条评论