UE4のアセットに、「Advanced Turn Based Tile Toolkit」というものがあります。
いわゆる六角形(Hex)タイルや、四角形(Square)のタイルを使ったストラテジーゲームが作成できるキットのようです。かなり前(2015年)からあるアセットのようですが、開発は未だに続いており安心感があります。
(※)更新が続いているということは、この記事もいずれ陳腐化する可能性が高いですな…。
お値段は2021年2月時点で、60ドル。6,600円くらいでしょうか。かなり高価なアセットと言えます。
UE4というと、ターン制ストラテジー(TBS: Turn Based Strategy)というよりはRPG、アクション、FPS/TPS、格闘、シューティングに向いているゲームエンジンという印象が強いですが、アセットの力を借りればどこまで行けるかな?と思って記事を作成しました。
公式がYoutubeに解説動画を上げています。
https://www.youtube.com/watch?v=6D4xyGAmSvU&list=PLNiHDaJeqA16CsnxJJDjG9qgubj15jXKF&index=1
なかなか見応えがあります。新しいバージョン向けだけでも20本…。今回はこの動画をメインに解説していきます。
ちなみにこのページは、作者が巡回済みです。恐ろしや…。
お約束 | |
---|---|
この記事作成にあたって使用した(主な)UE4バージョン | 4.26.1 |
このtoolkitのバージョン | v3.0 (live 12.12.20) |
個人的な評価
90点!!! / 100点
TBSをいつか作ろうかなと思っている人 → マストバイではないです。セールしてたら買った方がいい。
TBSを今作ろうと思っている人 → マストバイ (買うんだ!!)。
作り込みは流石の一言。六角・四角に両対応しているのがポイント高いですね。
一方で、6,600円という価格からすると、Epic Market Placeには他にも素晴らしいアセットがたくさんあるので、迷いどころとなります。日本語対応はしていないので、ある程度英語力が求められます。しかも解説がYoutubeなのでGoogle翻訳もできませんし。
(1から自分で作ろうとすると、一部機能だけでも2~3ヶ月はかかると思うので、6,600円の価値をどう見るかになりますね。)
それと大事なことですが、このアセットを買えばあとはモデルさえ用意すればゲームが作れる、そこまでのプラグアンドプレイなアセットでは決してありません!かなり自分で機能を追加していく必要があります!
ただ作者は素晴らしい人です。英語で質問する必要はありますが、非常にタイムリーに解説してくれます。
やれること
- Hex / Squareのグリッド表示 グリッドの数をグリグリと変えられます。
- グリッドの真ん中にアセットをあわせる機能 これだけでも結構作るの大変です。主はここで挫折した前世があります。
- Pathfinding つまり経路検索の機能
- 攻撃可能範囲の表示
- 移動コストの変更 沼を作って、そこの移動コストを上げるなどができます。
- 遮蔽物の設定 ある高さ以上は遮蔽物と認識して、銃弾の軌道を制限できます。この高さとかも自分で設定できます。また、乗り越えられる物の高さも設定可能。この機能が良かったですね。
- ターンの設定 もうちょっとここは機能が欲しかったな
- グリッド表示とランドスケープを分ける この機能があったから買いました。六角形のタイルを並べるだけだと、タイルとタイルの間につなぎ目がどうしても発生します。グリッドとランドスケープを分けて使えるので、このつなぎ目が発生しません。(後述)
ちなみに2Dゲームにも使えます。これはすごいですが、私は2Dゲームは作らないので説明を割愛します。
使い方
すべての機能は多すぎるので、かいつまんで説明します。また、基本的に六角形タイルでの説明になりますが四角形タイルでも基本は同じです。
判明次第、続々追加していく予定です。
ちなみに便宜上、「BP_GridManager_Hex」を「グリッド」と称しています。
グリッドの個数を変える
グリッド(BP_GridManager_Hex)を選択した状態で、「コンフィグ」→「Grid Option」のところで変えれます。すごい簡単。
グリッドの大きさを変える
乗り越えられる高さを変える
まず適当にグリッドに図形を配置して、コリジョンを「Block All」に設定。
次にグリッドを選択した状態で、「コンフィグ」→「Procedural」→「Height Impassible Cutoff」を変更します。デフォルトは100だったと思います。射撃の障壁となる高さを変える
アクターが、必ずグリッドの真ん中にくるように設定
この機能を付与しているのが、「BP_GridAnchor」というブループリントなので、各アクターがこの「BP_GridAnchor」の子になるように設定すればOKです。簡単。
グリッド表示とランドスケープを分ける
これは、特になにか設定をしなくても、コリジョンがBlock Allの物体(ここ重要)をグリッド上に配置すれば、勝手にグリッドが透かし表示になってくれます。すっごい(小並感)。
※ただこの物体/ランドスケープが高すぎると、前述の「乗り越えられる高さ」をオーバーしてしまうので注意。
ただこれだと、物体の外のグリッドにもアクセスができてしまいます。
なのでグリッドを選択した状態で「コンフィグ」→「Grid Option」から「Collision Plane Walkable」をオフにしてあげましょう。これで物体上は歩けるけれど、グリッド上には歩けなくなります。
さらに、グリッドを選択した状態で「show default tile」を検索して、この機能をオフにすると、グリッドが非表示になります。[2021.9.26 追記]
最新バージョンで試したところ、グリッドの「Heightmap」を「False」ではなく、「One level」にしないとうまく動かないようになってました。注意です。
低い土地のあるマップ
高低差のあるマップでは、下の方にあるグリッドが表示されないことがあります。これは前述した、グリッドを選択した状態で出る、「Max Grid Height」とともにある「Min Grid Height」を変更すればいいですね。-1000とかにしておきます。
なおこれを設定しても、この物体同士が離れていると、Pathfinding上そこは「行けない地域」になるみたいなので注意が必要です。
2階があるマップ
こんなときは、グリッドを選択した状態で「Height Map」を「Multilevel」にしてあげましょう。これで2階の下にも行けるようになります。私の用途では使わなさそうですが、一応覚えておこうかな。(地下エリアを作るとかなったときのため)
タイルを斜面に貼り付ける(Ver 4.25のやり方)
コンフィグ→Grid Options→「Use Decals」をオンにすると、この表示がピタッと張り付きます。
とはいえデカール機能を使っているので、階段のところとか、一部はうまく表示できていません。なのでゲーム作成時に調整する必要はありそうですね。
余談ですが、主はこの機能を自作を試みており、その際はUIを使っていたんですね。えらい大変でした(しかも表示がキレイにできなかったのでボツ案入り)。Decalを使うという発想が自分にはなく、このオプションを見たときにはえらい驚きました。その手があったか…!!
こういうの、アセットを購入するといろんなアイデアがあるもんだなあと感心しますよね。
ちなみにUIを使う方法だと、このDecalのように垂直壁のところで表示が崩れないのがメリットですが、処理が重い気がします。
タイルを斜面に貼り付ける(ver 4.26.1以降のやり方)
Config→"Grid Options"の中の、「GridUIClass」の中から「Decals」と書いてあるやつを選べばいいみたいです。私は六角形なので、Hexと書いてあるやつを選びました。
にしても質問したら10分くらいで回答が来たんですけど。スゲー。
きれいにできました!
ただ、Decalだとやっぱり塗られた感があるんですよね。こんな感じで、レベルに置いた障害物まで塗られてしまうので、私の用途的に微妙なんですよねー。ここだけ自作するべっかなぁ…。
移動コストが高い地域を作る
キャラクターの移動・攻撃範囲の設定
Initiativeは行動の優先順位で、数字が大きいほど、優先されます。
こんにちは。Advanced Turn Based Tile Toolkitを持ってはいるが活用していなかったので、記事を参考に活用していきたいです。解説いただき、ありがとうございました。ちなみに最後の障害物にもデカールが貼られてしまう問題、障害物のメッシュのレンダリング設定「Recives Decals」をオフにすることでデカールが映らないと思いますが、いかがでしょうか。
返信削除そうでした!!なるほど…ありがとうございます。記事に反映します!
削除