Ptex

Ptex(面ごとのテクスチャリング)は、ウォルトディズニーアニメーションスタジオがテクスチャマッピングの従来の方法の代替として開発したテクスチャマッピングシステムです。Ptexは、アーティストが手動でUVマップを作成する必要をなくすことにより、従来のテクスチャマッピングに関連するさまざまな問題に対処します。

Ptexでは、ジオメトリの各面に独自のテクスチャがあります。これにより、顔の個々のグループのテクスチャの解像度を動的に変更できるようになります。

Ptexファイルには、面ごとのテクスチャと面/エッジ隣接データ、およびジオメトリメタデータが含まれています。これは、テクスチャをプレビューし、特定のジオメトリに対して有効かどうかを確認するのに役立ちます。

ビデオ:  をざっと見てPtexプロジェクトの操作 Ptexプロジェクトを作成して操作する方法を学ぶビデオMari
このビデオは、ワークフローを使用して示していますMari 3。にもかかわらずMari 4ワークスペースが異なり、ワークフローは同じままです。主なUIの違いを確認するには、 Mari 3.3対4.0

Ptexサポート

UVパッチは、アーティストが作成したUVマップに従って3Dジオメトリの領域にマップされた2Dテクスチャです。従来のUVマップの操作に加えて、 Mari Ptexもサポートしています。Ptexでは、モデルに関連付けられた明示的なUVがないため、UVパッチはもはや有効な概念ではありません。その結果、UVパッチはPtex面のUVアトラスに置き換えられました。

新しいときMariプロジェクトはUV-lessをロードします.objファイル、または.ptxジオメトリを含む(Ptex)ファイル。ジオメトリのすべての面にテクスチャが割り当てられており、すべてのテクスチャがUVアトラスの未使用領域に割り当てられています。

これらの顔のテクスチャのパッキングは、サイズの降順で行われるため、異なるテクスチャ解像度を持つ隣接する顔は、UVアトラスで空間的にコヒーレントではない可能性があります。したがって、UVビューでペイントしても意味がありません。

現在、PtexのサポートMari含まれています:

UVレスのいずれかで新しいプロジェクトを開始する.obj、または.ptxファイル(ジオメトリメタデータを含む)

オプションで、 .obj独自のPtexレイアウトをファイルする

任意のサイズと形状のポリゴン.objファイル

面の均一またはワールドスペーステクセル密度テクスチャ解像度を指定する

3DビューでPtexジオメトリにペイントする

選択したPtex面のテクスチャを1x1(三角形の場合は2x2)から最大8192x8192までサイズ変更

Ptex面のテクスチャ解像度を共有する新しいチャネルを作成する

チャネルをにエクスポートする.ptxファイル、ジオメトリメタデータと面/エッジ隣接を含めるオプション
情報

インポート.ptxトポロジ的に等価なチャネルへのファイル

から新しいジオメトリバージョンを作成するときに、複数のPtexジオメトリでペイントを保持する.objファイル(トポロジ的に同等である場合)

Ptexプロジェクトの作成、面ごとの操作、インポート/エクスポート機能のためのPythonバインディング。内のPython HTMLドキュメントを参照してくださいPython > API詳細については

インポート時に顔のテクスチャのサイズ変更とデータ形式の変換を許可します。

の制限MariのPtexによるGPUプレビュー

MariのPtex顔テクスチャストレージの実装は、顔のサイズ変更の柔軟性とGPUのレンダリングプレビューパフォーマンスを対象としています。UVマップとは異なり、3D空間の面の局所性は、必ずしもPtexテクスチャストレージで維持されるとは限りません。この実装の結果、GPU操作で面全体のサンプリングが必要で、隣接する面がテクスチャメモリに存在する場合、プレビューアーティファクトが観察されることがあります。

たとえば、比較的大きなサンプルカーネルを使用するシェーダーは、予期しない顔のテクスチャがサンプリングされると、プレビューレンダリングアーティファクトに遭遇する可能性があります。

GPUのパフォーマンスを向上させるために使用される生成されたミップマップテクスチャに顔のテクスチャがブレンドされるため、シーンをナビゲートするときにアーティファクトが観察される場合もあります。これは、たくさんの小さな顔のテクスチャが使用されている場合に、より明白になることがあります。

注意:  これらのアーティファクトはGPUアクセラレーションプレビューにのみ影響し、エクスポートされたテクスチャデータファイルには表示されません。