アルゴンUE4/UE5&アプリ開発日記

UE4/UE5の機能やプラグインを紹介します。初心者や中級者向けになってます!!

【UE4】ポストプロセスを使ってみる(その2)

ポストプロセスマテリアルを作ってみる。

今回はポストプロセスマテリアルの簡単なものを作りたいと思います。

マテリアルの部分も少し説明できたら嬉しいです。

下記の動画を参考にしてました。

www.youtube.com

それではポストプロセスのマテリアルの適応やマテリアルの紹介などを行っていこうと思います。

ポストプロセス用のマテリアルを作る。

今回はポストプロセス用のマテリアルを作って動かしていきます。

まずマテリアルのファイルを使いする必要があるので新規で追加します。

コンテンツブラウザを右クリックして追加します。

f:id:yoshikata1990:20190425211411p:plain

マテリアル追加

追加したらマテリアルドメインをPostProcessに変更します。

先ほど作成したマテリアルファイルを開いてすでに追加されている

マテリアルノードを選択して、詳細から「MaterialDomain」を変更します。

最初はSurfaceになっているのでPostProcessにします。

f:id:yoshikata1990:20190425214207p:plain

マテリアルドメインをPostProcessを変更

今回はマテリアルのパラメータをBPから変更できる、

マテリアルパラメータコレクションも使っていきます。

マテリアルを追加する容量で、詳細なアセットからマテリアル・テクスチャの「マテリアルパラメータコレクション」を追加します。

f:id:yoshikata1990:20190425215223p:plain

マテリアルパラメータコレクション

今回設定したマテリアルパラメータコレクションは、

このような形で設定しています。

下の画像のあとにこのマテリアルパラメータコレクションをどう使うのか説明していきます。

f:id:yoshikata1990:20190425220036p:plain

マテリアルパラメータコレクションの設定

上記のマテリアルパラメータコレクションと組み合わせたポストプロセスマテリアルがこちらになります。

今回やっていることは単純で、

1.キャラクターの位置をBPから取得してマスクを使いFloat3に変換する。

2.円の半径をBPのTimelineで動かした数値を取得する。

3.上記2つの情報を元に球状に明るくしていくマスクを追加

f:id:yoshikata1990:20190425220326p:plain

PostProcessのマテリアルノー

マテリアルの設定が完了したら動作させるため、

キャラクターのBPの設定をしていきます。

マテリアルパラメータコレクションのPositionというパラメータに、

キャラクターの位置情報を渡しています。

f:id:yoshikata1990:20190425223019p:plain

BPの設定

こちらも合わせて設定しています。

タイムラインでマテリアルパラメータコレクションの半径の値を設定してます。

f:id:yoshikata1990:20190425223233p:plain

明るさの半径をタイムラインの値で渡す。

実際のマテリアルを動かすとこんな感じになります。

ポストプロセスマテリアルに当てはめて動作させる。

あとはPostProcessVolumeのマテリアルにセットして完了になります。

f:id:yoshikata1990:20190425224142p:plain

ポストプロセスボリュームの設定

最後に・・・・

ポストプロセスマテリアルはマテリアルを作るためのノードの知識

視覚効果の数学も知っておくといろいろなものが作れて楽しいです(・∀・)

下のものは今回やったことの応用になっています。

ぜひいろんなことを覚えて自分のゲームに合う効果を作ってみてください!

【UE4】ポストプロセスを使ってみる(その1)

PostProcessで演出をよりきれいにする。

今回はポストプロセスの説明やマテリアルなどを紹介していきます。

スライドシェアで公開しているポストプロセスの紹介が、

とても分かりやすいので見て勉強するのがいいかなと思います!

公式サイトにもポストプロセスエフェクトの紹介が細かく書いてあるので、

こちらも確認してみるといいと思います!

api.unrealengine.com

ポストプロセスってなに?

ポストプロセスと言うのはレンダリングされた状態を元に行われる、

画像処理のことを指します。

UE4では様々なポストプロセスが用意されていて、

ポストプロセスを使ってよりリアリティのある表現にしたり、

表現をよりリアリティにしたりできます。

※説明に誤りがあったらコメントお願いします!

簡単なポストプロセスの紹介

ここからはそれぞれどのようなポストプロセスの設定が用意されているか、

機能別サンプルのポストプロセスサンプルを用いて説明していきます。

※ここで紹介しているのは一部です。

f:id:yoshikata1990:20190330151608p:plain

Film(フィルム)

まずはフィルム(Film)から。

これは画面の色合いの調整などで使われることがあります。

白とびや黒つぶれなどの軽減とかに使ったりしてます。

f:id:yoshikata1990:20190330153730p:plain

Bloom(ブルーム)

こちらはBloom(ブルーム)になります。

発光現象を表現するポストプロセスになります。

ライトなどで自然な明るさなどを表現するときに使ったりします。

f:id:yoshikata1990:20190330155355p:plain

明暗の順応(AutoExposure)

こちらは明暗の順応(AutoExposure)になります。

暗いところから明るいところへの光の取り込みの変化を表したり、

逆に暗いところから明るいところへの光の取り込みを表現します。

f:id:yoshikata1990:20190330162418p:plain

レンズフレア(LensFlares)

こちらはレンズフレア(LensFlares)になります。

カメラレンズの明るさの散乱をシミュレートして表現します。

太陽の日差しとか表現したりしてます。

f:id:yoshikata1990:20190330165313p:plain

モーションブラー(MotionBlur)

モーションブラーをポストプロセスで表現できます。

高速で動いているものに残像が残るような感じで表現されます。

f:id:yoshikata1990:20190330172906p:plain

ScreenPercentage(解像度変更)

スクリーンパーセンテージという設定もあります。

低解像度にしてぼやけさせるという設定になります。

他にも被写体深度とかありますが、それは今後で紹介していきます。

ポストプロセスを設定してみる!

ここからはポストプロセスの設定を設定していきます。

今回は下記のマケプレでやってるのを使っています。

www.unrealengine.com

まずプロジェクトでポストプロセスがONになっているかを確認します。

f:id:yoshikata1990:20190330200452p:plain

プロジェクト設定(レンダリング)

続いてポストプロセスを適応するポストプロセスボリュームを、

レベル上に配置します。

f:id:yoshikata1990:20190330200822p:plain

ポストプロセスボリュームの配置

配置が完了したら詳細でポストプロセスの設定をします。

今回は光ってる感じを出そうと思うのでBloomを使ってみます。

f:id:yoshikata1990:20190330202148p:plain

Bloomの設定

今回はstandardで設定しています。

設定パラメータについては下記です。

Method:StandardとConvolution(畳みこみ)にするかの切り替え

Intensity:ブルームが適応される強さです。光の強弱です。

Threshold:ブルームに影響を与えるカラーの輝度を指定します。

        -1にすると全ての色に適応されます。

もう少し細かい活用法はその2で説明をしていこうと思います!

ポストプロセスをブルームのアリとナシを比較したのは下記になります。

最後に・・・

今回はポストプロセスがどういったもので、

どういったものかを少し説明させていただきました。

レベル的には超初心者レベルだと思うので、

もう少し細かい説明やポストプロセスマテリアルとの組み合わせなどは、

その2で説明していこうと思います。

ありがとうございました!!