【初心者】「猫でも分かる UE4を使ったゲーム開発」を再視聴してみた【前編】

#はじめに

「猫でも分かる UE4を使ったゲーム開発」はUnreal Engineの入門チュートリアルとして2020年に配信された動画のシリーズです
本当に初心者向けに構成された内容で、”UEエディタをダウンロードしたけれど、何から始めればいいんだろう？”と困っていた私にとって、とっかかりを作ってくれたありがたい動画シリーズ（8回）でした
動画では配信当時の最新版であるUE4が使われていますが、この記事では現在の最新版であるUE5EAでなぞっていきます

以下の構成で動作確認をしています

| ソフトウェア | バージョン | 
|:-------------|------------:|
| MacOS        | 12.0.1      | 
| UnrealEditor | 5.0.0       | 

※ MacBook Pro (13-inch, M1, 2020) 

# 内容まとめ・紹介

1から4までの内容をざっくりまとめていきます

## [#1](https://youtu.be/ztv4OPc_o6g?t=498) まずはプロジェクトを作ってUE4エディタを触ってみよう！

実際にゲームを作るための操作や手順などは出てこないため、前半はほとんど見ているだけになりますが、マーケットプレイスの利用方法や、各種テンプレートの紹介などUnrealEditorの起動までが解説されているので基礎知識として面白い内容になっています
特に[ダウンロード用キャッシュフォルダ](https://youtu.be/ztv4OPc_o6g?t=1644)に関する説明は、ストレージが小さいノートパソコンなどをメインに使っている人には必須の設定かと思います

[後半](https://youtu.be/ztv4OPc_o6g?t=1996)からエディタの設定や基本操作などが解説されています
[オブジェクトの移動](https://youtu.be/ztv4OPc_o6g?t=2365)は多用する機能ですが、慣れるまでは思ったように動かせません
この辺りは手癖になるくらい使い続けるしかないですね
便利なショートカットもいろいろあるようですが、ありすぎて一気に紹介されていません
結構多用されそうなキーボードの[End（`fn` + →）を押すことでフロアにスナップする](https://youtu.be/ztv4OPc_o6g?t=3259)ことができるショートカットもかなり後の方で出てきたりしています
[コンテンツブラウザ](https://youtu.be/ztv4OPc_o6g?t=3565)や[モードタブ](https://youtu.be/ztv4OPc_o6g?t=3751)も基礎知識として必見です
ここで、[モードの切り替え](https://youtu.be/ztv4OPc_o6g?t=4009)が紹介されていますが、この画面がUE5でまたデザインが変わったようです
![スクリーンショット 2021-12-12 10.56.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601616/b2cd26c1-6a19-7d5d-6292-f969a2e8b010.png)
上図の赤枠の部分がUE5のモード切り替えボタンです

また、ブラシ編集でボックスの形状を変更していますが、UR5ではモードタブから引っ張ってきたアクタはポイント編集ができなくなっているようです
[[UE4] 任意の形状のボリュームを作る](https://historia.co.jp/archives/4213/)を参考に、自作したボリュームで試すことができます

[最後の30分ほど](https://youtu.be/ztv4OPc_o6g?t=4411)は質問解答コーナーになっています
[レベルのサムネイル](https://www.unrealengine.com/ja/blog/unrealquest-01-archives)などはこだわる人には嬉しい機能です

## [#2](https://youtu.be/JrQh1lVrEjM?t=532) Blueprintをさわってみよう
軽く他の動画などのアナウンスがあった後に[本題](https://youtu.be/JrQh1lVrEjM?t=764)が始まります
いよいよ、ゲーム作りのキモとも言えるBlueprintの話です
この機能のおかげで、コードを書かなくてもプログラミングができる優れものです
![スクリーンショット 2021-12-12 12.33.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601616/4623382d-e859-ca8a-a1a4-fed99b51a29e.png)
私はUEに触れこの動画を見るまで、この手のノードをつなげる系プログラミングは”小学校のなんちゃってプログラミング”だと思っていたので、本当に衝撃でした
非常に簡単にプログラミングができるBluprintですが、その考え方や組み立て方は自体は従来のプログラミングとなんら変わらないので、適当に触っているうちに、プログラミングに必要なロジック構築の思考力などが身に付く・・・のだと思います
さて、動画ではノードをつなげるところからと思いきや、コンポーネントの説明からはじまり、いきなり[アタッチ系の話](https://youtu.be/JrQh1lVrEjM?t=1646)になってりしています
続いて、[キャラクターの差し替え](https://youtu.be/JrQh1lVrEjM?t=2310)などにも触れていますが、私はここでエディターが落ちまくりました
スタティックメッシュを変更しようと、ドロップダウンリストを開くと、高確率でフリーズしたりクラッシュしました
回避方法は、OSの日本語入力をオフにして、USなどの言語に切り替えることです

![スクリーンショット 2021-12-12 12.48.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601616/1179315c-b772-cdf9-01d4-95d21a086de5.png)
こうすることで、とりあえずフリーズやクラッシュはしなくなります

実際の処理、つまり[アルゴリズムに関する話](https://youtu.be/JrQh1lVrEjM?t=3302)は後半になっています
このくだりを習得することで、キャラクターの動きや、ダメージ判定などゲームに関する仕組みを構築できるようになっていきます
[ノード内の線を出したり入れたりする部分（ピン）の色](https://youtu.be/JrQh1lVrEjM?t=3514)に関して、ここでは説明をしていませんが、これはいわゆる型というやつです
型ごとに色分けされていて、同じ色と形の印しか繋げられないようになっていますが、こうすることによってエラーが起こらないようにする仕組み・・・と言った感じでしょうか

コンポーネントやイベントグラフの説明が終わった後に、[簡単なサンプルゲーム](https://youtu.be/JrQh1lVrEjM?t=4525)を作っています
ゲームとしては非常に簡単ですが、これをベースにして応用や追加をしていくだけで、プチゲームを作り込めるレベルまでいけそうです

ゲームのキモとなる床板の回転ですが、これ一つとっても、[実装の仕方が色々](https://youtu.be/JrQh1lVrEjM?t=5157)あるのが面白いです
発展系として、[移動する床](https://youtu.be/JrQh1lVrEjM?t=6274)も紹介されていますが、これがチャットコメントからの流れというのはライブ配信ならではで面白いですね
そして、これも[コンポーネントを使った方法](https://youtu.be/JrQh1lVrEjM?t=7140)など、いろいろな実装方法があるようです
ただ、コンポーネントによる実装などはお手軽な反面、膨大な量のコンポーネントを覚える必要もあるので、基本はイベントグラフで組み立てていく方が応用力がつきそうに思えます

[最後の30分ほど](https://youtu.be/JrQh1lVrEjM?t=7610)は質問解答コーナーになっています
イベントグラフでの[コメント](https://youtu.be/JrQh1lVrEjM?t=7984)ショートカットキー(C key)や、[整頓の仕方](https://youtu.be/JrQh1lVrEjM?t=9077)(Q key)など、開発でのちょっとした小技を覚えるといろいろとはかどりそうです

## [#3](https://youtu.be/Wd8Akctzhbc?t=126) コリジョンを使ってコインを拾ってみよう！
そもそもコリジョンってなんなの？というところから[説明が始まって](https://youtu.be/Wd8Akctzhbc?t=533)います
格ゲーやシューティングなんかをやったことがある人なら”当たり判定”という言葉でピンとくるアレです
[コリジョンの判定は3種類](https://youtu.be/Wd8Akctzhbc?t=2200)用意されていて、これらをうまく組み合わせることでアクションの表現ができます
チャットコメントへの答えなどでは、[コリジョン判定の考え方](https://youtu.be/Wd8Akctzhbc?t=2576)なども紹介されています
この回で一番大事なのが[コリジョンのフィルター](https://youtu.be/Wd8Akctzhbc?t=2861)かもしれません
この部分をしっかり把握していないと、思わぬすり抜け現象や、ぶつかっているはずなのに判定が起きない・・・など、設定忘れなどの凡ミスではまってしまいかねない部分です

一通り、機能や考え方の説明が終わった後に、[実際にミニゲーム](https://youtu.be/Wd8Akctzhbc?t=3687)を作っていきます
コイン（っぽい）オブジェクトを配置して、コリジョンの設定などをした後に、[当たり判定時の処理](https://youtu.be/Wd8Akctzhbc?t=3989)をイベントグラフに書いていきます
動画ではコインの取得という処理でしたが、これをダメージ処理などにすれば、イタい壁や毒の沼なんかを表現できそうです
また、[範囲内にいるのかの判定](https://youtu.be/Wd8Akctzhbc?t=4312)を使えば、いろいろな仕掛けが実装できそうです（そこに誰か立っている時だけ開く扉・・・とか）

最後は恒例の[質問対応](https://youtu.be/Wd8Akctzhbc?t=4626)になっています

## [#4](https://youtu.be/ZRTejGxI76E?t=194) Spawn ノードを使って色んなものを出してみよう！

3回目の動画で作成したコインのサンプルに、効果音などを加えて、リッチにしていこうという回です
動画の手順通りに進めていくことで、かなりゲームっぽくなっていきます
しかも、効果音の差し替えなどは簡単なので、少し変更を加えるだけでオリジナル感が出てくるので、かなり達成感が味わえる回になっています

流石に、音源自体を自前で用意するとなるとハードルがかなり上がってしまうので、動画では[アセットを使う方法](https://youtu.be/ZRTejGxI76E?t=799)が紹介されています
動画内で引用されているサンプルはマーケットプレイスで無料ダウンロードができます
[機能別サンプル](https://www.unrealengine.com/marketplace/ja/product/content-examples)を取得後、プロジェクトを作成することで、見ることができます
かなり大きなプロジェクトなので、最初の立ち上がりには数分以上かかる場合があるので、お茶でも飲みながら待つと良いです

まずは[効果音の発生](https://youtu.be/ZRTejGxI76E?t=1251)です
スポーンというと、キャラの出現をイメージしますが、ゲーム制作的には音などの発生もひっくるめてスポーンというようです
さらに[視覚効果をつける](https://youtu.be/ZRTejGxI76E?t=1490)ことで、グッとゲームらしさが増します
この辺りまで来ると、音源探しやエフェクト探しなど、素材周りにどんどん時間が吸われていく沼にハマるかもしれません（笑）

ここまでで効果音やエフェクトの発生に関する基本はほぼ説明されています
ここから先は応用編といった感じで、[弾の発生](https://youtu.be/ZRTejGxI76E?t=2117)を軸に話が進んでいきます
使われているテクニックは、ほぼ効果音やエフェクトの発生で説明されていたものになります
ただ、実際にそれっぽく出現させようとすると、いろいろな小技というか調整が必要になってきます
例えば、出現時の向きがおかしいとか、出現位置次第で親コンポーネントにめり込んでしまうとか・・・
そうした細かい調整や”らしさ”の演出を、実際のトライアンドエラーを見ながら疑似体験できる内容です

[質問応答](https://youtu.be/ZRTejGxI76E?t=4371)では、より凝った演出に話が広がっていきます
即興実演なので、ところどころ詰まったり手戻りがあったりしますが、うまくいかない時の原因絞り込みのやり方を見ることができるので、これはこれで勉強になります
そんな感じなので、初見では手を動かしながら見ていると頭がこんがらがったりします
一時停止や巻き戻しなどを多用してじっくり見ることをおすすめします

# さいごに

動画の総時間が15時間ほどと、かなりのボリュームです
一気に見るよりは何回かに分けて、実際にエディタを動かしながらやるのがおすすめです

この動画シリーズを一通り見終われば、[アンリアルクエスト](https://www.unrealengine.com/ja/events/how-to-join-unrealquest2)の初級はあっさりクリアできるぐらいのUE使いになっていると思います

さて、一回の投稿でまとめ切ろうと思ったいたのですが・・・動画のまとめって難しいです

つづきは後半で・・・なるはやで