Daniel Boxer氏による、複数のUV展開技術をBlender上から利用して3DモデルのUVを自動生成できるオープンソースアドオン「UVgami」のご紹介!
UVgami

UVgamiは単一のUV展開アルゴリズムを実装したツールではなく、OptCuts、PartUV、xatlasという3種類のUV展開エンジンを統合し、用途に応じて使い分けられるのが特徴です。

3種類のUV展開エンジンを搭載
UVgamiでは、それぞれ異なる特徴を持つ3種類のエンジンを利用できます。
OptCuts(CPU)
- Minchen Li氏らによるUVパラメータライゼーション技術
- シーム品質と歪みを同時に最適化
- UVgamiでは標準エンジンとして採用
- 3つの中では高品質な結果を狙える一方で、高密度メッシュでは処理時間が長くなりやすい
- 既存UVを初期状態として利用したり、ハードサーフェス向けにシャープエッジやクリースへシームを配置する機能にも対応
OptCutsはシーム長を抑えながら、指定した歪みの上限を満たすUVマッピングを自動生成することを目的とした技術です。UVgamiではBlender向けに変更を加えたものが統合されています。
PartUV(GPU)
- SIGGRAPH Asia 2025で発表された「Part-Based UV Unwrapping of 3D Meshes」
- CUDAを使用したGPU処理
- モデルを意味のあるパーツ単位に分割してUV展開
- AIベースとGeometryベースの2種類のセグメンテーションに対応
- 高密度メッシュではOptCutsより高速に処理できる場合があり、比較的少ないUVアイランドを生成可能
特に興味深いのがPartUVです。元の研究ではPartFieldを使ってメッシュから階層的なパーツ構造を取得し、それをUV展開へ利用しています。UVgamiではAIモードでPartFieldによるセグメンテーションを利用する方法と、形状からシームを求める軽量なGeometricモードが用意されています。
なおPartUVはCUDAを使用するためWindows / Linux環境が対象です。また、UVgamiのドキュメントではPartUVのAI SegmentationはNVIDIAのライセンスにより商用利用不可と明記されているため注意が必要です。
xatlas(CPU)
- Jonathan Young氏によるオープンソースのUV展開ライブラリ
- 非常に高速
- ライトマップやテクスチャペイント用UVの素早い生成に適する
- OptCutsやPartUVと比較するとUVアイランドやシームが多くなる傾向
- BlenderのSmart UV Projectより良好な結果になるケースもあるとのこと
つまりUVgamiでは、品質を重視するならOptCuts、高密度モデルやパーツを意識した展開ならPartUV、速度重視ならxatlasと、目的に応じて異なるアプローチをBlenderから利用できます。
UVgamiの主な機能
- 複数オブジェクトのバッチUV展開
- 複数のUV展開処理をキューへ追加可能
- OptCuts / PartUV / xatlasの切り替え
- OptCutsの処理状況をリアルタイム表示するVisual Mode
- 既存UVを初期状態として利用
- ハードサーフェス向けのシーム生成
- 高密度メッシュ向けProxy処理
- UVアイランド単位での再展開
- UVアイランドのRelax
- 複数アイランドの結合
- 選択した領域だけの再展開やRelax
- PartUVによるAI / Geometricセグメンテーション
- 複数オブジェクトの同時処理
特にOptCutsでは、完全自動展開だけでなく既存のUVや手作業による結果をベースに部分的な修正を行う用途にも利用できます。
オープンソースで公開中
UVgami自体はGPL-3.0ライセンスのオープンソースプロジェクトとしてGitHubで公開されています。OptCutsとxatlasはCPUで動作し、PartUVについてはNVIDIA GPUとCUDAが必要です。
私の環境ではPartUVのAIモード動作には少し苦戦しました(おそらくGPU依存の問題
AIにて環境依存の問題点を見つけてもらいコードを修正することで解決しました
それにしてもこの「UVgami」は様々なアプローチを手軽に試せるのが面白いですね
結構新しい技術「PartUV」まで既に組み込まれているのは興味深いところです
用途によって結果や処理速度もかなり変わりますので
色々なモデルで比較してみたくなりますね
是非チェックしてみてください!










コメント