ORM マップの説明(チャネル パッキング)
ORM マップはメモリ節約のトリックです:環境オクルージョン、ラフネス、メタリック用の 3 つの個別のグレースケール テクスチャの代わりに、それぞれを単一の画像の 1 つの色チャネルにパックします。ORM は Occlusion、Roughness、Metallic の略です—その順序で。
簡潔な答え
AO、ラフネス、メタリックの各々はグレースケール(単一チャネル)マップなので、3 つを個別の RGB 画像として保存するとデータの 3 分の 2 を無駄にします。ORM テクスチャは赤チャネルにオクルージョン、緑チャネルにラフネス、青チャネルにメタリックをパックします—1 つのテクスチャ、1 つのサンプラー、メモリの 3 分の 1。これは同じデータですが、バンドルされています。
チャネル パッキングが存在する理由
グレースケール マップは 1 つのチャネルのみが必要ですが、画像ファイルは 3 つまたは 4 つを搭載しています。3 つのグレースケール マップを 1 つの RGB テクスチャにパックすると、テクスチャ メモリと GPU が各ピクセルあたり実行するテクスチャ サンプルの数が削減されます。
これは実際のパフォーマンス向上であり、特にメモリと帯域幅が厳しいゲームと Web では。
各チャネルに入るもの
ORM 規則は赤のオクルージョン、緑のラフネス、青のメタリック です。一部のパイプラインは、高さマップまたは追加のマスクをアルファ チャネルに格納します。
Unreal Engine は一般的に ORM スタイルのパッキングを使用し、Godot 4 は StandardMaterial3D でパックされた ORM テクスチャを直接読み込みます。常に目的のエンジンが期待する正確なチャネル順序を確認してください—規則は時々異なります。
ORM マップの作成
AO、ラフネス、メタリックを通常のグレースケール チャネルとして作成してから、エクスポート時にパックします。一般的には ORM テクスチャを直接ペイントすることはありません。
Mixos のようなツールは各チャネルを編集可能に保ち、それぞれ個別にエクスポートしたり、それが必要なエンジン用に ORM パックをアセンブルしたりできます—画像エディタでチャネルを手動でシャッフルする必要はありません。
よくある質問
ORM は何の略ですか?
オクルージョン、ラフネス、メタリック—それぞれ 1 つのテクスチャの赤、緑、青のチャネルにパックされています。
3 つのテクスチャの代わりに ORM マップを使用する理由は何ですか?
メモリとパフォーマンス。3 つのグレースケール マップを 1 つの RGB テクスチャとして保存すると、メモリが 3 分の 1 になり、GPU サンプルが減少し、データ損失なく済みます。
どのエンジンが ORM マップを使用していますか?
Unreal は一般的に ORM スタイルのパッキングを使用し、Godot 4 の StandardMaterial3D はパックされた ORM テクスチャを直接読み込みます。常に目的のエンジンが期待する正確なチャネル順序を確認してください。
個別のチャネルまたはパックされた ORM マップをエクスポートします—Mixos はブラウザで両方を処理します。