20241013 - Screen Shake


What

观看 Masahiro Sakurai on Creating Games 的视频,学习屏幕抖动!

内容

让屏幕抖动可以用于传递“有重要的事情发生了”的信息,所以 [[樱井政博]] 建议如果有合适的机会就尽管使用!

他从 [[Kirby’s Adventure]] 开始就经常使用屏幕抖动,并且觉得其非常重要。因为屏幕抖动会让东西看不清楚,所以也要避免抖动太过度。

有两种屏幕抖动的主要方式:

  • 抖动摄像机(更常用)

    • 让摄像机在三维世界中运动
      • 远端物体可能受影响较小
      • 需要考虑如何移动中心点
        • 可以让其和摄像机抖动保持一致
        • 甚至可以以更大幅度进行抖动
        • 如果摄像机中心点太远会导致抖动很不明显
  • 抖动渲染后的画面

    • 整体抖动(包括 UI)
      • 有可能会暴露出一些“黑边”

[[Super Smash Bros.]] 中使用了很多不同的屏幕抖动模式和技术:

  • Large - L - 大
  • Medium - M - 中等
  • Small - S - 小
  • Extra-small - XS - 超小

这不仅只是相同抖动的不同版本,也用了不同的抖动模式:

  • 小抖动 - 只有上下抖动

  • 中抖动 - 上下+水平抖动

  • 大抖动 - 比中抖动更加剧烈

  • 持续抖动 - 垂直方向的抖动有助于传达地面抖动的信息

    • 这类的抖动不建议在任一轴向的抖动幅度太大

然后下面是一些不同的实现技术:

  • 基于摄像机距离改变抖动大小(否则如果距离过近的情况下会感觉震动过大)
    • 距离同时也会影响视野(fov field of view)所以需要让所有情况下看起来都舒服

  • 但有一些特殊 stage 会固定 fov 这会使得平时的抖动幅度过大,所以也做了针对性的调整
  • 抖动最开始很强烈,然后逐渐减弱
    • 并且并不是很完美的螺旋线,而是带有一些随机使其看着更舒服

  • 过去,樱井有时候会通过转鼠标的方式来模拟摄像机抖动然后再基于此来设计屏幕的抖动方式(笑死 ( ̄▽ ̄)/)

如果游戏中没有屏幕抖动,可能会感觉非常“乏味(bland)”,即使只是很小的抖动也可以让人感觉很不一样。屏幕抖动是非常常用的技术,也非常有效!

3D 场景中可能没那么容易找到让人舒服的抖动方式,但如果你找到了会让游戏舒服很多!所以樱井觉得绝对值得投入!


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