“震屏”作为一种游戏中的表现手段,被用来表达震撼的效果(例如用在技能的表现上)。
由于这类效果往往可以使用很小的开销达到不错的效果,所以在游戏中出现率较高。下面我将介绍一种在3D游戏中简单的震屏实现方法。
首先,之所以称之为“震屏”,是因为并不是真正的场景本身晃动,而是玩家所见的屏幕(摄像机)产生了震动。而摄像机所观察的方向(CamDir)作为一个三维的向量,改变CamDir即可产生屏幕晃动的效果,于是CamDir + dirOffset就是我们实现震屏效果的核心。
游戏中玩家主动旋转视角改变的主要内容也是CamDir,那么震屏与其不同之处在哪里呢?主要有以下两点:
1.相机不是随意旋转的,而是以玩家当前观察的视向为基准进行改变的。
2.相机在"震屏"效果结束后,需要保证初始的CamDir是不变的。