MainCameraを小刻みに動かして、画面全体が揺れているような見せ方をしてみましょう。
クリックするとカメラを左右に揺らし、ダメージを受けたときのような演出をします。
関連記事:
画面全体の色を一瞬変える
ダメージで画面が揺れる演出
揺れをわかりやすくするために、いくつかオブジェクトを配置しました。
空のオブジェクトを作成します。
ScreenShock.csを作成し、GameObject(空のオブジェクト)に追加します。
ScreenShock.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ScreenShock : MonoBehaviour { public GameObject mainCamera; private float moveX; void Start() { moveX = 1; } void Update() { if(Input.GetMouseButtonDown(0)) { StartCoroutine("CameraShake"); } } IEnumerator CameraShake() { for (int i=0; i<50; i++) { mainCamera.transform.Translate(moveX, 0, 0); moveX*= -1; yield return new WaitForSeconds(0.01f); } } } |
MainCameraのフィールドに、MainCameraを入れます。
ゲームプレイしてみましょう。
画面上をクリックすると、MainCameraが小刻みに50回往復し、画面全体が揺れたように見えます。
関連記事:
画面全体の色を一瞬変える