Bump Offset の使用方法

マテリアルで Bump Offset ノードを使用するための操作ガイドです。

Windows
MacOS
Linux

Bump Offset マッピングは、UV 座標の修正によって適用されている表面上の深度の錯覚を、創造的な手法で大幅に改善し、実際よりも表面が細かく見えるような錯覚を与えてオブジェクトの表面からテクセルを動かしやすくします。 この操作ガイドでは、マテリアル内での Bump Offset マテリアル表現式の検索方法だけでなく、マテリアル内の Bump Offset ノードの使用方法を説明します。

Bump Offset

BumpOffset は Unreal Engine 4 用語であり、一般的に知られている「視差マッピング」のことを指します。Bump Offset 表現式は、ジオメトリを追加することなく深度の錯覚を与えることができます。BumpOffset マテリアルは、グレースケールの高さマップを使用して深度情報を与えます。ハイトマップの値が明るいほどマテリアルが「飛び出し」、カメラがサーフェスを移動するとその領域は視差 (シフト) します。ハイトマップの暗い領域は「遠く離れた」部分で、ほとんどシフトしません。

Bump Offset マテリアル表現式の検索

Bump Offset マテリアル表現式は、Palette 検索ボックスを使って検索します。

BumpOffset_Finding_The_Node.png

あるいは、グラフ内を 右クリック して検索します。

BumpOffset_Finding_The_Node_Right_Click.png

Bump Offset マテリアル表現式を検索すると、 Bump Offset Advanced という別のマテリアル表現式も表示されます。Bump Offset Advanced は、普通のバンプ オフセット マテリアル関数では使用できない特別な制御を追加するために作成したマテリアル関数です。この 2 つのノードの入力は異なりますが、両方とも同じ動作をします。配置されたオブジェクトの UV を操作することで、オブジェクトの表面が実際よりも細かい幻想を出しやすくなります。

Bump Offset マテリアル表現式を見つけたら、他のマテリアル表現式と同様に、まずそれを マウスの左ボタン で選択し、マテリアル グラフへドラッグします。マウスの左ボタン を放すと、Bump Offset マテリアル表現式がマテリアル グラフ内に配置されます。

Bump Offset マテリアル表現式の使用

Bump Offset マテリアル表現式を使う設定は、以下のステップに従って行います。

このチュートリアルでは、プロジェクトに スターター コンテンツ を含むと利用できるコンテンツを使用します。プロジェクトにスターター コンテンツを含まなかった場合は、 プロジェクト間でコンテンツを移動させる方法について「コンテンツの移動 」を参照してください。こうすることで、スターター コンテンツを新規作成せずに追加することができます。

  1. 最初に コンテンツ ブラウザ右クリック し、ポップアップ メニューの [Create Basic Asset (基本アセットを作成)] セクションから [Material] を選択し、そのマテリアルに 「Bump_Offset_Example」 という名前を付けます。 名前を付けたら、 コンテンツ ブラウザ でそのマテリアルを ダブルクリック して開きます。

  2. Bump Offset マテリアル表現式は UV 座標を使うので、Base Color、Roughness、Ambient Occlusion、Normal の入力にテクスチャを使用するマテリアルが必要になります。 ここでは、プロジェクトに Starter Content が含まれている場合にテクスチャ フォルダに存在する以下のテクスチャを使用します。

    • T_Brick_Clay_New_D

    • T_Brick_Clay_New_M

    • T_Brick_Clay_New_N

    マウスの左ボタンコンテンツ ブラウザ のテクスチャを選択し、テクスチャをマテリアル グラフにドラッグすると、テクスチャがマテリアルを開き、 マテリアル グラフにテクスチャを表示します。マウスをマテリアル グラフに当ててグラフにテクスチャを置いたら、 マウスの左ボタン を放します。最初のテクスチャを追加したら、他の 2 つのテクスチャにも上記のプロセスを繰り返します。完了すると以下のようになります。

    BumpOffset_Adding_Textures.png

  3. テクスチャをマテリアル グラフに配置したら、テクスチャを入力に正しく接続していきます。 まず T_Brick_Clay_New_DBase Color 入力に接続します。 次に T_Brick_Clay_New_NNormal 入力に接続します。 そして T_Brick_Clay_New_M テクスチャの Red チャネルを Roughness 入力に接続します。 最後に T_Brick_Clay_New_MGreen チャネルを Ambient Occlusion 入力に接続します。 完了すると以下のようになります。

    BumpOffset_Making_Connections.png

  4. 必要なノードをすべてマテリアル グラフに追加したので、Bump Offset マテリアル表現式をマテリアル グラフに追加していきます。Bump Offset マテリアル表現式は、Palette の検索ボックスで検索します。Bump Offset マテリアル表現式を見つけたら、他のマテリアル表現式と同様に、まずそれを マウスの左ボタン で選択し、マテリアル グラフへドラッグします。マウスをマテリアル グラフ上で マウスの左ボタン を放して、マテリアル グラフにマテリアル表現式を配置します。完了すると以下のようになります。 BumpOffset_Adding_BumpOffset_Node.png

  5. Bump Offset マテリアル表現式をマテリアル グラフに置いたら、動作させるために 3 つのテクスチャの UV 入力に接続します。テクスチャに Bump Offset マテリアル表現式を接続するために、マウスの左ボタン でBump Offset マテリアル表現式の右側にある出力印をクリックします。マウスの左ボタン を押したまま UV と書いてある Texture Sample の入力の上にマウスをドラッグして、緑のチェックマークが付いたら放します。これで 1 つ目が完了しました。残りの 2 つも同じ要領で行います。完了すると以下のようになります。
    BumpOffset_Connecting_BumpOffset.png

    最初に Bump Offset マテリアル表現式を 3 つのテクスチャのどれかの UV 入力に接続すると、Bump Offset マテリアル表現式の下の方に赤い警告が表示されます。Bump Offset マテリアル表現式を正しく動作させるには、ハイトマップが必要です。高さを入力すると、このエラーは消えます。

  6. Bump Offset マテリアル表現式をすべてのテクスチャの UV 入力に接続したら、次は動作するための設定が必要です。最初に必要なのは Height 入力の追加です。まず Base Color 入力の T_Brick_Clay_New_D に使うテクスチャを見つけます。それをマウスで選択し、キーボードの CRTL + W を押して複製します。複製されたノードを Bump Offset マテリアル表現式の正面にくるように移動し、テクスチャの Alpha 出力をBump Offset マテリアル表現式の Height 入力に接続します。完了すると以下のようになります。

  7. 一般的に UV スイミングと呼ばれる現象が起こらないように、Bump Offset マテリアル表現式を設定していきます。Bump Offset マテリアル表現式の設定を調整するには、マテリアル グラフの Bump Offset マテリアル表現式を マウスの左ボタン で選択し、 [Details (詳細)] パネルで [Height Ratio (高さ比率)]0.005 に設定します。完了すると以下のようになります。 BumpOffset_Setting_Up_BO_Node.png

  8. Height Ratio を設定したら、緑の [Apply (適用)] ボタンを押してマテリアルを確実にコンパイします。マテリアルのコンパイルが完了すると、ゲームで使用可能な状態になります。

    これは動作中の新規作成したマテリアルの例です。 BumpOffset_Setting_Results.png

まとめ

Bump Offset マテリアル表現式は、3D ジオメトリを追加せずに、効率的に低負荷で深度情報をマテリアルに追加する方法です。 ただし、Bump Offset マテリアル表現式は追加の深度情報の幻想を与えるだけなので、 プレイヤー / ユーザーが Bump Offset エフェクトが適用されたサーフェスに平行にカメラを動かすことができる状況ではエフェクトが壊れたり動作しない可能性があることを念頭に入れて置いてください。

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback