[制作分享]跳跃的小技巧:贴墙跳
继续延续跳跃的话题,来说说跳跃中的小技巧。
首先看看这两个GIF。
这是一个贴墙跳上平台的实例,乍一看可能看不出区别。但实际手感却有很大的区别。
我们可以拆解一下前后两个GIF的跳跃轨迹可以看到以下的区别:
可以看到,前面一个GIF在起跳后有一个向右后再向左的弧线,后者则直上直下。
说到这里,需要科普一下平台游戏的基础知识。
在平台游戏里,角色的左右移动,除了移动速度外还有两个重要的参数:Acceleration和Deceleration,说白了就是加速度和减速度。
在很多希望体验敏捷快速的游戏中,这两个参数会被调到很大,其结果是一旦玩家按下移动就立刻启动到最大速度,一旦松手就完全静止。
但也有反其道而行的游戏,比如超级马里奥系列。主角马里奥从静止到启动至最大速度会有一个过程,而松手后也会有“惯性”(在某些冰块地表上更明显)
而大部分平台游戏则是介于两者之间,短暂的起速和短暂的骤停。
回到前面的跳跃问题,我为什么要把条约做成弧线而不是直线呢?
因为角色在贴墙跳跃的时候,移动速度是0。没错,即使你怼着墙跑,移动速度也是0。
这就意味着你贴墙跳起到达平台后,左侧有了移动空间后才可以提升移动速度。
所以,直上直下的跳跃方案,其结果是在跳跃到平台区域之前,角色的移动速度一直为0。左侧有空之后才能启动加速,这就导致贴墙跳上平台后无法立刻进入高速的移动,角色会在原地停一下。
而我改善的方案,由于跳起后先向后移动,所以可以在到达最高点之前左侧就有了移动空间。角色就可以提前进入起速,在到达平台上的时候就可以无缝前行了。
另一个原因
再看看左侧完全是墙的情况:
当左侧完全是墙的时候,按照这个技巧也会产生一个后弹弧线。
这同时解决了另一个问题:当角色需要爬墙的时候不会立刻吸附在墙上。
关于爬墙是怎么实现的:
- 角色处于“跳”或“落”的状态
- 角色左侧或右侧贴着墙
- 满足以上条件就进入爬墙状态
根据以上逻辑,如果我们采用直上直下的贴墙跳方案,在跳起的一瞬间角色就会进入爬墙状态,其结果是角色根本没跳起来,而是在地面高度爬了墙,并因为角色还处于地面导致立刻解除爬墙。
感谢分享!
这是一种思路!感谢大佬分享