今回は Substance Painter 2019 を使用したチュートリアルですが、以前のバージョンや以降のバージョンにも応用できる内容として、モデルに含まれている ID Color を取得し、それを利用してレイヤーマスクを素早く作成する方法を見ていきます。



動画の書き起こし

こんにちは、皆さん。今回は Substance Painter 2019 を使用したチュートリアルですが、以前のバージョンや以降のバージョンにも応用できる内容として、モデルに含まれている ID Color を取得し、それを利用してレイヤーマスクを素早く作成する方法を見ていきます。

ID Color とは、その名前のとおり、3D モデルの頂点や面に関連付けられたカラー情報です。レンダリング時に表示される色ではなく、オブジェクトの「Vertex Colors」データチャンネルに保存されている追加情報です。色の RGB 値は数値データであるため、フィルターやさまざまなツールのパラメーターとして利用できます。

Substance Painter をはじめとするさまざまなソフトウェアやツールは、この情報を取得して活用できます。たとえば Substance Painter では、同じ Vertex Color を共有するジオメトリを一度の操作で選択し、レイヤーマスクを作成できます。

プロジェクト内で Material にレイヤーマスクを追加すると、利用可能なマスクエフェクトのひとつに「Color Selection」があります。しかし、このエフェクトを追加したあとに「ID not found」というメッセージが表示され、「Pick Color」ツールでジオメトリ上の色を取得できない場合があります。

チュートリアルの冒頭で「利用可能な場合」と述べたのはこのためです。これらの色はモデルの書き出し時にオブジェクトの「Vertex Colors」情報チャンネルへ保存されますが、この処理が必ず行われるとは限らないため、データが存在しないこともあります。そこで、Substance Painter に書き出す前に、Blender 3D(今回はバージョン 2.92)でオブジェクトの各パーツへ Vertex Colors を割り当てる方法を見ていきましょう。

今回の例では、少なくとも 4 つの領域を識別したいと思います。ケーブル部分、光沢のあるプラスチック製ハウジング 2 か所、金属製コネクター部分、そしてマットなプラスチック製セパレーター部分です。

まずオブジェクトの UV レイアウトを確認してみましょう。各パーツはシームによって分離されており、それぞれ別の UV Island に配置されています。ただし、これらの Island は識別しやすいとは言えません。このモデルでは数も少ないですが、実際にはもっと複雑な UV レイアウトを扱うこともあります。そのため、Vertex Colors を割り当てることにします。

3D View で Vertex Paint モードに切り替え、さらに重要なポイントとして、3D View ヘッダーで Face Selection モードを有効にします。その後、ALT+A またはヘッダーの Select → None を使用してすべての選択を解除し、各パーツを選択して色を割り当てる準備を行います。

選択には Blender の各種選択ツールを利用できます。今回の例では各パーツが分離され、それぞれ独立した UV Island に配置されているため、マウスカーソルを対象パーツの上に置いて L キーを押すことで、「Linked」選択を使って簡単に選択できます。

まずは光沢のあるプラスチック製コネクターパーツを選択します。選択された部分は色が変化し、ワイヤーフレームのエッジ表示が消えていきます。

これらのパーツに Vertex Color を割り当てるには、まず Vertex Paint Properties パネルで色を選択します。このパネルは N キーで表示と非表示を切り替えられます。その後 SHIFT+K を押すか、3D View ヘッダーの Paint → 「Set Vertex Color」を選択します。

次のグループへ進む場合は ALT+A ですべての選択を解除し、同じ手順を繰り返します。対象となる Island を選択し、色を指定してから「Set Vertex Color」を実行します。今回の場合は 4 グループあるので、残りについても同様に作業を進めます。

色を選ぶ際は、できるだけ互いに大きく異なる色を使用することをおすすめします。Blender では未設定部分や誤って割り当てた部分を見つけやすくなり、Substance Painter では似た色同士を選択時に混同することを防げます。

この作業が完了したら、あとは Vertex Color 情報をサポートしている FBX などの形式で 3D モデルを書き出し、Substance Painter に戻ります。

モデルを Substance Painter に再インポートしたら、「Texture Set Settings」タブで「Bake Mesh Maps」をクリックします。

Bake ウィンドウでは不要な項目を無効化し、「ID」だけを有効にしておきます。ただし Bake を実行する前に、このチャンネルの設定を開き、「Color Source」オプションが「Vertex Color」に設定されていることを確認してください。この設定によって、マップ生成時にどのカラー情報を参照するかが決まります。Substance Painter はモデル内の追加情報である Vertex Color を利用して ID マップを生成します。

Bake を実行し、マップの生成が完了するまで待ちます。生成されたマップは、「Texture Set Settings」の ID セクションと、プロジェクト内の各「Color Selection」エフェクトの「Properties - Color Selection」パネルの両方で確認できます。

ここで「Pick Color」をクリックすると、プロジェクト内の ID Color を選択できるようになります。すると対応する Vertex Color が割り当てられたすべての領域に対して、即座にマスクが生成されます。

必要であれば、この操作を他の Material に対しても繰り返すことができます。これは状況によって非常に便利なツールですが、ケースによっては Brush、Polygon、UV Chunk などの選択ツールを使ったほうが簡単な場合もあります。ID Mask はそれらに代わるものではなく、選択肢として追加できるもうひとつの便利なツールです。

まとめると、モデルに Vertex Colors が含まれている場合は、ID マップを Bake することで Substance Painter にその情報を取り込むことができます。その際は、モデルから取得する情報源として「Vertex Color」を指定する必要があります。その後、Material のマスクに「Color Selection」コンポーネントを追加し、「Pick Color」ツールを使用することで、選択した Vertex Color が割り当てられたジオメトリのみを含むマスクを生成できます。

今回のビデオチュートリアルは以上です。それではまたお会いしましょう。

チュートリアルを検索

フレーズ、または複数のキーワードをカンマで区切って入力してください。

Francesco Milaneseによる3Dモデル、チュートリアル、コンピューターグラフィックス関連の資料を掲載しています。3Dモデルの使用ライセンスは、各モデルのページに掲載されているリンク先の外部ストアで購入できます。ご利用には、適用されるライセンス条件が適用されます。 Francesco Milanese — イタリアVAT番号:06321250877。お問い合わせ:info@francescomilanese.com


プライバシー及びクッキーの使用に関する拡張情報の通知