角色跳跃弧?更改vector3.movetowards期间的y轴



我正在尝试使角色跳到两个分之间。这两个点分开不同,在不同的高度处。

i具有使用vector3.movetowards在ienumerator中的vector3.movetowards的字符。但是,我该如何进行修改y轴,以使角色在弯曲的路径上移动以看起来好像跳跃?

角色需要在每个点上完全降落,所以我不能使用物理。

谢谢!: - (

图像示例

如果您可以调整要跳跃的峰值发生的位置(因此曲线不是完全圆形,而是弧形(,例如因此跳跃的峰值更靠近目的地。

查看您给定的图像,我建议使用弹丸运动的方程式在给定时间内使用给定开始速度(VO(和给定 angle(theta(
如果您不熟悉弹丸方程,请在此处查看:https://en.wikipedia.org/wiki/projectile_motion
dramencement 中,您会找到这样的2个等式:
x = vo * t * cos(theta(
y = vo * t * sin(theta(-0.5 * g * pow(t,2(
因此,在Update函数中,不要将对象直接移动到目标,而是沿弹丸运动进行临时目标,您可以使用上述两个方程进行计算。然后,您可以使用

Vector3.MoveTowards(curPosition,new Vector3(x,y,0),step);

考虑到z值为0。

最新更新