18.カメラシェイク
カメラシェイクとは、カメラ=画面が小刻みにぶるっと震える演出のことです。ダメージを与えた、受けた、壁に激しくぶつかったなど視点が揺れるときの演出として使います。今回はダメージを与えた時に画面が揺れるようにしてみましょう。かなり臨場感が増しました!
CameraShakeクラスの実装
新しくCameraShakeクラスを作成し、MainCameraにアタッチします。
ShakeTimeの値が正の間カメラが揺れ続け、Update内でShakeTimeの値を減らしています。負の値になると揺れが止まります。
PlayerShootingクラスのShootメソッド内で、ダメージを与えるタイミングでShakeTimeに揺らしたい秒数を入れることでカメラシェイクを実行しています。
public class CameraShake : MonoBehaviour {
public float ShakeTime { get; set; }
private void Start()
{
ShakeTime = 0.0f;
}
private void Update()
{
if (ShakeTime > 0.0f)
{
ShakeTime -= Time.deltaTime;
ShakeCamera();
}
else if(ShakeTime <= 0.0f)
{
ShakeTime = 0.0f;
}
}
public void ShakeCamera()
{
//カメラの揺らし幅
float x = Random.Range(-0.1f, 0.1f);
float y = Random.Range(-0.1f, 0.1f);
//カメラを揺らす
transform.position += new Vector3(x, y, 0);
}
}
次回はコチラ(執筆中)
前回はコチラ
Unity公式チュートリアルSurvival Shooter WITH PK Chapter.17.5「リファクタリング」
「Unity公式チュートリアルSurvival Shooter WITH PK Chapter.18「カメラシェイク」」への2件のフィードバック