本記事はUnreal Engine (UE)のカレンダー | Advent Calendar 2024 – Qiita シリーズ 3の 22日目の記事です。オフセットリムを試しに導入してみました。
やばい・・・今年もAdvent Calendar用ネタを何も用意してない・・
いつもそうだな・・
適当なネタが無いかUnrealFestの講演映像を漁ります・・・
お!
これだ!これをやってみよう!
適当だな・・・
この記事の主な対象者
- Unreal Engineのマテリアルエディターを触っている方
- 今のマテリアル表現に何か追加要素を探している方
- Stylized表現に興味のある方
前回と同じやん
そうだね・・
Spice Frontierのリム
- Depth(深度)パスをずらす
- 差が出た所がリムとなる
- 垂直方向でマスクして下部分は抑えるなど
詳しいノードの説明とかは無かったです。
とりあえずやってみましょう。
深度をズラして差分を抽出してみる
- Overlay Materialにて実装
- Scene Depthを2つ用意し片方のUVをオフセット
- 其々大きすぎる値を割った後Subtract
- Stepで0,1にする
ということで大体再現出来たかな?
ほとんど解説が無い!
まぁまぁ・・
今はオフセットを手動で動かす状態なので、もう少し実用的にしていきましょう
シーンのライト情報を使ってオフセットする
- SkyAtmosphereLightDirectionノードをCamera Spaceに変換しR,Gチャンネルを使用
- 強度調整パラメータを乗算
- 方向を補正する為(1.0,-1.0)を乗算
もうこれで概ね実装完了ですね
最後に垂直方向のマスクを入れてオブジェクトの下部分の強度を抑えておきます。
垂直マスク
今回は時間が無いのでワールドZ0位置からの簡単なグラデーションで。
垂直マスクは他にも色々やり方があるのですが割愛します。
カラー設定
- Atmosphere色とライトの色をかけ合わせるカラー設定
これはベストではないです。適当に色を拾えば良いかなというそれだけの実装です。
完成!
基本的な実装はこんなもんで。
後は色々、状況や用途に応じてカスタムしていくと良いでしょう。
今画面に対して一律なので、カメラと対象との距離に応じて太さを調整する機構は入れたほうが良いかも(時間が無くて間に合わなかった)
ちなみにこの実装は今制作中の「Stylized Postprocess for Unreal Engine v2.0」にも実装する予定です。
そのStylizedなんちゃらって年内にリリースするんじゃなかったっけ?
・・・・・
・・・・ん?
・・・・・おやすみ!
・・・・
コメント