リアルな人の肌をレンダリングする機能は、最新のビデオゲーム エンジンには欠かせません。Unreal Engine では、このニーズに応えるため、サブサーフェス プロファイル というスキン (皮膚) やワックスなどのサーフェスに特化したシェーディング方法を搭載しました。 サブサーフェス プロファイル シェーディング モデルには サブサーフェス シェーディング モデルと同様のプロパティがありますが、主な違いはレンダリング方法です。 サブサーフェス プロファイルは、スクリーン空間に基づくレンダリング アプローチを使用します。これは、人の肌に適用されている微細なサブサーフェスの効果をより適切に表示できるためです (この場合、背面散乱は耳などの一部のケースのみで見られる二次的効果です)。 次のドキュメントでは、サブサーフェス プロファイルの概要と、作業でのサブサーフェス プロファイルの活用方法について説明します。
マテリアルでサブサーフェス プロファイルを使用できるようにする
サブサーフェス プロファイルを使用するためにマテリアルを有効にするには、次の手順を実行します。
-
コンテンツ ブラウザ で 右クリック して [Create Basic Asset (基本アセットを作成)] リストから [Material (マテリアル)] を選択し、新しいマテリアルを作成します。 作成したら、マテリアルに名前を付けます。この例では、マテリアルに「M_Subsurface_Profile」という名前を付けます。 このステップが完了すると、コンテンツ ブラウザ は次のようになります。
-
コンテンツ ブラウザ で、[Material] を ダブルクリック し、マテリアル エディタで開きます。
-
次に、マテリアルが開いた状態で、マテリアルの [Details (詳細)] パネルで、[Shading Model (シェーディング モデル)] を [Default Lit (デフォルト ライティング)] から [Subsurface Profile (サブサーフェス プロファイル)] に変更します。
-
このとき、[Details] パネルの [Subsurface Profile] セクションにサブサーフェス プロファイルを入力することで、サブサーフェス プロファイル を割り当てることができます。
-
これで、マテリアルをサブサーフェス プロファイルで使用する準備が整いました。
サブサーフェス プロファイルを作成する
サブサーフェス プロファイルの作成は、次の手順で行います。
-
まず、コンテンツ ブラウザ で 右クリック して、[Materials] コンテキスト メニューを開き、[Subsurface Profile] オプションを選択します。
-
サブサーフェス プロファイルが選択され、作成されたら、名前を付けます。 この例では、サブサーフェス プロファイルに「SSP_00」という名前を付けます。 完了すると、次のようになります。
サブサーフェス プロファイルを使用するマテリアルを作成する
マテリアルとサブサーフェス プロファイルを作成できたので、次にマテリアルとサブサーフェス プロファイルにデータを設定します。 次のステップでは、サブサーフェス プロファイルを活用できるマテリアルとマテリアル インスタンスを作成します。
-
まだ開いていない場合は、M_Subsurface_Profile マテリアルをマテリアル エディタで開きます。
- マテリアルを開いた状態で、マテリアル式ノードを配置します。このチュートリアルでは、以下のノードを使用します。
- ベクター パラメータ x 1
- スカラー パラメータ x 2
- これで、マテリアル式パラメータ ノードがグラフに追加されたので、名前を付けて、デフォルト値を設定する必要があります。この例では、ノードに次の名前を付けて、デフォルト値を設定します。
プロパティ名 値 BaseColor R: 1.0 G: 1.0 B: 1.0 ラフネス 0.35 SubsurfaceAmount 0.5 各ノードをメイン マテリアル ノード上の対応する入力に接続します。すべての入力が完了すると、シェーダー グラフは次のようになります。
-
これですべてのワイヤー接続が完了したので、サブサーフェス プロファイルをマテリアルに追加することができます。 これを行うには、まず [Details] パネルの [Material] セクションで [Subsurface Profile] 入力を見つけます。ドロップダウン メニューを使用して、先程作成した SSP_00 アセットを選択するか、コンテンツ ブラウザから入力にこのアセットを直接ドラッグします。
サブサーフェス プロファイルを指定しない場合、デフォルトのサブサーフェス プロファイルが使用されます。使用されているデフォルトのサブサーフェス プロファイルは、白人の肌を再現したものです。
-
このサブサーフェス プロファイルが適用され、マテリアル式がメイン マテリアル ノードにリンクされたので、今度はシェーダーをコンパイルして、このマテリアルからマテリアル インスタンスを作成する準備をします。 マテリアルが完成すると、次のようになります。
マテリアル インスタンスでサブサーフェス プロファイルを使用する
-
マテリアルが作成され、コンパイルされたので、次にマテリアル インスタンスをいくつか作成して、すばやくパラメータの微調整を行います。 マテリアルからマテリアル インスタンスを作成するには、まず、コンテンツ ブラウザ でマテリアルを見つけて、右クリック し、[Create Material Instance (マテリアル インスタンスの作成)] オプションを選択します。 完了すると、コンテンツ ブラウザ は次のようになります。
-
マテリアル インスタンスが作成されたので、マウスの左ボタン を使用するか、ダブルクリック して コンテンツ ブラウザ でマテリアル インスタンスを開きます。開くと、次のような画面が表示されます。
-
マテリアル インスタンスのサブサーフェス プロファイルを変更するには、[Subsurface Profile] チェックボックスをオンにしてサブサーフェス プロファイルによるオーバーライドを有効にし、ドロップダウン メニューを使用して別の Subsurface Profile アセットを選択します。入力をクリックすると、選択可能なサブサーフェス プロファイルが表示されます。
親マテリアルでサブサーフェス プロファイルをすでに指定している場合、マテリアル インスタンスでそのサブサーフェス プロファイルをオーバーライドする必要はありません。この操作は、すでに使用されているものと異なるサブサーフェス プロファイルを使用したい場合に限り実行します。
サブサーフェス プロファイル マテリアルを適用する
-
マテリアル インスタンスが作成されたので、次は新しいマテリアルをテストします。まず、作業を行うための新しい空白のレベルを作成する必要があります。メインメニューの [File (ファイル)] オプションから [New Level (新規レベル)] を選択します。レベルのタイプを選択するように求められたら、[Empty Level (空白のレベル)] を選択します。
-
マテリアルをテストするには、スターター コンテンツのスタティックメッシュを使用して、前面から ポイント ライト で、背面から非常に明るい スポット ライト で照らします。バックライトを明るくすることで、サブサーフェス プロファイル マテリアルでライトが透過されて散乱される様子をわかりやすく示すことができます。ライティングのコンフィギュレーションは次の画像のようになります。
-
コンテンツ ブラウザで「StarterContent」 > 「Props」から SM_Statue アセットを見つけて、レベルに追加します。この例の位置と回転の設定は次のとおりです。
プロパティ名 値 Location: X:0、Y:0、Z:0 Rotation: X:0、Y:0、Z:-23 -
[Place Actors (アクタを配置)] メニューを開き、レベルに ポイント ライト と スポット ライト の両方を追加します。
-
ポイント ライトを選択して、[Details] パネルで次の設定を行います。
プロパティ名 値 Location: X:380、Y:0、Z:80 Intensity: 8.0 cd -
スポット ライトを選択して、[Details] パネルで次の設定を行います。
プロパティ名 値 Location: X:-650、Y:100、Z:-75 Rotation: X:0、Y:20、Z:0 Intensity: 1500 cd -
コンテンツ ブラウザから M_Subsurface_Profile_Inst マテリアル インスタンスをレベル内の彫像のスタティックメッシュにドラッグするか、[Details] パネルにある彫像の両方のマテリアル要素にドラッグして、このマテリアル インスタンスを像に適用します。必ず、彫像の両方の構成要素にマテリアル インスタンスをドラッグしてください。
-
サブサーフェス プロファイルの効果は、スポットライトがシャドウになるハイライトのエッジに沿って最も顕著になります。この輪郭に沿って、彫像のラベンダー色のベース カラーと白の強いハイライトとは対照的な、赤みがかったピンク色のサブサーフェス カラーが現われているのがわかります。
サブサーフェス プロファイルを調整する
-
マテリアル インスタンスが彫像に適用されたら、サブサーフェス プロファイルの設定を調整できます。これを行うには、コンテンツ ブラウザで SSP_00 アセットをダブルクリックして、サブサーフェス プロファイルを開きます。次のような画面が表示されます。
エディタで値や色を変更することで、サブサーフェス プロファイル のプロパティを調整することができます。
-
Surface Albedo: 対応する親マテリアルのベース カラーにできるだけ近い色に一致させる必要があります。
-
Mean Free Path Color: ライトが赤、緑、青の各チャンネルのサブサーフェスに浸透するライトの距離を制御し、光がサーフェス下で散乱する領域の色を特定します。明るい値を指定すると透過率が高くなり、黒を指定すると、サブサーフェス スキャタリングが事実上無効になります。
-
Mean Free Path Distance: 光がサーフェスにどのくらい浸透するかをスケールするワールド/Unreal ユニット (cm) の距離。この値を小さくすると、サブサーフェス領域は狭く、くっきりした領域になり、大きくすると広く、ぼやけた領域になります。
-
-
なお、サブサーフェス プロファイルのパラメータは、次の動画のようにリアルタイムで調整することができます。
ヒントとコツ
サブサーフェス プロファイルのレンダリング方法には、サブサーフェス プロファイルを最大限に活用するための複数のヒントとコツがあります。
スキャッタリング半径
サブサーフェス プロファイルの [Mean Free Path Distance] を非常に大きな数値に設定すると、次の画像のようにレンダリング エラーが発生します。

左の画像では、[Mean Free Path Distance] が「50」に設定されています。 サーフェス上に複数の画像がレンダリングされているように見えることに注意してください。 次に、右の画像をご覧ください。この画像では、[Mean Free Path Distance] が「5.0」に設定されています。 この画像は、よりソフトで自然な印象になっていることを確認してください。こちらが、実現しようとしているタイプのエフェクトです。
マテリアル インスタンスとサブサーフェス プロファイルを組み合わせる
マテリアル インスタンスとサブサーフェス プロファイルを組み合わせると、 次のような理由から、結果を最も効果的にコントロールできます。
- マテリアル インスタンスを使用すると、リアルタイムで値を調整することができるので、結果をはるかに迅速に確認できる。
- Opacity 入力を使用して、サーフェスへのサブサーフェスの影響を削減できる。ただし、この値を「1」に保ち、サブサーフェス プロファイル内のパラメータを調整することをお勧めします。この値は、Subsurface Profile を調整しても望む結果が得られない場合にのみ調整してください。
- 各カラー ピッカーの [Value (値)] スライダーで、サブサーフェス エフェクトの影響をコントロールする。この値が白に近いほど、エフェクトはより顕著になります。一方、設定値を黒に近づけるほど、エフェクトは目立たなくなります。