【UE4】背景歪み(リフラクション)で色々試してみる
UE4による、背景歪みについて、ちょっと色々試したくなったので
エフェクトで背景を歪ませる場合
リフラクションに接続します
とりあえずで背景を歪ませる場合、確認のためにまずは定数ノードを繋いだところ
1では歪みませんが、0では歪むようです
この画像は、リフレクションに定数ノードで0を繋いだ結果
背景が歪んでるのは歪んでますが、定数ノードを直接繋いでいるので
当然この様な結果になります
これはマテリアルエディタ上ですが
0で歪みます、歪みというとRとGでX、Y軸を其々だったりしますが
リフラクションのRチャンネルのみ影響する模様、つまり1チャンネルなので
グレースケールを接続することになりそうです。
で、肝心の歪みの調整としては1で歪まない、0で歪むという特徴を考えると...
歪ませたい形のグレースケールを「oneMinus」で繋ぐのが解りやすい手段かなとお
このノード、SSでは名前分かりにくいのでやや注意が必要?
Oがショートカットキーなので、それで出しましょう
ノードの効果としては、1を引いてくれるノードで
0~1の数値であれば色の反転と考えてもらえばOKです
数値が高い場合は「Clamp」で0~1の数値に調整してから使いましょう
で、この歪ませたい形のグレースケールはどうするのか?
解りやすい例かなと思うのとしては
オパシティに使っているのテクスチャをそのまま流用すれば良いのでは?と
オパシティ用にテクスチャ別途用意していない場合
オパシティに接続しているのを、そのまま「OneMinus」に繋いでリフラクションにするのも有りだと思いますが
そのままの場合、歪みが解りにくいと思うので(赤の部分は僅かに歪んでますが解りにくいです)
なので、オパシティに繋いでいるのを流用する場合「Power」で累乗すると
歪みの強度が強くなります(これは解りやすく数値を高めてます)
オパシティのを流用する場合「particleColor」でαを調整する場合が多いと思うので
定数を設定するだけで、歪みもフェードアウトを勝手にしてくれるので非常にお手軽
リフラクションを接続すると、ちゃっかり白くなるノーマルの方も少しだけ。
ノーマルマップには、専用のテクスチャいれるのが基本ですが
好奇心で定数ノードを入れてみました
0を入れると、歪みがなくなるようですが、0.1などを入れると、普通に歪んでますので、あまり実用性は無さそうです。
とりあえずは、リフラクション0で、歪み用のテクスチャを適用してみた結果
ノーマルマップのRとGチャンネルで歪ませている感じに(Bチャンネルは定数ノードの1を使っています)
また、この歪みBチャンネルの数値が増えると歪みの模様が薄くなる模様です
ただし、RとGチャンネルを減らしても、歪みの模様が薄くなります
この画像は歪みのリフラクションを、オパシティから流用したのに差し替えて
歪みの強度を上げた例ですが
当然ながら背景のみ歪み、重なっている部分は歪みが解らないです
なので、この部分が気になる場合は
マテリアル自体を歪ませると、自然になりやすいかなと
歪み部分に、模様をつけるだけであれば、ノイズテクスチャをそのままリフラクションに繋げばOKですが
ノーマルマップの場合はRとGチャンネルの情報で歪ませる軸を変えるワケですので
この辺を意識したい場合にノーマルマップを使うと良いのかもしれません
こちらは、ノーマルマップでRに100を入れた結果
上にも同じのをコピーしたような描画になります。
これをうまく使えば、画面が左右に分割されるような演出も...
この辺はBPでするべきなきがしなくもないですが
自分はBP殆ど解りませんので、その辺はご勘弁を。