版权声明:本文为博主原创文章未经博主允许不得转载。 /limu/article/details/
思路:通过对时间的计算每隔一段时间让物体旋转,实现来回移动
1.首先给物体定义一个初始速度和初始的時间。
5.if判断规定一个时间,如若TranslateSpeedTime达到这个时间让物体沿着Y轴旋转
并且重置时间,继续调用Update
即可实现物体的重复移动并旋转
//抛物线方程 X Y代表预测落点V代表炮弹初速,G是重力加速度 返回值是Vector2,其中x是发射角y是飞行时间
}else{//用上面的公式进行计算
//目标运动的直线方程 VT是目标运动速度 PT是目标当前位置 DT昰目标运动方向 TT是运动时间 返回值是目标经过时间TT以后的实际位置
//简单的一句话搞定直线方程计算 目标实际位置=目标当前位置+目标运动方姠向量*(目标飞行速度*目标飞行时间)
//主迭代函数 参数灰常多 用于算法演示 实际使用是可以简化的
//返回值是炮塔发射时瞄准点的坐标(注意不昰实际命中点)
//如果预测命中点是0 无解 返回0
//把炮塔正z指向预测命中点在炮塔高度的一个水平面上的投影点
//这样就构造了一个以炮塔为原点,以重力方向为-y轴 以炮塔正前方为x轴的标准抛物线2D坐标系这个要自己体会下
//构造一个从世界坐标到炮塔坐标的旋转矩阵
//把预测命中点变換到炮塔坐标(减法是计算相对坐标差,再旋转到炮塔当前坐标来)
if (diff1 > diff){//如果距离大于上一次计算的距离 那么要么迭代算法有问题 是发散的 要麼就无解 返回0
//即不是无解 也未达到精度要求 递归调用继续迭代 其中预测命中点用目标轨迹方程计算出的新位置取代 参考差值用本次计算的差值取代
版权声明:本文为博主原创文章未经博主允许不得转载。 /limu/article/details/
思路:通过对时间的计算每隔一段时间让物体旋转,实现来回移动
1.首先给物体定义一个初始速度和初始的時间。
5.if判断规定一个时间,如若TranslateSpeedTime达到这个时间让物体沿着Y轴旋转
并且重置时间,继续调用Update
即可实现物体的重复移动并旋转
如果 让物体慢慢上升该怎么写啊
你对这个回答的评价是