Xcode 真实感跳跃算法
我想让我的角色根据跳转按钮按下的距离跳转。我试着在按下跳转按钮时增加精灵的y位置,但这并不能给跳转带来真实的感觉。我的增量太恒定了。如何使y的增量在到达跳跃的顶部时减小 我会使用正弦函数来计算给定时间的高度。为了给人一种“真实”的感觉,它的形状大致与您想要的形状相同,并且在各种语言库中都可以作为库函数使用 不过,如果玩家从悬崖上跳下来,这就不起作用了,因为正弦函数一旦下降到起始标高以下,就会开始转向另一个方向 所以,要么你使用一种混合的方法,你在那一点上改变,要么你使用更现实的物理方法,也就是向下加速从球员离开地面的那一刻开始。在后一种情况下,你必须弄清楚按下按钮会发生什么Xcode 真实感跳跃算法,xcode,physics,Xcode,Physics,我想让我的角色根据跳转按钮按下的距离跳转。我试着在按下跳转按钮时增加精灵的y位置,但这并不能给跳转带来真实的感觉。我的增量太恒定了。如何使y的增量在到达跳跃的顶部时减小 我会使用正弦函数来计算给定时间的高度。为了给人一种“真实”的感觉,它的形状大致与您想要的形状相同,并且在各种语言库中都可以作为库函数使用 不过,如果玩家从悬崖上跳下来,这就不起作用了,因为正弦函数一旦下降到起始标高以下,就会开始转向另一个方向 所以,要么你使用一种混合的方法,你在那一点上改变,要么你使用更现实的物理方法,也就是向
对于可玩性,使用正弦,然后在玩家返回原始高度的时间点,加速度停止,速度保持不变,这实际上可能是有利的。我认为有几种方法可以实现这一点:
想象一下,跳跃按钮为玩家角色的“跳跃能量”充电(在现实世界中,你可以弯曲膝盖跳得更高,有效地为跳跃注入更多能量) 特定高度的能量由公式
E=mgh
确定,其中m
是物体移动的质量,g
是重力常数,h
是达到的高度。
请注意,获得某一跳跃所需的“发射”速度是由该速度下的动能决定的:E=mv²/2
,结果是h=v²/(2g)
因此,我建议尝试二次跳跃(有界,你不希望人们跳到不可能的高度)或跳跃高度随时间线性增长。根据按下跳跃按钮的时间量,跳跃不同的时间量是不现实的。在现实生活中,所有的向上加速度都发生在脚接触地面的时候,之后,重力会持续向下加速。他说他想要一种真实的感觉,这在游戏中与真实的感觉是完全不同的。