遠距離にあるDecalが見えない場合の対処方法

目的

UEFNでDecalを使った際に遠くにいる場合は画面上に表示されなくなってしまう点への対処方法をシェアします。

確認Ver

UEFN 29.10

Decal とは?

DecalはMaterialとTextureを使って定義したスタンプのようなものをレベル上に表示させる機能です。
UEFNではDecal ActorとDecal Deviceの2種類を利用できます。

対処方法

対応方法としては2つあります。

  1. Decal Actorに置き換え、「フェード画面サイズ」を変更する
  2. Decal Deviceに用意されているDecal Componentの「フェード画面サイズ」を変更する

後述しますが、目的によっては1のDecal Actorを利用する方法がおすすめです。

1, Decal Actor 設定箇所

2, Decal Device 設定箇所

設定イメージ(共通)

値が小さければ小さいど遠くまで見え、大きければ大きいほどDecalに近づかなければ表示されなくなります。
例えば0.5と設定すると0距離まで近づかなければ全く見えなくなりますし、0.01と設定すれば遠くまで離れても見える状態になります。なお、0.0と設定するとどれだけ離れても表示され続けますが、常に描画されてしまうため、乱用はご注意ください。

具体的な値別の見え方

以下の動画では設定している値別にDecalの見え方がどう変わるのかテストしています。
画面上部:Decal Actor
画面下部:Device Decal

なぜDecal Actorがオススメなのか?

現状のDecal Deviceは1度画面上で表示させて(近づいて)からでなければ、フェード画面サイズの効果が得られないようです。
そのため、画面に一度表示されるまでの最初の1回目についてはDecalに一度近づく必要がありました。

前述の動画はゲーム開始当初、画面下部にあるDecal Deviceは離れた位置から近づくことで設定された数値に関わらず一律で表示されてしまっている様を確認できるかと思います。
期待する挙動としては画面上部のDecal Actorと同じ挙動ではありますが、Decal Deviceの仕様かと思われます。

また、蛇足ですが動画では共通のMaterial( M_SprayDecal_Master )を利用しているため、この挙動はDecal Deviceの内部的な仕様である可能性があるかもしれません。

何か追加でわかった際などは追記するかもしれません。以上です。

1 Like