Deffered Decal についてエミッシブと同時にオパシティも出力される

お世話になっております。
当社で開発中であるタイトルにおいて、DefferedDecalのマテリアルに原因の分からない現象が起きています。

Material Domain を DefferedDecal に、Blendmode を Translucent に、DecalBlendMode を Translucent に設定した状態で、テクスチャのカラー情報をエミッシブに出力すると、半透明の上にテクスチャのカラー情報が出力されます。デカールの公式ドキュメントを読んだうえでは、半透明はオパシティに出力した時に透過するものと認識していますが、こちらの対処をお教え願えますでしょうか。

スクリーンショットを添付しましたので、ご覧ください。

323382-

323383-

お世話になっております。

※こちら、Switchセクションに記載しておりますが、Switchで起こる問題ではなくエディタ上という解釈でよろしかったでしょうか?でしたら、セクションを移動しても良いでしょうか?(良ければスタッフが場所を変更いたします。)

こちらでためしたところ、正しくOpacityに値をがいった際望ましい挙動になっているようです。
多分なのですが、問題となっているマテリアルで、青部分をオパシティに接続すると、こちらが上げた画像の様な絵がでてくるのではないでしょうか??Decalはその特性上、この天球のような無限遠に描画されるものに重ねて描画されません。赤色を接続すると、赤の部分は画面の上方の方なので、それで見えない様に見えてしまっているのかもしれません。

一度ご確認頂けますと幸いです。

お世話になっております。

ご返信ありがとうございます。
教えていただいた方法を試したところ、やはりうまく出力されていませんでした。
※添付の画像をご参照ください。

しかし、開発中のタイトルで使っているUE4ではなく、Epic Gamea Launcher からテストで立ち上げたUE4のプロジェクト(バージョンは4.19.2)では、確かに教えていただいた通りの結果が出ました。

開発中のタイトルのUE4環境は、バージョン4.19.2で、フォワードレンダリングを使っています。
何かわかることがありましたら、引き続きお教え願いたいと思います。

よろしくお願い致します。

※開発中のタイトルはSwitch向けタイトルであり、現象としてはエディタ上でもSwitch上でも見られる状態です。必要であればセクションを移動していただいてかまいません。


追記となりますが、やりたいこととしてはOpacityで限定した領域に黒色と白色の別の画像を表示したいと思っています。現状の開発中のUE4のデカールマテリアルはOpacityに関係なく(そもそもOpacityが入力を受け付けていない感じがします)、Emissiveに黒色を入れると抜けてしまうようになっています。

上記のEpic Games Launcher でのテストはディファードレンダリングでした。
Epic Games Launcher でのテストをフォワードレンダリングに切り替えてみたところ、問題のマテリアルと同様に抜けてしまう現象が見られました。

テストから察するにフォワードレンダリングの状態ではデカールは貼りつかないということで認識は間違いないでしょうか。また別の手段があるのでしょうか。

また、サンプルの添付も致したいですが、どういったものが必要でしょうか。

よろしくお願いいたします。

お世話になっております。

ご返信ありがとうございます。
教えていただいた方法を試したところ、やはりうまく出力されていませんでした。
※添付の画像をご参照ください。

しかし、開発中のタイトルで使っているUE4ではなく、Epic Gamea Launcher からテストで立ち上げたUE4のプロジェクト(バージョンは4.19.2)では、確かに教えていただいた通りの結果が出ました。

開発中のタイトルのUE4環境は、バージョン4.19.2で、フォワードレンダリングを使っています。
何かわかることがありましたら、引き続きお教え願いたいと思います。

よろしくお願い致します。

※開発中のタイトルはSwitch向けタイトルであり、現象としてはエディタ上でもSwitch上でも見られる状態です。必要であればセクションを移動していただいてかまいません。


追記となりますが、やりたいこととしてはOpacityで限定した領域に黒色と白色の別の画像を表示したいと思っています。現状の開発中のUE4のデカールマテリアルはOpacityに関係なく(そもそもOpacityが入力を受け付けていない感じがします)、Emissiveに黒色を入れると抜けてしまうようになっています。

上記のEpic Games Launcher でのテストはディファードレンダリングでした。
Epic Games Launcher でのテストをフォワードレンダリングに切り替えてみたところ、問題のマテリアルと同様に抜けてしまう現象が見られました。

テストから察するにフォワードレンダリングの状態ではデカールは貼りつかないということで認識は間違いないでしょうか。また別の手段があるのでしょうか。

また、サンプルの添付も致したいですが、どういったものが必要でしょうか。

よろしくお願いいたします。

なるほどです。フォワードレンダリングをお使いの場合、DecalはD-Buffer Decalのみの対応となります。これはフォワードレンダリングがG-Bufferを持たないための制約であり仕様となります。Decal Blend ModeをD-Bufferを用いたものに変更していただけますと正しく作用するかと思われます。

249988-2018-07-19-12h20-43.png

ありがとうございます。

DBufferの設定で、マスクをうまく出力することはできるようになりました。ただ、エミッシブの出力がDBufferの各設定でも無いようなのですが、これも仕様となりますでしょうか。

よろしくお願いいたします。

はい。これはD-Bufferが三枚のテクスチャとして定義しているための仕様となります。

Emissive様に4枚目のテクスチャを用意すれば実現可能ではございますが、現状エンジンでの採用の予定はなく、恐縮ですがエンジンを拡張する必要がございます。

了解いたしました。

現状でのデカールの仕様が分かりましたので、
必要であれば、エンジン拡張などやっていきたいと思います。

まことにありがとうございます。

しかし、開発中のタイトルで使っているUE4ではなく、Epic Gamea Launcher からテストで立ち上げたUE4のプロジェクト(バージョンは4.19.2)では、確かに教えていただいた通りの結果が出ました。開発中のタイトルのUE4環境は、バージョン4.19.2で、フォワードレンダリングを使っています。 何かわかることがありましたら、引き続きお教え願いたいと思います。

こちらですが、Epic Games LauncherでのテストでもForward Renderingを使用しているということでしょうか?それともLauncher側でのテストではDeferred Renderingをお使いでしょうか?

また、もしもよろしければ、問題を正確に把握するために、ご提示頂いているサンプルを頂くことは可能でしょうか?

ご検討頂けますと幸いです。