Blender教室

完全ガイド:Unreal EngineでのPBRテクスチャの使い方

TM
Timothée M.P.
2025年6月11日
読了時間: 約1
完全ガイド:Unreal EngineでのPBRテクスチャの使い方

Unreal Engineにテクスチャをインポートしたり作成したりしたいけれど、どこに何を接続すればいいかわからない…とお困りではありませんか?CGBOOKCASEによる解説をベースにしたPBRテクスチャ活用ガイドをご紹介します。

テクスチャのインポート

マテリアル用のテクスチャをコンテンツブラウザ(Content Browser)にドラッグ&ドロップするか、緑色のAdd/Importボタンを使用します。

テクスチャの設定

テクスチャをダブルクリックして設定を開きます。特に重要な設定項目が2つあります。圧縮設定(Compression Settings)sRGB設定です。

圧縮設定(Compression Settings)

Unreal Engineは通常、適切な設定を自動で判別してくれます。ただし、念のため以下の設定になっているか確認してください:

  • Base Color、AO、Roughness、Metallic:圧縮設定 Default(DX11ではDXT1/5、BC1/3)
  • Normal Maps:圧縮設定 Normalmap(DX11ではDXT5、BC5)

sRGB

テクスチャにガンマ補正を適用するかどうかを設定します:

  • 有効(ON):Base Color、場合によってはAO
  • 無効(OFF):Roughness、Metallic、Normal

ℹ️ 詳細については、Unreal Engineの公式ドキュメントもあわせてご確認ください。

マテリアルの作成

コンテンツブラウザで右クリック → Materialを選択します。作成したマテリアルをダブルクリックすると、ノードエディタ(マテリアルエディタ)が開きます。

ノードの追加

右クリックから「TextureSample」を検索するか、Tキーを押しながら左クリックしてTextureSampleノードを追加します。サイドパネルの詳細設定からテクスチャを選択してください。

各マップの接続:

  • Base ColorBase Color入力に接続します
  • AO:AOとBase Colorの間にMultiplyノードを挟んで乗算します。強さを調整したい場合はLinearInterpolate (Lerp)ノードを使用できます。
  • AOはAmbient Occlusion入力に直接接続することもできますが、効果が反映されるのはStatic/Stationaryライトのみです
  • RoughnessRoughness入力に接続します。質感の微調整にはPowerノードを追加すると便利です。
  • NormalNormal入力に接続します。強度の調整にはFlattenNormalノードやOneMinusノードを使用します。

便利なヒント&ベストプラクティス

テクスチャサイズの調整(タイリング)

TextureCoordinatesノードを追加し、TextureSampleのUVs入力に接続します。UTilingとVTilingの数値を調整してタイリングサイズを変更できます。

複数のテクスチャを一括編集する

  • 変更したいテクスチャをすべて選択します
  • 右クリック → Asset Actions > Bulk Edit via Property Matrix を選択
  • 右側のパネルでパラメータを一括編集します

マテリアルインスタンス(Material Instances)

シェーダーの再コンパイルを行うことなく、同じマテリアルのバリエーションを素早く作成できる非常に強力な機能です:

  • マテリアルを右クリック → Create Material Instance を選択
  • 作成されたインスタンスをダブルクリックして開き、パラメータを調整します

パラメータへの変換

インスタンス側で値を変更できるようにするには、元となるマテリアルでパラメータ化しておく必要があります:

  • ノードを右クリック → Convert to Parameter を選択
  • または、Scalar ParameterVector ParameterTextureSampleParameter2Dノードを直接配置します

マテリアルインスタンスを活用することで、以下のメリットが得られます:

paragraph -->
  • 素早いバリエーション展開(例:色や粗さ/Roughnessの変更)
  • パフォーマンスの向上(コンパイルが1回で済む)
  • 動的な制御(ブループリントやC++経由)

テクスチャのパッキング

テクスチャの呼び出し(フェッチ)を最適化しましょう:

  • R、G、Bチャンネルを使用して、複数のマップ(例:AO、Roughness、Metallic)を1つのファイルに統合します
  • 例:R = AO、G = Roughness、B = Metallic
  • 注意:これらの統合テクスチャには「Normalmap」圧縮設定を避けてください。アーティファクトが発生する原因になります。

役立つリソース: