気になる！UE5の新機能

## はじめに
おはようございます。こっそり日付を変えた大戦犯お兄さんです。
何はともあれ今日は12月3日ですね！誕生日です。祝ってください。ありがとうございます。
おめでとうと思ったそこのあなた、何かください。迷ったら年末ジャンボで大丈夫です。
## UnrealEngine５について
Unreal Engine 5(以下UE5)はUnrealEngine4に続いて発表されたゲームエンジンの一つです。
現在は早期アクセスビルドとなっており、2022年初頭に正式版がリリースされる予定との記載がありました。
正式な日程こそ決まっていないもののとても楽しみですね。
## UE5新機能について
さて、本題に入ろうと思います。
この記事ではあくまでも私が注目している部分にのみ触れていこうと思います。
もっと知りたい！という方はぜひ[公式サイト](https://www.unrealengine.com/ja/unreal-engine-5)を見てください。
今回記事にする新機能は
1. Lumen
2. Nanite
3. MetaSound
の三点です。
### Lumen
まず初めはLumenというライティングの計算をリアルタイムで行うことのできるシステムについてです。
UE5の紹介動画であったゲームでもライトをベイクせず、リアルタイムで太陽光にあたるライトを反射させて洞窟内に光を広げているとのことでした。
↓動画の5:48辺りで洞窟内に光がリアルタイムで反映されている様子を見ることが出来ます。

<iframe width="560" height="315" src="https://www.youtube.com/embed/qC5KtatMcUw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br></br>
現在のUE4で使用されているRaytracingとUE5でのLumenの比較映像がこちらです。
<iframe width="560" height="315" src="https://www.youtube.com/embed/MKN6e4H_D3Q?start=125" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
ライティングというと明るい部分に目が行きがちですが、個人的にこの動画の最も注目してほしい部分は影になっている箇所です。
リアルタイムで計算をしていることでカメラが移動するごとに影の色、形状が細かく変わっていることが分かります。
これにより今までよりも影の多い森林、住宅街などでの背景がより一層輝くのではないのでしょうか。

### Nanite
二つ目はNaniteという自動LOD・高性能レンダリングシステムについてです。
おもな機能の概要として3Dモデルを高速かつ効率的にLODを使用して描画することが出来ます。
LOD(Level Of Detail)とは同オブジェクトでもカメラとの距離に応じてポリゴン数の違ったモデルを使用し、描画負荷を軽減する、といったものです。
Naniteはオンオフのたった一つだけで表示される画面に応じて3Dモデルのポリゴン数を調節してくれます。カメラから遠い場合は粗く、近づくと細かくします。これにより付加を抑えたままでのレンダリングが可能になります。
このシステムにより、実質無制限にポリゴンを描画出来るようになりました。数億ポリゴンを使用したシーンでもかくつく事なく滑らかに描画できるとのこと。この機能はPS5などで問題なく動作確認がされているとのことです。
↓10:20付近より
<iframe width="560" height="315" src="https://www.youtube.com/embed/d1ZnM7CH-v4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br></br>
### MetaSound
最後は、MetaSoundについてです。
MetaSoundsではマテリアルのようにノードベースでオーディオの処理を組むことが出来るといった機能です。
SoundCueからの大きな追加点としてはシンセサイザーの基本機能が揃っているという点です。
これによりUE5内部でSoundWaveの加工ができるだけでなく、波形からあ音を作ることが出来るようになりました。
現在はプラグインとして公開されており、Audio/MetaSoundのEnableにチェックを入れることで使用することが出来るようになります。
ノードエディタにはOnPlay、OnFinisedがあり再生の停止のタイミングなどを処理できるようになっています。
なお、この内部の処理はゲームのフレームではなくオーディオのサンプル単位で処理されるようです。使用の際には注意しましょう。
![2021-05-30_17h24_44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549844/db5826d1-b7be-d95a-59ce-449c81b0a848.png)

OutputノードにはAudioピンが追加されており、この部分に入ったものが再生されます。ただこれはモノラル再生用となっており、フォーマットをステレオに変更することでLeftAudio,RightAudioの二つに分割されるようになります。

ノードの一例として、NoizeノードやMixerノードなどがあります。
![スクリーンショット 2021-12-02 114811.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549844/0febf590-8e37-6756-9fac-51b90022490f.png)
Noiseノードでみたとおり、シードとノイズのタイプを設定することでノイズ音声を生成することが出来ます。
![スクリーンショット 2021-12-02 114937.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549844/405638d0-96ff-c718-f823-b27b687bc465.png)

そしてこちらのStereoMixerノードではそのままミキサー機能が使えるなど、幅広いノードに対応していました。
未だ私も勉強中の為これ以上は記述できませんが、ディレイ、エンベローブ、サイン波等出来る事はとても多くありました。

## まとめ
上記三つが大きく注目した新機能でした。
正直MetaSoundに関してはいまだ参考資料等も少なく実験しつつになってしまったため内容が薄くなっております。自覚はあります。
ですがこの機能があるおかげでより一層画面に深みが出来るのではないでしょうか。音はゲーム、映像作品に関しても欠かせない要素の一つであると私は考えています。より使いやすくなり、より多くの機能を内包したUE5が来年初頭にリリースされます(予定)。皆さんこれを機会にUE4、UE5に触れてみませんか？