はじめに
猫でも分かる UE4を使ったゲーム開発はUnreal Engineの入門チュートリアルとして2020年に配信された動画のシリーズ(8回)です
【初心者】「猫でも分かる UE4を使ったゲーム開発」を再視聴してみた【前編】
動画では配信当時の最新版であるUE4が使われていますが、ここでは現在の最新版であるUE5EAでなぞっていきます
以下の構成で動作確認をしています
| ソフトウェア | バージョン |
|---|---|
| MacOS | 12.0.1 |
| UnrealEditor | 5.0.0 |
※ MacBook Pro (13-inch, M1, 2020)
内容まとめ・紹介
5から8までの内容をざっくりまとめていきます
#5 Animation ブループリントの使い方を学ぼう!
ここから2回に分けて、アニメーション関連の話になります
個人的にこのアニメーション関連の話が全然頭に入ってきませんでした
キャラクターのアニメーションを作り込むところまで手を伸ばしていないため、関心が薄いというのが大きいのかもしれません・・・
IKの話に軽く触れてから、Animation Blueprintの説明がはじまります
イベントグラフでは、コンポーネントの状態を参照しつつ、アニメーション用に数値を加工して変数で保持するという作業をしているようです
アニメーショングラフでは、各アニメーションのつながりを設定します
ブレンドの作り方で、各アニメーションのつながり具合を調整する方法が紹介されています
質問応答では少し中級?くらいのテクにも触ってくれているところは見どころかもしれません
この回は実際の作業はあまりなく、次回のキャラクタを差し替える作業のための事前知識といった感じです
とはいえ、この回を見ておかないと次回が置いてきぼりになるので、見逃せない回となっています
アニメーションをしっかり作り込むと、ゲームのクオリティがかなり上がると思うので、ここはしっかりと覚えたい回です
#6 自作・購入したキャラクタを動かしてみよう!
イベントなどのアナウンスがあったのちに、本題が始まります
Third Person テンプレートなどで、Blueprintやアセット配置などを触った後、いざアニメーションを触ろうとすると、かなりハテナ?な状態になりますが、なぜそうなるのかが説明されています
これは、前回の動画でも説明されているモデル・ボーンなどの関連づけ方法なのですが、動画で実際の手順を見た方がわかりやすいのは間違い無いです
モデルやスケルトンなど、いろいろな単語が錯綜しますが、練習するときはUEエディタのラベル色で見分けることができます
| 名称 | ラベル色 |
|---|---|
| モデル・メッシュ | ピンク |
| スケルトン | 水色 |
| アニメーション | 緑色 |
まずはモデルとボーンを関連づける方法が紹介されています
これには2つの方法があり、インポートする際に設定する方法と既に関連づけられているスケルトンを差し替える方法が紹介されています
面白いのは手順通りではうまくいかないときが紹介されていることです
おそらく、こっちのケースの方がほとんどで、こうなると初心者はほぼ諦めるのでは?というときのケースです
こういうところまで、紹介されているので、理解できないまでも予備知識として見ておくと良い動画のシリーズだと思います
モーションをスケルトンに合わせる方法からを行うことで、上記の問題に取り組むことができます
こちらもインポート時に行う方法と、スケルトンの階層が異なる場合の差し替え方法である、リターゲットも紹介されています
アニメーションが関連づけられているスケルトンを変更する方法は簡単そうですが、最後に紹介されています
これは、UEエディタにこれを自動で行う機能が紹介されていないためです
簡単に紹介すると、
- 関連スケルトンを変更したいアニメーションを選択
- アセットアクションでエクスポートを選択
- エクスポートしたFBXファイルをインポート
- インポート時に関連付けするスケルトンを選択する
と、少し手間のかかる方法で行うことができます
これに関しては、動画で紹介されている[UE4] Animation Sequenceをアセット複製せずに直接リターゲットする方法についての方法があります
モデルを作ったり、探すのはそれだけで大変なので、まずはモーションをスケルトンに合わせる方法を使って、グレーマンを使ってアニメーション部分を差し替えたり追加するだけでも練習になると思います
質問応答では、「できるけれどやらない方がいいよ」といったことがいろいろ紹介されています
この辺りは、一度小さいプロジェクトなりを完成させた後に、再度見ると理解が深まりそうです
#7 UMGを使ってスコアなどのUIを画面に表示してみよう!
ニュースなどもろもろのアナウンスの後、はじまります
この動画では以下の流れで進んでいます
1から3までは動画通りの手順で作業するだけと、非常に簡単です
作業内容もほぼ、ドラッグ&ドロップです
この辺は、動画内でも言っていますが、こだわり出したらキリがない作業、つまりこだわらなければあっという間に終わらせることができる作業になります
その辺りのこだわりのさわりとも言える、画面サイズに合わせてレイアウトする方法が軽く解説されています
これも、対応機種を絞るといったやり方でも回避可能だと思うので、仕様やこだわりで変わってくるところではないでしょうか
この回のキモとも言える部分は”スコアを表示してみる”です
Blueprintを使って、キャラクターの当たり判定から、ウィジェットのテキストに反映させていく方法が紹介されています
動画ではコインを取ったらスコアが1upする流れを紹介していますが、これでグッとゲーム感が増します
カウントアップの演出なんかもこだわり部分ではないでしょうか
#8 タイトルからゲームメインへのレベル遷移を作ってみよう!
もろもろのアナウンスの後にこの動画で目指すものの説明がはじまります
まずは[タイトル画面となるレベルの作成[(https://youtu.be/7ianEtjiWVI?t=825)です
タイトル画面と言っても特別なことはなく、新しいレベルにUMGなどで文字を配置するなどで作っていきます
黒字に文字だけならば、空のレベルにUMGのテキストを配置、何かしら動画を流すなら、アセットを配置したレベルをシーケンスなどでアニメーションを追加するといった方法なので、自身のスキルアップに応じてどんどん演出を漏れる部分です
続いて、レベル遷移のBlueprintの組み方になります
ここで Open Levelのノードが紹介されていますが、UE5EAの段階では同名のノードが二種類になっています
上図のOpen Level(by Name)が動画で紹介されているノードと同等のものです
Open Level(by Object Reference)は名前ではなく、実際のオブジェクトをリストから指定できるノードです
なお、ここで同名レベルによるトラブルが実際に起きている様子を見ることができます
動画ではリファレンスパスを指定する解決方法が紹介されています
この解決方法と同等のことは、UE5EAにあるOpen Level(by Object Reference)を使用することで行えます
こちらはリストから選べる上に、名前の重複によるトラブルも防ぐことができるので、より便利になっています
レベル遷移は、アセットの管理やメモリの節約などで有効な方法ですが、その際に破棄されたレベル上のデータも全て失われるという副作用もあります
その解決方法としてGame Instanceの使い方が紹介されています
ゲームの進行状況(スコアや操作キャラのステータスなど)は、この方法で管理することで、ゲーム中どこからでも参照できるようになります
メモリ管理上で重要なテクニックと思われる、パーシスタントレベルとサブレベルの解説もあります
アセット配置とライティングなどを分業する場合に有効になる方法です
強大なマップを作る際にも使うようですが、こちらはUE5で追加されるWorld Partitionを利用することで大幅に手間が減りそうです
さいごは質問応答です
レベルを管理する際に気をつけた方が良いことなどが紹介されています
さいごに
改めてみると、UEで何かを作ろうとした時に必要となりそうな要素がしっかりと盛り込まれている動画でした
初めて試聴したときは、エディタの使い方やBlueprintの基本を覚えるのでいっぱいいっぱいだったので、あまり細かいところが聞こえていなかったようです
UE5EAでコンテンツを作成する際も、おおむねそのまま使える内容なので、初心者の方は一度じっくり見ることをお勧めします
あらためて、これだけのボリュームの動画を公開してくださっている関係者の皆様に感謝です
