Material Blend モード

Material Blend モードの一覧およびそれらがマテリアルのレンダリングに与える影響

Choose your operating system:

Windows

macOS

Linux

BlendModeProperties.png

Blend モードは、現在のマテリアルの出力と既に描画されている背景のブレンドを表現します。技術的に言うと、このマテリアルが別のピクセルの前でレンダリングされる時、エンジンがマテリアル (Source color) と既にフレームバッファ (Destination color) にあるカラーを結合する方法の制御を可能にします。

デモ用に、カメラと 2 つのオブジェクトがある簡単なシーンを設定しました。最初のオブジェクトを用いて、Blend モードを変更するにつれて背景にどのような影響が及んでいるかを見ていきます。

CameraObjectSetup.png

Opaque

Opaque Blend モードは最も単純です。おそらくユーザーにとって一番使用頻度の高いモードです。通過または貫通しないライトで表面を定義します。プラスチック、メタル、石、より大きなその他の表面タイプに最適です。

CameraObjectSetup.png

CamerasView.png

シーンの設定

カメラのビュー

Masked

Masked Blend モードは、バイナリ (オン/オフ) 形式で、選択的に可視性を制御する必要のあるオブジェクトに使用します。例えば、金網のフェンスや格子をシミュレートするマテリアルを考えてみましょう。不可視な領域とソリッド (空ではない) 領域がそれぞれあります。このようなマテリアルに Masked Blend モードの使用が最適です。

MaskedGridMaterial.png

透明性とレンダリング処理をしないことの違いは、留意しなくてはいけない重要な点です。ガラスのような透明な表面は、反射 (スペキュラリティ) する形でライトと作用します。Masked モードでカリングされたピクセルは 描画しない ので、この領域に反射を見ることはできません。反射もしくはスペキュラの外観を維持したい場合、Translucent Blend モードを使用するか、レイヤーマテリアルを作成します。

さらに、これらの機能はマスクされている領域ではレンダリングしないので計算の必要が全くなく、GPU でのパフォーマンスを節約することができます。

MaskedSetup.png

MaskedGridCameraView.png

シーンの設定

カメラのビュー

Masked Blend モードを使用時は、Opacity Mask Clip Value プロパティに特別な注意をはらわなくてはいけません。このプロパティは、カットオフ ポイントとして使用されるオパシティマスク テクスチャの値を制御する 0-1 のスカラー値を保持します。この値を超えると darker ピクセルとなりレンダリングされません。

OpacityMaskMaterial.png

Opacity Mask Clip Value (スライダーをドラッグしてプレビューする)

マテリアル ネットワーク

前述の例で、マテリアルの Two Sided プロパティは True (チェックあり) に設定されています。ボックスの中が見える理由はこの設定にあります。

ここで表示する相互作用の例にもかかわらず、Opacity Mask Clip Value プロパティはランタイム時に変更できる設計にはなっていません。

Translucent

Translucent Blend モードは、何らかの形で透過処理が必要なオブジェクトに使用します。

TranslucentNetwork.png

Blend モードはオパシティ値またはテクスチャを受け取り、黒い領域が完全に透過している表面、白い領域が完全に不透明な表面、その間のさまざまな影のグラデーションが対応する透明レベルの結果へ適用することにより機能します。つまり、グレーのオパシティテクスチャは、背景の一部のみを透過した処理がされているように見えるオブジェクトを持つことができます。

TranslucentSetup.png

TranslucentCamera.png

シーンの設定

カメラのビュー

透過処理のされたマテリアルを使用する場合は、現時点ではスペキュラリティ (鏡面反射性) がサポートされていないことを考慮することが重要です。つまり、表面上で反射を見ることはできません。以下とのようなネットワークで キューブマップ を使用すると、このような反射に見せかけることができます。

加算

Additive Blend モードは、マテリアルのピクセルを背景のピクセルへ追加します。この機能は、Photoshop の Linear Dodge (Add) ブレンドモードと非常に似ています。つまり、ピクセル全ての値は一緒に 混ぜ合わされて、黒は透明でレンダリングされるので暗い部分がありません。Blend モードは、火、スチーム、ホログラムなどの特殊効果に実用的です。

AdditiveNetwork.png

Translucent Blend モード同様に、Blend モードはスペキュラリティ (例えば反射) を考慮しません。ユーザーはブレンドの付加的な性質をおそらく使用しないと思いますが、上記の Translucen セクションで紹介したキューブマップの手法で反射のような効果をシミュレーションすることが可能です。

AdditiveSetup.png

AdditiveCamera.png

シーンの設定

カメラのビュー

Modulate

Modulate Blend モードは、マテリアルの値を背景のピクセルに対して乗算します。この機能は Photoshop の Multiply ブレンドモードと非常に似ています。

ModulateNetwork.png

上のグラフでは、マテリアルはシェーディング モデルが Unlit でブレンドモードが_Modulate_ に設定されています。

ModulateScene.png

ModulateCamera.png

シーンの設定

カメラのビュー

Modulate ブレンドモードは、一部のパーティクル エフェクトで最適なものです。しかし、ライティングや透過分離をサポートしていないため注意を払わなければなりません。

モード

説明

BLEND_Opaque

最終カラーはソースカラーになります。つまり、マテリアルは背景の上に描画されるということです。ブレンドモードは光源処理と互換性があります。

BLEND_Masked

OpacityMask > OpacityMaskClipValue の場合、最終カラーはソースカラーになります。そうでなければ、ピクセルは破棄されます。ブレンドモードは光源処理と互換性があります。

BLEND_Translucent

最終カラーは「ソースカラー * オパシティ + Dest カラー * (1-オパシティ)」となります。このブレンドモードは、動的な光源処理と互換性が ありません

BLEND_Additive

最終カラーは「ソースカラー + Dest カラー」となります。このブレンドモードは、動的な光源処理と互換性が ありません

BLEND_Modulate

最終カラーは「ソースカラー + Dest カラー」となります。デカール マテリアルでない限り、このブレンドモードは動的な光源処理とは互換性が ありません

タグ
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる