PBR テクスチャ

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

物理ベースレンダリング(PBR)テクスチャを使用すると、単一のオブジェクトに複数のタイプのテクスチャ画像、またはマップを使用することで、リアルな陰影や照明を表現できます。複数のテクスチャマップを組み合わせることで、さまざまな照明環境における色、粗さ、反射率をより正確にシミュレートでき、アセットや環境の視覚要素を向上させることができます。

ドレッドロックのあるヒューマノイドアバター、光沢のあるジャケット、デカール付きジーンズ、ブーツ.
短髪のヒューマノイドアバター、レザージャケット、キャップリパンツ、オレンジの靴.

PBR テクスチャを作成するためのさまざまなアプリケーションやワークフローがあります。これらは、Roblox Studio が使用している特定のテクスチャマップをサポートしている限り、カスタム 3D オブジェクト作成のモデリングとテクスチャリングのフェーズで使用できます。

このガイドでは、PBR テクスチャマップを使用するためのメッシュオブジェクトの設定方法に関する手順を示し、Roblox でサポートされている PBR テクスチャマップの一般的な使用例とベストプラクティスを説明します。独自のサーフェスを作成する際は、一般的な素材値、画像比較、衣服の例についてはマテリアルリファレンスを参照してください。

サーフェス外観の有効化

PBR テクスチャを任意の MeshPart に追加するには、元の割り当てられたテクスチャを上書きする SurfaceAppearance オブジェクトを追加します。一般的に、ゲーム中にスクリプトで SurfaceAppearance プロパティを変更することはできません。グラフィックスを表示するには、一部の事前処理が必要だからです。基本的なテクスチャを追加するのと同様に、各テクスチャ画像マップは適切にアップロードされた画像アセット ID を指す必要があります。

MeshPart のサーフェス外観を有効にするには:

  1. Explorer ウィンドウで MeshPart にカーソルを合わせ、⊕ ボタンをクリックします。

  2. 文脈メニューから SurfaceAppearance を挿入します。

    Studio の Explorer ウィンドウ内で MeshPart に親子関係のある SurfaceAppearance オブジェクト.

    SurfaceAppearance オブジェクトにテクスチャマップを追加する準備ができたら、プロパティ ウィンドウ内の各マッププロパティをクリックし、アセット ID を入力します。

テクスチャマップ

Studio は現在、5 種類の PBR テクスチャマップをサポートしています: カラーノーマル粗さ金属感、および 発光です。これらのマップは、オブジェクトの表面の外観の重要な側面に対応します。テクスチャマップは視覚的外観のみを変更し、MeshPart オブジェクトのジオメトリには影響を与えません。

以下の例を参照して、Roblox がサポートしているテクスチャマップと追加リソースの概要を示します。

ColorMap プロパティは、マップに存在する透過性を含む表面のカラー データを設定します。追加情報については、カラー (アルベド)を参照してください。

主に赤とさまざまな黒の斑点と白の傷のある完全に満たされた画像.
マップの例
暗い背景に白い球体.
メッシュの例
暗い背景に黒い斑点と白の傷のある赤い球体.
メッシュとテクスチャ

カラー (アルベド)

カラー、または アルベド マップは、テクスチャの色を決定し、照明やテクスチャ情報がほとんどまたはまったく含まれていない主に色の情報で構成されます。追加のカスタマイズのために、アルベドテクスチャに不透明度を追加して透過性を加えることもできます。

アルファモード

草、葉、レース、または汚れやグランジのデカールのように透過性のある部分や完全に透明な部分が必要なオブジェクトには、さまざまなアルファモードを使用してカラー マップに透過性を適用できます。カラー マップ画像形式がアルファ チャンネルをサポートしている場合、0.0 が完全に透明で、1.0 が完全に不透明なグレースケールのアルファ マップを適用できます。同様に、.png のような画像形式を使用する場合、カラー マップの不透明度はアセットの透明度として適用されます。

以下の AlphaMode 値を設定することで、異なる 2 種類の動作の透明性を適用できます:

  • 不透明ColorMap のアルファ チャンネルを無視し、カラー マップから直接色値を使用します。
  • オーバーレイColorMap を基になるメッシュの MeshPart.Color の上に重ねます。オーバーレイ モードを使用するカラー マップは、透過性がある場所でメッシュのベースカラーを明らかにします。これはデフォルトの設定です。
  • 透過性ColorMap の透明度に基づいて視認可能なメッシュを取り除きます。これにより、メッシュは透けて見え、透過性があるときに元のメッシュカラーは表示されません。
  • ティントマスク — 濃度のない ColorMap の上に色付きの ColorMap を重ねます。
不透明

Enum.AlphaMode.Opaque モードを使用して、ColorMap のアルファ チャンネルを完全に無視することができます。この場合、アルファ値は 1(完全不透明)であると仮定されます。

次の例は、青いオブジェクトを参照として Opaque モードがどのように機能するかを示しています。

完全に透明な背景で水玉模様のテクスチャ.
透明度のあるカラー/アルベドマップ
平面の上にある青い球体.
メッシュオブジェクトの例
表面に水玉模様が散らばっている球体。透明度の値は無視されています.
AlphaModeOpaque に設定されている
オーバーレイ

Enum.AlphaMode.Overlay を使用して、メッシュの元の色の一部を明らかにすることができます。カラー マップの透過領域は基になる色を露出させるため、カスタムスキントーンやユニークカラーを持つ他の状況のために、メッシュの Color プロパティを部分的または完全に露出させるユニークなテクスチャマップを設計できます。

次の例は、ライトブルーの球体を参照として Overlay モードがどのように機能するかを示しています:

小さな青い四角を含む半繰り返しパターンの完全に満たされた画像。背景は透明を示すために市松模様になっています.
透明度のあるカラー/アルベドマップ
暗い背景に無地のシアンの球体.
メッシュオブジェクトの例
表面に小さな青い四角が散っている白い球体.
AlphaModeOverlay に設定されている

次の例は、Overlay モードをカスタムキャラクター用に使用して、キャラクターの元のスキントーンを明らかにしています:

3Dヒューマノイドモデル用のテクスチャマップの完全に満たされた画像。さまざまな部分の画像が市松模様になっているか、部分的に市松模様になっていることで、さまざまな透明度が示されています.
元のメッシュカラーを露出させるためにセクションで透明度を含むカラー マップ
異なるスキントーンの4つの同じヒューマノイドモデル: ライトブラウン、ブラック、ホワイト、ダークグリーン.
Overlay モードを使用する単一のカラーマップを持つキャラクターのさまざまなバリエーション

カスタムスキントーン の詳細については、スキンや類似のアプリケーションに最適化のためのオーバーレイの詳細を確認してください。

透過性

Enum.AlphaMode.Transparency モードを使用すると、メッシュのジオメトリを彫刻する代わりに、メッシュの見える部分を取り除くことにより、レースやネットのような複雑または非常に細かいオブジェクトを作成できます。これによりメッシュオブジェクトのジオメトリに影響を与えることはなく、精巧なメッシュモデルのパフォーマンスへの影響を避けつつ、詳細なオブジェクトを作成できます。

次の例は、このモードで部分的および完全な透明度がメッシュの一部を視覚的に取り除く方法を示しています:

バスケットの表面のある球体.
透明度なし
表面の規則的な三角形模様が部分的に透明な球体.
セクションでの半透明
規則的な三角形模様のある表面が完全に透明な球体.
完全な透明

Transparency モードの 2 つの結果があります。MeshPart.Transparency0 に設定されている場合と少なくとも 0.02 に設定されている場合は異なる結果になりますが、数値精度によっては 0.01 のような小さな値が不透明な透明度をトリガーする場合があります。

  • アルファを使用して葉っぱ、レース生地、ネットのような、主に不透明なオブジェクトのハードエッジの形状を切り抜く場合は、MeshPart.Transparency0 に設定します。表面の一部が完全に不透明であるとき、Roblox エンジンはそれらを適切な深度ベースの遮蔽でレンダリングできます。不透明な表面は一般的に、DepthOfFieldEffect やガラスと水の屈折、水の反射などの深度ベースの効果ともうまく機能します。
  • アルファを使用して半透明のオブジェクトや透過度の滑らかなグラデーションを持つオブジェクトに詳細を追加する場合は、MeshPart.Transparency少なくとも 0.02 に設定します。これにより、汚れた窓や柔らかいエッジの羽毛のようなオブジェクトのブレンドの品質が向上しますが、すべての効果で機能するわけではありません。
ティントマスク

Enum.AlphaMode.TintMask モードを使用して、SurfaceAppearance.Color の色付けを表面の選択された領域に適用できます。ティントはアルファ チャンネルが完全に視認できる場所で最も強く、アルファ チャンネルが透明な場合は適用されません。

暖色系の明るいレンガテクスチャで、レンガの間には暗い灰色のテクスチャが注入されています。
レンガの顔とレンガの間のグラウトの色の詳細を示すサンプルレンガテクスチャ.

色付け

SurfaceAppearance.Color プロパティを変更することで、カラー マップに色付けを適用できます。ティントはパフォーマンスに影響を与えず、異なるティントのカラー マップを再利用することでメモリを節約できます。色付けを使用して、MeshPart の PBR テクスチャ間で追加の低コストのバリエーションを作成したり、リアルタイムで PBR サーフェスの色をプログラムで変更したりできます。

デフォルトの黄色のティントと反射する翡翠のようなプロパティを持つ像.
The Mystery of Duvall Drive のティントなしの像メッシュ.
赤いティントを持つ像で、他のテクスチャマップから輝く反射の特性を持ち続けています.
Color が赤に設定された像メッシュ.
緑のティントを持つ像で、他のテクスチャマップから輝く反射の特性を持ち続けています.
Color が緑に設定された像メッシュ.

SurfaceAppearance.Color のティントは乗算として適用されるため、最終的な外観は Color3(テクセルカラー)に SurfaceAppearance.Color を掛けたものとなります。これにより、元の SurfaceAppearance.ColorMap を近い白のグレースケールの色で作成すると、このプロパティが適用されたときに最も強力なティント効果を得ることができます。

ティントは、SurfaceAppearance.ColorMap にのみ適用され、MeshPart.Color には適用されません。透過性を適用する際にアルファ チャンネルを使用し続けることができます。

SurfaceAppearance.AlphaModeOverlay に設定されていてアルファ チャンネルが存在する場合、基になる MeshPart.Color が明らかになり、SurfaceAppearance.Color のティントは視認可能な SurfaceAppearance カラーマップのみに適用されます。

SurfaceAppearance.AlphaModeTintMask に設定されていてアルファ チャンネルが存在する場合、アルファ チャンネルが SurfaceAppearance.Color のティント量を制御します。ティントはアルファ チャンネルが完全に視認できる場所で最も強く、アルファ チャンネルが透明な場合は適用されません。

完全に透明な左から完全に不透明な右に徐々に変化するシアンのスレートテクスチャの浮遊した正方形の平面。浮遊した平面の下にある細い横バーには、左に黒、右に白のグラデーションがあります.
AlphaModeTransparency に設定されている。下のグレースケールのグラデーションバーはアルファ値を示しています。MeshPart.Color が赤に設定され、SurfaceAppearance.Color がシアンに設定されています。

ノーマル

ノーマル、または 表面マップは、表面にテクスチャの深さを追加し、ハイトマップと似たように機能します。そのため、視角や照明環境によって効果が薄まったり強調されたりすることがあります。

次の図では、メッシュ参照とマップ参照の間で切り替えてノーマルマップの値を比較できます。

粘土色の滑らかな球体.
粘土色の球体で、表面が適度に岩のようです.
粘土色の球体で、表面が非常に岩のようです.

画像の RGB チャンネルは、それぞれローカル表面ベクトルの XYZ 成分に対応しています。色 <Typography noWrap>[127, 127, 255]</Typography> の均一な画像は、完全にフラットなノーマルマップに変換されます。Roblox は OpenGL形式 - 接線空間のノーマルマップのみをサポートしています。

ノーマルマップは、メッシュの視覚的表面に大きな影響を与え、テクスチャ内の不適切な継ぎ目を強調することがあります。可能な限り、テクスチャの継ぎ目を隠してください。

粗さ

粗さまたはミクロサーフェスマップは、モデル表面の光の散乱を決定します。粗さが 0% のとき、表面は全く光を散乱させず、マテリアルの反射と光沢が持つよりシャープで明るい反射の結果になります。100% の場合、光と反射はモデル全体に均等に散乱し、反射の少ないマットな表面を生じさせます。

次の図は、さまざまな粗さマップの値を比較したものです。

青い光沢のある球体.
0%
青い半光沢の球体.
50%
青いマットの球体.
100%

粗さは、特定の角度で物体の反射性に影響を与える場合があり、これを フレネル 効果と呼びます。Studio のフレネル処理は物理的な現実世界の精度を目指しますが、粗い表面でも特定の角度で予期しないスペキュラ貢献が得られることがあります。いくつかのケースでは、材料との一貫した照明応答を得るために、粗さマップ値を約 0.1 高くすることで補償することができます。

Roblox はこの照明効果を正確にレンダリングしますが、表面の明るさや反射性は、Substance Painter のようなテクスチャコンテンツ作成ソフトウェアと Studio の間で一貫して反応しないことがあります。アプリケーション間のレンダリングの違いについては、衣服の例を参照してください。

金属感

金属感は、表面の反射率を決定します。ほとんどの場合、1%(非金属)または 100%(金属)のいずれかにこの値を設定する必要がありますが、サテンやシルクのような中程度の反射特性を持つ表面を作成する場合は、部分的な金属感の値を使用できます。この手法により、マテリアル内の反射をわずかに偽装し、カラー/アルベドマップに反映される環境内の色を強調できます。

次の図は、さまざまな金属感マップの値を比較したものです。

淡褐色の球体に光の斑点を付けたもの.
0%
淡褐色の球体に光の斑点があり、わずかに反射する.
50%
淡褐色の球体にかなりの光の斑点があり、反射性が強い.
100%

異なるPBRレンダラーは、反射率の処理にさまざまなワークフローを使用します。Studio は、素材が 非金属金属 であるかを決定する 金属感ワークフロー だけを使用します。これは、時々 絶縁体 または 導体とも呼ばれます。

発光マスク

グレースケールの EmissiveMaskContent コンテンツテクスチャは、表面全体に発光マスクを適用します。これにより、すべてまたは何もない Neon 素材よりも芸術的制御を使用したり、照明されたテキスト、未来的なアーマー、または生物発光する生き物などの詳細な発光効果を作成したりできます。

関連する EmissiveTint プロパティは、発光の貢献に対する色合いを決定し、EmissiveStrength は、発光の強さを決定します。

50% の強さでジャック・オ・ランタンの発光マスクがあるオレンジの球体.
EmissiveStrength が50%の状態
100% の強さでジャック・オ・ランタンの発光マスクがあるオレンジの球体.
EmissiveStrength が100%の状態
マゼンタに色合いの付いたジャック・オ・ランタンの発光マスクがあるオレンジの球体.
EmissiveTint = [255, 0, 255]
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。