UEマテリアルでテクスチャを扱うノード
1. テクスチャを「サンプリング(展開)」するノード
テクスチャの画像データをUV座標に従ってピクセルカラー(RGB/A)に変換し、マテリアルのベースカラーやラフネスに繋げられる状態にするためのノードです。
Texture Sample(テクスチャサンプル)
- 概要: 最も基本となるノードです。詳細パネル(Details)で直接テクスチャアセットを指定し、UVに連動して色を出力します。
- 出力:
RGB,R,G,B,Alpha - 特徴: ノード自体にテクスチャが固定されます。固有のモデルに固有のテクスチャ(BaseColorやNormalなど)を貼る通常のアプローチで使います。
- Texture Sample Parameter 2D(テクスチャサンプルパラメータ2D)でパラメータ化可能
2. テクスチャを「データ(アセット)」として扱うノード
ここが混同しやすいポイントです。これらは単体では色を出力できず、「テクスチャというアセットの情報を後続のノードに引き渡す」役割を持ちます。
Texture Object(テクスチャオブジェクト)
- 概要: テクスチャの画像データそのものを「オブジェクト(純粋なデータ)」として扱います。UVの入力ピンがなく、出力ピンも1つしかありません。
- 用途:
WorldAlignedTextureやカスタムのマテリアル関数(Material Function)など、「ノードの内部でUV計算やサンプリングをまとめて行う特殊な関数」にテクスチャデータを丸ごと投げ込むときに使います。 - Texture Object Parameter(テクスチャオブジェクトパラメータ)でパラメータ化可能
3. 「特殊なサンプリング・投影」を行うノード(マテリアル関数)
先述の Texture Object をインプットとして受け取り、内部で自動計算して色を出力する高度なノード群です。
3-1. WorldAlignedTexture(ワールドアラインテクスチャ)
- 概要: 前述の通り、モデルのUVを無視し、ワールド座標をベースに「上・前・横」の3方向からテクスチャを投影(トライプラナー)して自動ブレンドするノード。
- インプット:
TextureObjectを接続します。
3-2. WorldAlignedNormal(ワールドアラインノーマル)
- 概要:
WorldAlignedTextureのノーマルマップ(法線マップ)専用版です。 - 注意点: ノーマルマップは面の向きによって法線の計算(傾き)を修正する必要があるため、通常の
WorldAlignedTextureにノーマルマップを繋ぐと陰影がバグります。必ずこちらを使用します。
3-3. TriplanarCameraVector(トライプラナーカメラベクトル)
- 概要: ワールド座標ではなく、カメラの視線方向(Camera Vector)を基準にして3方向からテクスチャを投影する、少し特殊なトライプラナーノードです。
- 用途: プレイヤーの視点に合わせてテクスチャの見え方を追従させたい特殊なエフェクト(SF的なシールドの質感や、ホログラムなど)で使われます。
4. その他の特殊なテクスチャ関連ノード
4-1. SceneTexture(シーンテクスチャ)
- 概要: 現在画面にレンダリングされているバッファ情報(G-Buffer)を直接キャプチャしてマテリアル内で利用するノード。
- 用途: 主にポストプロセス(Post Process)マテリアルで使用します。画面の深度(SceneDepth)、法線(WorldNormal)、不透明オブジェクトの色(PostProcessInput0)などを取得し、アウトライン(輪郭線)描画や画面全体のカラーグレーディング、ディストーション(画面の歪み)表現に使われます。
4-2. Runtime Virtual Texture Sample(RVTサンプル)
- 概要: 広大なオープンワールドなどでパフォーマンスを劇的に向上させるための「仮想テクスチャ(RVT)」を読み込むためのノード。
- 用途: ランドスケープ(地形)のブレンドデータをあらかじめキャッシュしておき、その上に配置する岩や建物の底面マテリアルに重ねることで、地形とアセットの境界線を完全にシームレスにブレンドする(いわゆるRVTブレンド)際に重用されます。
