原文 https://docs.substance3d.com/spdoc/version-2020-2-6-2-0-200573566.html
Substance Painter 2020.2.0 (6.2.0)では、UDIMをまたいでペイントできる新しいUVタイルワークフローが導入されています。また、どのようなタイプのプロジェクトでも、複数のパフォーマンスとプロジェクトサイズの改善が含まれています。
公開日:2020年7月23日
Artist credits: Dragon by Damien Guimoneau and Robot by Jason Huang.
主な機能
UDIMをまたいでペイントする新しいUVタイルワークフロー
今回のリリースでは、Substance Painterの新しいUVタイルワークフローを紹介します。
新しいワークフローでは、UVは個々のテクスチャセットに分割されません。その代わり、メッシュのマテリアルアサインに基づいて、UVタイルは1つのテクスチャセット内に含まれます。同じテクスチャ セット内にある UV タイルは、2D ビューポートと 3D ビューポートの両方で、シームレスにまたいでペイントすることができます。
UDIMは主に命名規則であるため、UVタイルはこの新しいワークフローを一般的な方法で説明するために使用される用語です。UDIMは現在利用可能な唯一の規則ですが、将来は拡張する予定です(MudboxやZBrushの命名のサポートなど)。負の座標でタイルをサポートすることも検討しています。これは、UDIMスキームでは不可能ですが、このワークフローに対してより広い用語を選択した理由となります。
今回の新しいワークフローで導入された変更点の概要をご紹介します。
- UVタイルプロジェクトの作成
新しいプロジェクトを作成するときに、新しいワークフローを使用するかどうかを指定する新しい設定が追加されました。 ワークフローが決定され、プロジェクトが作成されたら、他の設定とは異なり、後で変更することはできません。
- 2DビューポートでのUVタイル
新しいUVタイルワークフローを使用すると、2Dビューに新しいグリッドが表示され、各UVタイルには専用のUDIM番号が表示されます。 各タイルは個別にペイント可能です。
- UVタイルをまたいでペイントする
同じテクスチャ セット内にある UV タイルをシームレスにまたいでペイントすることができます。これにより、UVタイルの数を増やすだけで、アセットの一般的な解像度と品質を向上させることができます。
- Texture Set Listウィンドウの UV タイル
テクスチャセットリストが更新され、インポートされたメッシュ上のマテリアルに関連するUVタイルが一覧表示されるようになりました。各UVタイルはUDIMの規約に基づいた名前で表示されます。
- UVタイルごとに解像度を変更
各 UV タイルのデフォルト解像度は親テクスチャ セットに基づいていますが、タイルごとにオーバーライドすることができます。テクスチャ セット リストでタイルを選択し、[Texture Set Settings]ウィンドウで解像度を変更します。タイルの解像度がオーバーライドされると、新しい解像度が 2D ビューの番号の横に表示されます。
- 新しいレイヤースタックアイコン
レイヤースタックには、PaintレイヤーとFillレイヤーの新しいアイコンが追加されました。 UVタイルには多くのテクスチャセットがあるため、この小さな領域にすべてを表示することはできませんでした。 特定のサムネイルを計算する必要がなくなるため、パフォーマンスが向上します。 この新しいアイコンセットは、メイン設定で設定を有効にすることで、通常のプロジェクトにも使用できます(以下を参照)。
- レイヤー上の新しいUVタイルマスク
UVタイルマスクは、通常のマスキングよりも効率的なイン/アウトレイヤーをマスキングする新しい方法です。 特定のUVタイルの計算を完全に破棄できるため、パフォーマンスが向上します。 多くのUVタイルを使用するプロジェクトで快適に作業するためにお勧めのツールです。詳細については、ドキュメントの専用ページを参照してください。
- マスキングされたUVタイルを使ったペイント
複数のUVタイルが同じテクスチャセットにある場合、ジオメトリの他の部分が邪魔になる、メッシュの特定の領域をペイントすることが困難な場合があります。この状況を回避するために、新しいストローク設定がコンテキストツールバーに追加され、[Paint strokes ignore masked UV Tiles.]という名前が付けられました。 この設定を有効にすると、UVタイルマスクを介して除外されたUVタイルがビューポートで非表示になり、ペイントストロークを通過/無視できるようになります。UVタイルマスクを変更すると、ブラシストロークが再計算されます。UVタイルマスクを変更すると、ブラシストロークが再計算されます。つまり、UVタイルが変更されている可能性のあるメッシュや、除外する必要がある新しいジオメトリを再インポートが可能となります。その結果、ペイントストロークを再度行う必要がなくなります。
- UVタイルのベイク
ベイク機能はUVタイルにも対応しており、ベイクウインドウに選択リストが表示され、どのタイルとテクスチャセットをベークするかを指定できるようになりました。選択範囲は、チェックボックスをクリックしてドラッグするか、新しいドロップダウンメニューを使って素早く変更することができます。
- 新しい $udim タグを使って UV タイルテクスチャをエクスポートする
新しいタグが出力テンプレートに追加され、ファイル名にUVタイル番号を指定してファイルをエクスポートできるようになりました。現在はUDIM規約のみが利用可能です。タグが利用できない場合、ファイル名にオプションの要素を定義するために括弧を使用することも可能です。これにより、例えば、UVタイルプロジェクトで利用可能な場合にUDIM番号のみを追加するファイル名を作成することができ、エクスポートプリセットをあらゆるタイプのプロジェクトと互換性のあるものにすることができます。
- 連番画像のインポート
連番画像は、それぞれが特定のUVタイルと一致する一連のテクスチャです。 連番画像をインポートするには、連番の最初のファイルをシェルフにドラッグアンドドロップするか、リソースのインポートウィンドウを使用します。連番の残りのファイルも自動的にインポートされます。連番は、1つのリソースとしてシェルフに表示され、その中に含まれるファイルの数を示す番号が付けられます。 シーケンスを使用するには、連番をFill レイヤーにドラッグアンドドロップするだけです。 Projectionモードは自動的に[ Fill (Match Per UV Tile)]に設定されます。
- Alembicメッシュを使用したFacesetのサポート
Alembic Facesets は、テクスチャ セットに分割するためのマテリアルとしてインポートされるようになりました。この変更により、Alembic メッシュは新しい UV タイル ワークフローと互換性があります。Alembic メッシュにFacesetsにない面が含まれている場合、それらは自動的に "DefaultMaterial" という名前の テクスチャ セットに入れられます。
新しいUVタイルワークフローの詳細については、専用のドキュメントをご覧ください。
UV Tileのワークフローは非常に負荷がかかる場合がありますので、SSDでキャッシュとプロジェクトファイルの両方を保存して、読み込み時間を短縮してスムーズに作業を行うことをお勧めします。
新機能:エンジンの一時停止
作業中にSubstance Painterエンジンを一時停止できるようになりました。エンジンを一時停止すると、テクスチャの計算、ビューポートの更新、ペイントストロークは登録されますが、計算はされません。
この新しいアクションでは、複雑なレイヤスタックのセットアップと微調整を行い、計算を最後の瞬間まで遅らせることができます。エンジンを一時停止する主な利点は、中間的な計算を回避し、代わりに最終的な結果のみを計算することです。これにより、アプリケーションの応答性が向上し、更新が全体的に迅速になります。トレードオフは、エンジンが一時停止を解除するまで視覚的なフィードバックがないことです。
エンジンを一時停止するには、ビューポートの上にあるコンテキストツールバーのボタンをクリックするか、Shift + Escape(設定で変更可能)のショートカットを使用します。エンジンの一時停止を解除するには、ボタンをトグルオフにするか、ショートカットを再利用します。
パフォーマンスの向上
- テクスチャのエクスポートを高速化
テクスチャのエクスポートは、特に多くのテクスチャを生成する重いプロジェクトでは、大幅に高速化されるはずです。テクスチャの生成と書き込みの方法がいくつか改善されました。多数のテクスチャ セットや複雑なレイヤ スタックを持つプロジェクトの内部テストでは、エクスポート処理が通常最大 4~5 倍速くなることがわかりました。
- プロジェクトを開いたときのキャッシュ計算の遅延
Substance Painterでは、キャッシュシステムを使用して、レイヤーの微調整やブレンドを高速に行うことができます。以前のバージョンでは、このキャッシュはプロジェクトを開くたびに計算されていました(ビューポートの下部にある緑色のロードバーで確認できます)。現在は、キャッシュの計算は、レイヤーを編集しようとしたとき(例えば、PaintレイヤーやFillレイヤーのパラメータを微調整するときなど)にのみトリガーされるようになりました。
この変更により、作業を開始する前に、待ち時間なしでプロジェクトを開き、目的のテクスチャ セットに切り替えることができるようになりました。 また、計算がより細かくなるため、必要なものだけを計算することができます。例えば、UVタイルを含むプロジェクトでは、変更が必要なタイルのみが計算されます。
- メッシュマップの非同期ロード
メッシュマップが非同期で読み込まれるようになりました。 つまり、メッシュマップの読み込みを待機している間、アプリケーションはブロックされなくなります。 これは、ビューポートにメッシュマップを表示するときに特に顕著に現れます(下の画像のように)。また、メッシュマップを待つ必要がなくなるため、プロジェクトをすばやく開くことができます。
- マスクビューモードの編集機能を強化
マスク(または専用ビューモード)でAltキーを押しながらクリックしてビューポートに表示すると、テクスチャの更新はマスクに対してのみ実行されるようになりました。これは、ビューポートがマテリアルモードに戻るまで他の計算を遅延するため、このビューモードを使用したペイントやエフェクトの編集がよりスムーズになることを意味します。
- 新しいレイヤースタックのサムネイル
前述のように、レイヤースタックは新しいアイコンのセットを使用できるようになりました。これらのアイコンを使用することで、サムネイルを計算する必要がないため、一般的なパフォーマンスを向上させることができます。これは UV Tile プロジェクトのために自動で行われますが、通常のプロジェクトでは、Edit > SettingsでReplace layer stacks thumbnails with iconsを有効にすることで、これらのアイコンを使用することもできます。
- インクリメンタルセーブの高速化
プロジェクトが小さくなり、変更したデータの保存処理がより細かくなるため、インクリメンタル保存(CTRL+Sキーを押す)がより速くなりました。これは特に重いプロジェクトで顕著です。
- Irayの起動パフォーマンスが向上
アプリケーション内で共有されているメモリの管理方法を改善したので、Irayを使ったレンダリングモードへの切り替えがより早くできるようになりました。
プロジェクトサイズの改善
プロジェクトファイルは、ファイルフットプリントが重いことで有名です。私たちはこの問題の根本的な原因を調査するために時間をかけ、いくつかの解決策を設計しました。このバージョンでは、最初の変更点を紹介します。
- ベイク機能の出力をグレースケール画像に切り替える
以前のバージョンでは、ベイク機能はどのような場合でもRGB画像を出力していました。現在では、グレースケールベイク(curvature, ambient occlusion)はグレースケール画像のみを出力します。この単純な変更により、プロジェクトのサイズを20%から60%ダウンさせることができます。この変更を利用するには、既存のプロジェクトのメッシュマップを再生成する必要があります。
- ベイク機能のデフォルトのdiffusion・dilation設定の変更
以前のベーカーは、1 ピクセルのdilationとdiffusionパターン (UV アイランドの外側のぼやけたピクセル) を生成していましたが、この設定では、グラデーションが非常に重くなります。この設定では、グラデーションを圧縮するのが難しいため、非常に重いテクスチャを生成していました。そこで、この問題を軽減するためにデフォルト設定を変更しました。デフォルトでは拡散はオフになっており、拡張は32ピクセルに設定されています(これは4K解像度と一致するはずです)。既存のプロジェクトをこれらの新しい設定に切り替えて、この改善を活用するためにリベイクすることをお勧めします。
その他の改善
この新バージョンでは、いくつかの変更点が追加されています。
- ベイク選択
新しいUVタイルワークフローにおける作業を簡単にするために、ベイクウィンドウは少し変更されました。テクスチャセットごとのUVタイルリストを含む新しい選択リストが含まれています。 そのため、「bake current Texture Set」ボタンは削除されました。何をベイクするのか簡単に選択できるように、いくつかのオプションがドロップダウンメニューに追加されています。
- テクスチャ セット設定のシェーダ インスタンス
テクスチャ セット リストに UV タイルが追加されたことで、UI が乱雑にならないように若干の変更が加えられました。以前は異なるシェーダ インスタンスを作成したり、切り替えたりすることができた機能は、テクスチャ セットの設定に移されました。
チュートリアル
以下は、新機能をカバーする新しいビデオチュートリアルです。新しいUVタイルのワークフローについては、Substance Academyでさらに多くのビデオをご覧いただけます。
リリースノート
2020.2.0
(Released July 23, 2020)
Added:
- UV Tiles (UDIMs)
- [UV Tiles] Paint across UV tiles
- [UV Tiles] Allow to choose between new and legacy workflow for UV Tiles
- [UV Tiles] Import UDIMs/UV Tile image sequences as a resource
- [UV Tiles] Add list of UV Tiles per Texture Set in Texture Set List window
- [UV Tiles] Allow to edit the resolution of multiple UV Tiles at once in Texture Set Settings
- [UV Tiles][2D View] Display UV Tiles as a grid
- [UV Tiles][2D View] New viewport button to display or hide UV Tiles information
- [UV Tiles] Switch painting tool to single channel by default for UV Tile projects
- [UV Tiles] New button in contextual toolbar to ignore masked UV Tiles while painting
- [UV Tiles][Layer Stack] New layer stack icons to improve performance
- [UV Tiles][Layer Stack] Improve Paint and Fill icons in the toolbar
- [UV Tile Mask][2D View] Allow to include or exclude multiple UV Tiles at once (left click, CTRL+left click)
- [UV Tile Mask] New UV Tile mask to include, exclude tiles per layer with a new icon
- [UV Tile Mask][Layer Stack] Display the number of UV Tiles in the UV Tiles mask icon when not all are included
- [UV Tile Mask][2D/3D View] Add hover effect to visualize UV Tiles under the cursor
- [UV Tiles][Bakers] Allow to select and bake specific UV Tiles
- [UV Tiles][Bakers] Add selection options for Texture Sets/UV Tiles
- [UV Tiles][Bakers] Right click menu option to select UV Tiles within a Texture Set
- [UV Tiles][Bakers] Allow quick selection in the Texture Set/UV Tiles by dragging
- [UV Tiles][Bakers] Replace "All" and "None" buttons in Mesh Maps by more explicit selection options
- [UV Tiles][Bakers] Display number of textures to be baked
- [UV Tiles][Export] Allow to select and export specific UV Tiles
- [UV Tiles][Export] Allow quick selection of UV Tiles by dragging
- [UV Tiles][Export] Add dropdown menu options for UV Tiles
- [UV Tiles][Export] Make some export presets unavailable if they do not work with UV Tiles (Adobe Dimension, Sketchfab, glTF, USD)
- [UV Tiles][Content] Update export presets to use the new $udim tag
- [UV Tiles] Improve error reporting when importing meshes with overlapping UV islands
- [UV Tiles] UV Tiles compatible in Iray
- [UV Tiles][Scripting] Add UV Tile export documentation to Python doc
- Performance
- [Performance] New button in contextual toolbar to pause engine computation when working (SHIFT+ESC)
- [Performance] Faster project opening by delaying Texture Set cache computation
- [Performance] Don't wait for mesh maps to load when opening project
- [Performance][2D/3D View] Don't compute Mask channel in viewport when it is not used
- [Performance] Do not block the application when loading mesh maps displayed in the viewports
- [Performance] Improve incremental save speed when saving a project
- [Performance][Bakers] Change default dilation settings to improve saving time and project size
- [Performance][Bakers] Switch to grayscale on specific Bakers to improve saving time and project size
- [Performance][Export] Improve engine performance to export textures faster
- [Performance][Export] Improve responsiveness when opening the export dialog with a lot of Texture Sets
- [Performance][Export] Improve performance when switching to tab "List of Exports"
- [Performance][Iray] Reduce Iray startup time
- Other
- [Bakers] Add selection options for Texture Sets
- Move shader instance management to Texture Set Settings
- [2D/3D View] Add message at bottom of the viewport to indicate which mask type is edited
- [Layer Stack] New option in settings to switch between legacy and new thumbnails
- [Layer Stack] Add visual feedback to indicate loading state of the thumbnails
- [Proj] New projection mode "Fill (Match Per UV-Tile)" to load image sequences
- [Proj] Change fill layers projection mode to "Fill (Match Per UV-Tile)" in specific cases
- [Content] Optimize Charcoal brush presets to improve performance
- Update Iray to version 2020.0.0
- [Export] Disable List of Exports tab when nothing is selected
- Auto Unwrap
- [Auto Unwrap] Improve quality of seams placement
- [Auto Unwrap] Improved parameterization to increase speed and stability
Fixed:
- [Alembic] Facesets are ignored when importing files
- [Alembic] Infinite loading time with specific files
- [Import] Incorrect UDIM image sequence is imported when only the file extension differs
- [Crash] Trying to open project locked by another process leads to a crash
- [Export] Emissive channel is not exported with USD format
- [Content] Smart Material "Charcoal" contains paint strokes
Known Issues:
- [Texture Set List] Cannot hide description
- [Texture Set List] UI issues