おーみんだよ。

おーみんだよ。

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

【Unity】RPGのターン制バトルシーンを作ってみる!

f:id:bookreadkun:20190422115122p:plain

 

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

※この記事は2019年4月21日に書いて、2019年4月25日(本日)に予約投稿をしている記事になります。

 

 

RPGのターン制バトルを作る!

 

 

 

 

 

参考にしたターン制バトル

 

イメージ的にはファイナルファンタジー(FF)7と9に似せたいな~と思っています。

 

画面のUIやコマンド選択するとプレイヤーの構えが変わる部分はFF9に。

youtu.be

 

 

魔法を唱えるカメラワークやエフェクト等はFF7に。

youtu.be

 

ターン制バトルの作り方

ターン制バトルの作り方に関する技術的な部分に関しては別の記事で詳しく書いたり、Githubに後々公開しようと思いますので、ここでは簡単に書こうと思います。

 

まずATBゲージはUI > Image > Image Type → Filled にて作っています。

ゲージの増え方はスクリプトで増やしていき、1になるとコマンドが出現するようにプログラムを書いています。

 

「たたかう」「魔法」を選択すると、主人公が攻撃しますが、この時はTimelineを用いています。スクリプトの最初に「using UnityEngine.Playables」を設定するとTimelineも再生したいときにスクリプトから実行することが出来るのです(これだけだとあまりイメージが湧かないと思いますので後々別記事にて細かく書いていこうと思います...)。

 

「魔法」を選択した際にカメラが動いていますが、これはCinemachineを用いています。Cinemachineの動かし方はTimelineで調整しています。

 

assetstore.unity.com

複数のターン制バトルを作るのは結構大変だと思う

今回は1vs1のターン制バトルとなっていますが、複数のキャラを動かすとなるとまた難易度は大きく上がるでしょうね...。

 

以下の記事のようにswitch文等で、攻撃の順番等が決まってるなら簡単ではありますが...。

www.oooooomindayo.com

 

今回の記事で紹介したTimelineやcinemachineについては既に関連記事を書いていますので気になる方はぜひ参考にしてみてください!

 

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

 

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