おーみんだよ。

おーみんだよ。

プログラミング、Unityなどのアウトプットを主に行っています。

【Unity】RPG戦闘シーンにおける攻撃のアニメーションの作り方!

f:id:bookreadkun:20190423084847p:plain

おはようございます。おーみん(@Ooooooomin_365)です。

 

RPG戦闘シーンの攻撃のアニメーション

 

今回の記事では以下のツイートに掲載した動画のようなRPG戦闘シーンにおける攻撃のアニメーションを作っていこうと思います。

 

 

見てもらうと分かるかと思いますが、この動画には「プレイヤーによる通常攻撃」「プレイヤーによる魔法攻撃」「敵の攻撃」の3種類があります。

これらは全てTimelineという機能でアニメーションを制作しています。

 

※Timelineが分からない方は以下の記事へどうぞ!

【Unity】CinemachineとTimelineでムービーを作る! - おーみんだよ。

 

このようなアニメーションを作るのは割と大変な気がしますが、実はTimelineを利用すると簡単に作れてしまうのです。

 

早速Timelineの中身を見ていきましょう。

 

プレイヤーによる通常攻撃のアニメーション

f:id:bookreadkun:20190423112528p:plain

 

各項目は以下のようになっています。

 

1番目→プレイヤーのアニメーション設定

2番目→プレイヤーの位置の設定

3番目→エフェクト設定(相手を斬りつけたときに出ているもの)

4番目→敵のアニメーション設定

5番目→ダメージUIの出現

6番目→ダメージUIの動き設定(UI表示の後に少し上にスライドさせるため)

6番目→敵を斬りつけた際に出る効果音

 

プレイヤーによる魔法攻撃のアニメーション

f:id:bookreadkun:20190423112945p:plain

 

各項目は以下のようになっています。

 

1番目→カメラの位置設定(カメラはCinemachineを使用)

2番目→プレイヤーのアニメーション

3番目→魔法攻撃のエフェクト設定(ファイア)

4番目→敵のアニメーション設定

5番目→ダメージUIの出現

6番目→魔法を唱える際のエフェクト

7番目→魔法を唱える際と、ファイアの効果音

 

敵による攻撃のアニメーション

f:id:bookreadkun:20190423113233p:plain

 

各項目は以下のようになっています。

 

1番目→敵のアニメーション設定

2番目→敵の位置の設定

3番目→敵の攻撃のエフェクト設定

4番目→プレイヤーのアニメーション設定

5番目→ダメージUIの出現

6番目→ダメージUIの動き設定(UI表示の後に少し上にスライドさせるため)

7番目→魔法を唱える際と、ファイアの効果音

 

スクリプトからTimelineを動かす

Timelineの設定が終わった後は、スクリプトでTimelineの再生タイミングを設定します。

 

再生の仕方は以下のスクリプトになります。

 

----------

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.Playables;  //タイムライン再生に必須なので忘れずに!

 

public class Practice : MonoBehaviour{

    public PlayableDirector playableDirector;  //タイムライン定義

    

    void Update(){

        playableDirector.Play();  //タイムライン再生

    }

}

----------

 

上のスクリプトはあくまで例としてUpdate関数に書いていますが、ご自身で利用する際は再生したいタイミング箇所に「playableDirector.Play();」を書いてください。

 

最後に

Timelineを利用すると簡単にアニメーションが作成できるので楽しいですよ~。

まだ使ったことのない方はぜひ使ってみてくださいね!

 

※RPGに関する記事は他にも多数書いていますので気になる方はぜひ参考にしてください。

【Unity】CinemachineとTimelineを使ってRPGのムービー的なのを作った! - おーみんだよ。

 

【Unity Particle System】魔法などの「エフェクト」を出す方法。 - おーみんだよ。

 

【Unity22話】フィールドを歩いてたら敵が出るRPGの設定。 - おーみんだよ。

 

【Unity】複数のターン制バトルの大まかなプログラム。 - おーみんだよ。