[游戏开发]抛物线弹道计算
发布时间:2024年01月06日
游戏中常见的抛物线形式有两种
1:平抛运动,例如弩车
2:投石车、弓箭手斜抛运动
在实际开发中,我们还会遇到两种不同的情况
- 第一种是射击目标坐标已知(例如阴阳师那种回合制战斗游戏,弓箭手向固定坐标射一箭,可以用贝塞尔曲线模拟一个假的弹道就行了,箭的旋转方向就是贝塞尔曲线的切线方向)
- 第二种是射击目标坐标未知(弓箭手拉弓,向上抬?角度,射一箭,具体射谁我也不知道,这种情况下就需要实时计算弓箭的位置和朝向)
第一种情况直接用二次贝塞尔曲线搞定
下面重点说一下无目标抛物线射击
在游戏中,我们需要知道每一帧箭的位置,以及朝向,然后刷新子弹的坐标和旋转,但我们已知的数据只有初始速度,射击角度,重力,还有一个很重要的自变量运行时间
下面下给出二维情况下运行时间t和高度y的对应关系
//Vo射击方向的初速度
//t子弹经过总时长
//g重力
y = Vo * Sin? * t - 1/2 * g * t2?
根据以上公式,可以推导出任意时刻子弹的高度y
还可以判断出子弹何时落地
文章来源:https://blog.csdn.net/liuyongjie1992/article/details/135409276
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!