初心者がUE4を触ってみて

https://qiita.com/advent-calendar/2018/ue4_zwei
アドカレ8日目の記事になります。
アドカレは初投稿となります。

#はじめに
最近仕事でUE4を触る機会が増え、ついに本格的に使う時が来たので思い切って勉強を始めました。
そのまだ勉強の途中ですが感じた事などを書けたらなと思います。
この記事を読んで少しでもUE4に興味を持っていただけたら幸いです。
他の方が素晴らしい記事を上げている中あまり参考にならない記事で申し訳ありません・・・・

#1.大体のことがブループリントでできる
まず触ってみて思ったのがブループリントというビジュアルスクリプトで大体のことができてしまいます。
キャラクターの移動、当たり判定などもブループリントでできてしまいます。
![Enemy.gif](https://qiita-image-store.s3.amazonaws.com/0/252878/1355b0fe-efe9-bbe8-7aa6-658b4aa45e08.gif)
こちらはUdemyの井上大輔様の講座で作成しているものですがここまでC++のコードの記述は0です。
ブループリントでここまでできてしまうのは正直驚きました。
松明で使っている炎のエフェクトもUE4で作成しました。思った以上に簡単にできてしまったので色々と応用が利きそうです。
![MoveBP.png](https://qiita-image-store.s3.amazonaws.com/0/252878/cf8e2052-656a-e154-01ab-511b31f23699.png)
上記はプレイヤーキャラクターの移動のブループリントですがたったこれだけでキャラの移動はできてしまいます。
ボタンの割り当ては別途ゲームのプロジェクトの設定で行っています。
#2.マテリアルの設定もノードベースでできる
ここらへんも結構びっくりしました。
例えばラフネスの設定もノードベースでできます。
・ラフネス値が0の場合
![laugh0.png](https://qiita-image-store.s3.amazonaws.com/0/252878/24d707f0-ffc2-aa0d-2b90-0f776d56beb7.png)

ラフネスが1の場合
![laugh1.png](https://qiita-image-store.s3.amazonaws.com/0/252878/40849597-a455-6cb0-86a6-90886dab9304.png)
こんな感じで数値を調整したり各項目にノードをつないだりして設定ができます。
また、基本となるマテリアルを作成しておいてそこからマテリアルインスタンスを生成するで派生みたいなものも作成できます。
プログラムでいう親クラス、子クラスみたいな感じですね。
#3.モデルのアニメーション
モデルのアニメーションもノードベースで設定できます。ここらはUnityと一緒ですね。
![Animation.png](https://qiita-image-store.s3.amazonaws.com/0/252878/754bf588-bc49-8dd0-9db2-9364a92307fb.png)
こんな感じです。まだ自分も勉強の最中なのですがさらにブループリントで処理をすることもできます。
![Animation2.png](https://qiita-image-store.s3.amazonaws.com/0/252878/000373c0-3ca8-cf4d-bc55-806a018116ea.png)
こんな感じです。アニメーションもアニメーション自体をUE4で編集できたりと結構細かく設定できるみたいですので時間がありましたらその辺もやってみたいなと思っています。

#4.コリジョンについて
コリジョンもメッシュの編成から設定できたりしちゃいます。
![colligion.png](https://qiita-image-store.s3.amazonaws.com/0/252878/c4616101-d93d-ddad-0eb7-3420ab9e8460.png)
メニューのコリジョンからコリジョンの追加もできますしそれを編集もできます。
さらに当たった際の挙動も編集できます。
![コリジョン設定.png](https://qiita-image-store.s3.amazonaws.com/0/252878/3829bf8a-c582-16e8-4c3f-24ddf4050b53.png)
こんな感じでコリジョンの挙動も設定できます。設定は静的なオブジェクトに対してはどういう風にするか、動的なオブジェクトに対してはどうするかなど細かく設定できます。
プリセットである程度設定が用意されていますし、自分で新しいプリセットを作ることもできます。
新しいプリセットはプロジェクト設定→エンジン項目内のコリジョンから作成できます。

#5.その他
私もまだ勉強中なので大したことは書けないですが、他にもポイントライトやスポットライトなど種類があり、オブジェクトみたいに配置できます。値の設定などもプロパティみたいな感じでできます。
エフェクトもパーティクルなどを使えばUE4上でできますし、4.20からはNaiagaraというVFXツールを使って作成できたりもします。
Naiagaraもちゃんと勉強したいですね。
また、商業用のゲーム制作時にはプランナーさんがブループリントで処理を組んでブループリントでできないことをプログラマーさんがC++で実装します。そのためプログラマーさんの負担が減ったり、メモリ管理など他のことに集中できるメリットもあります。
インディーズゲームならブループリントだけでも十分という声も聞いたりしています。
後は、転職時にエージェントさんから聞いたのですが今UE4の需要は国内でも結構高まっているらしく、それに対して使える人が少ないみたいです。なのである程度触れるようになって、自分で作成したものを公開したりすれば転職時に有利になるのかなとも思いました。
私も実際に転職時にUE4の勉強しているのは評価されて内定もらえたりしました。もちろん制作途中のものは見せたりしました。
後、UE4の会社のEpic Games様が面白いことをするみたいです。
[Epic Gamesストアに関するお知らせ](https://www.unrealengine.com/ja/blog/announcing-the-epic-games-store)

#最後に
この記事を読んで少しでもUE4に興味を持っていただけたらと思います。
プログラムが書けないけどゲームを作ってみたいと思っている方は是非触ってみてください。
他の方が素晴らしい記事を上げてくださっている中このような記事で本当に申し訳ありません・・・
将来的にはUE4でシェーダーとかやりたいと思っているのですが調べ方が悪いのか情報が・・・・・
最後に今回のアドベントカレンダーの参加へ背中を押してくださったおかず様、ありがとうございました。

**参考にしたり自分が勉強に使っているもの**
[井上大輔様の素晴らしい講座](https://www.udemy.com/share/1001YoAksYcl1TR3g=/)
↑実際にゲームを作りながらUE4について学べます。
[UE4C++の講座](https://www.udemy.com/share/1000hGAksYcl1TR3g=/)
↑貴重なUE4のC++の講座です。英語ですが一応自動翻訳もあるのでなんとかいけると思います。
[Unreal Engine 4で極めるゲーム開発:サンプルデータと動画で学ぶUE4ゲーム制作プロジェクト ](http://amzn.asia/d/0qbaBfr)
↑定番の本だと思います。
[Create game with Unreal C++](https://techbookfest.org/event/tbf04/circle/12870004)
↑UE4でC++を使ってシューティングゲームを作る本です。最初はこれでUE4のC++に慣れるのもありかなと思います。
ただ、もう本でも入手は厳しいみたいです・・・・・