20230521 - Jump Physics


What

观看 Masahiro Sakurai on Creating Games 的视频,学习跳跃的物理机制!

视频链接

内容

D 03 - Jump Physics

跳跃动画

  • 跳跃动画
    • 是一个很简单的动画,但其实其中有诸多需要考虑的地方
  • 跳跃动画是如何在程序中被设计的
    • 通常而言会设计一个降落速度
    • 最开始有一个向上的初始速度
    • 每向上一帧,就会施加一个向下的速度
      • 如果地面是平的,那么角色就会在达到和初始上升速度相同的速度时落地
    • 且速度施加通常只针对垂直方向,水平方向保持和原始状态一致/稍微减小一些

初始上升和落地速度都是5

  • 需要明确的一点是,游戏中的跳跃动画可以根据游戏需要来改变

例子

  • Super Mario Bros.
    • 上升的时候速度比较慢
      • 即下降加速度施加的时间比较朝后
      • 但在到达最高点之后突然增大下降加速度,因此马里奥下降得比起上升得要快很多

  • Metroid
    • Samus 的上升速度甚至更慢
    • 其下降得也很慢,从而营造一种她在浮空的感觉
    • 且密特罗德中的射击高度是很重要的,所以跳跃的设计需要 1


  • Ghosts’ n Goblins
    • 跳跃高度相对很低
    • 并且一旦跳起后落点已经确定
    • 这里的跳跃限制更强
      • 但相对的也有更坚实的 “game essence”的感觉
      • 因为你必须仔细考虑每一次跳跃

  • Street Fighter
    • Zangief’s Spinning Pile Driver 攻击
    • Street Figher II Turbo 之后加快了其上升后的速度
      • 这使得同样的攻击有了更强的“打击感”

  • Super Smash Bros.
    • 在起跳之前会有一个 windup
      • 以前对于每一个斗士而言这个动作都是不一样的
      • 但如今每个斗士的这个动作都被统一了
      • 如果我们将其完全去除,玩家可能在要释放 up smash 之前就先跳起了
        • 所以需要将其以某种形式保留下来
    • 樱井每次在制作新的大乱斗系列的时候都在想到底需不需要跳跃
      • 答案总是确定的
      • 但其实每一作中的物理都有些许变化

  • Smash Bros. Ultimate
    • 这是 Kirby Super Star 之后的首部作品,在其中运用了一种新的跳跃设计
      • 在每次跳跃的开始部分就给其一个很大的向上速度
      • 几帧之后迅速增大向下的加速度
      • 一旦跳跃到了特定高度,向下加速度就回到正常
      • 如此一来,即使玩家反应慢了一点也能及时触发跳跃
        • 这引入了更多的参数,更复杂的物理,以及潜在的更多的 bug
        • 但这也意味着一个漂亮的跳跃表现以及一些相应的好处
        • 但樱井猜玩家们并没有注意到这一点,这只是

小结

  • 即使是一个简单的跳跃也有很多门道
  • 仔细思考,可能你根本不知道最终能想出来什么!

Author:
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source !
  TOC