ゲームでよくある、主人公が衝撃を受けた時や敵からダメージをくらった時に画面がガクガクって揺れる演出って結構よくあると思うのですが、最近仕事で画面をガクガクっと揺らす処理を実装したので、今後使えるようにメモとして残しておきたいと思います。
【Unity】画面やオブジェクトをガクガクっと揺らす処理を実装する方法
画面を揺らす処理は自前で実装することもできると思いますが、
簡単でより自然な動きを実現するには、Assets Storeで無料ダウンロードできる「LeanTween」を使うと簡単です。
「LeanTween」導入後、以下のような処理を書けば簡単に画面ガクガクが実装できるかと思います。
(以下の例では、オブジェクトを揺らすようにしてますが、対象をカメラにすれば、画面揺らしもできると思います。)
private IEnumerator Action() { //obj_Aが揺らす対象 LeanTween.moveLocal(obj_A, new Vector3(obj_A.transform.localPosition.x+1, obj_A.transform.localPosition.y + 1, 0f), 0.25f).setEase(LeanTweenType.easeShake); yield return new WaitForSeconds(0.25f); LeanTween.moveLocal(obj_A, new Vector3(obj_A.transform.localPosition.x + 1, obj_A.transform.localPosition.y + 1, 0f), 0.25f).setEase(LeanTweenType.easeShake); yield return new WaitForSeconds(0.25f); LeanTween.moveLocal(obj_A, new Vector3(obj_A.transform.localPosition.x + 1, obj_A.transform.localPosition.y + 1, 0f), 0.25f).setEase(LeanTweenType.easeShake); yield return new WaitForSeconds(0.25f); LeanTween.moveLocal(obj_A, new Vector3(obj_A.transform.localPosition.x + 1, obj_A.transform.localPosition.y + 1, 0f), 0.25f).setEase(LeanTweenType.easeShake); yield return new WaitForSeconds(0.25f); } private void Do(){ StartCoroutine(Action());//処理の呼び出し }
お知らせ
ミステリー脱出ゲーム「呪いの密室」を最近リリースしました!
もしよろしければダウンロードお願い致します!