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

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

【UE4・UE5】FakeDepthを作ってみる。

FakeDepthを作成してみます!( ゚∀゚)o彡

今回はだいぶ前に作成していた、

FakeDepthを作成したりしてみようかなと思います。

◎参考資料

UE5 l Fake Depth Material using Interior Cube and Bump offset l Tutorial l Unreal Engine 5 - YouTube

※UE5.4.3で検証しています。
※だいぶ基本的なことを噛み砕いて行きます。
※シーケンスや2Dの動きを作る部分は別途紹介していきます。

FakeDepthとは何ですか?

FakeDepthとはざっくり説明すると、

1枚の平面で奥行きがあるように見せる方法みたいな形でしょうか。

今回はBumpOffsetのマテリアル関数(視差マップ)や、

InteriorCubemapを活用した表現を紹介します。

・目次に戻る

Materialでの表現

では実際に作成していきましょう~まずはMaterialを作成します。

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

コンテンツブラウザからマテリアルを追加

実際にマテリアルの処理を作成していきます。

まずは奥行き用のマテリアルを作成します。

マテリアルの処理として下記2点になります。

※BumpOffsetの細かい説明は公式にまとまっています。

Bump Offset の使用方法 | Unreal Engine 4.27 ドキュメント

1.奥行き情報を設定したBumpOffset関数
2.奥行き情報を乗せて表示するためのアイコン表示の設定

奥行き用のマテリアル作成

今回の注意点として表示するTextureSampleの、

「SamplerSource」の部分を「Shared:Clamp」に変更してください。

こうすることで一つだけ表示されるようになります。

Shared:Clampに変更

実際にここまでのマテリアルを配置しました。

※今回は下記リンクの平面モデルを活用して配置しています。

奥行き表示まで

今のままだと奥にアイコンが表示されているようにしか見えないので、

より立体感を出すために側面の表現を追加します。

側面の壁を作成するためにInteriorCubemapを活用します。

Tilingの値で分割数を決めています。

今回は1つの分割でOKなので分割数を1に設定します。

InteriorCubemapの設定

次に縦・横側面のマテリアル式を作成していきます。

Component Maskを使用して縦(R/G)や横(R/B)の情報を抽出して、

ABSで整数化して反転することで上下・左右のUV情報を作成しています。

最後に縦横のマテリアルを加算で結合している形になります。

※今回はこのように設定していますがもっと複雑にすれば色々できると思います。

側面側の表示をマテリアルで表現

続いて上記の状態だと奥の面に不要な表現が出てしまうので、

先ほどのInteriorCubemapを活用して奥の面の情報だけ、

黒になる状態のマテリアル式を乗算して奥の面を消します。

不要な奥面を乗算で削除

これで側面の処理の作成は完了です。

先ほどの奥面と側面の処理を加算して今回の処理は完了になります。

側面と奥面の処理を加算

それでは実際に処理したものを配置してみます。

画像だとわかりづらいですが奥行きがあるように見えるかなと思います。

実際に配置した場合の表示

実際に動かしているものをツイートさせていただきました。

動画のほうがイメージ伝わるかなと思います。

今回紹介する内容は以上になります。

・目次に戻る

最後に

以上で簡単なFackDepthの設定は以上になります。

今回紹介した方法以外にカメラで投影したテクスチャを、

使用して作る方法もあるのでどこかで紹介出来たらと思います。

・目次に戻る