今回は短いチュートリアルとして、Substance Painterに搭載されているあまり知られていないものの、とても便利な機能であるFontsについてご紹介します。Fontsは特殊なAlphaマスクの一種で、その名のとおり特定のフォントを使用して任意のテキストを作成し、ブラシを使って独自のマテリアルとともにオブジェクトの表面へ適用できます。
動画の書き起こし
皆さん、こんにちは。今回は短いチュートリアルとして、Substance Painterに搭載されているあまり知られていないものの、とても便利な機能であるFontsについてご紹介します。Fontsは特殊なAlphaマスクの一種で、その名のとおり特定のフォントを使用して任意のテキストを作成し、ブラシを使って独自のマテリアルとともにオブジェクトの表面へ適用できます。
このサンプルで使用しているシーンには、すでにオブジェクトの各パーツにマテリアルが割り当てられています。

ここにシンプルなテキストラベルを追加してみたいと思います。ロゴや特殊なシンボルではありません。そうしたものを作成する場合は、別途ペイントソフトや画像編集ソフトで画像やOpacityマスクを作成する必要があります。
まず、オブジェクトのLayerスタックの最上部にFill Layerを追加し、下にあるマテリアルを完全に覆うようにします。続いて、このマテリアルをカスタマイズします。例えば、RGBカラーを0.8、0.8、0.6に設定し、Metallicを0、RoughnessにはClouds 3マップを使用して適度な不規則性を加え、Heightを0.05に設定して浮き彫り効果を作成します。


このマテリアルは下のマテリアルを完全に覆ってしまうため、最初にBlack Maskを追加します。後でテキストを「スタンプする」部分だけを白く表示させるためです。

次に、ShelfのBrushesセクションへ移動してブラシを選択します。今回は、ソフトなエッジのない均一なブラシストロークを作成するためにBasic Hardを選択します。その後、ShelfのAlphasセクションへ切り替え、フィルターボックスに「Font」と入力して項目を絞り込みます。

最初のテキストラベルには、Juraのようなシンプルなフォントを選択します。その後、Properties - Paintタブにあるブラシパラメータに注目します。

特にTextフィールドでは、デフォルトで入力されている「Substance」を、実際に表示したい文字列に置き換えます。今回の例では「Created with」というフレーズを入力します。

マウスカーソルを3Dビュー上で動かしてみると、デフォルト設定では文字が大きすぎることが分かります。ブラシサイズを変更しても解決しません。なぜなら、変更する必要があるのはブラシの描画領域内における文字サイズだからです。そのためには、Font ParametersセクションにあるSizeパラメータを調整します。
Parametersセクションには、意味が比較的分かりやすい設定も用意されています。Typeでは、利用可能な場合にスタイルを変更できます。例えばJuraではBoldを選択できます。Alignmentでは、ブラシの描画領域内での文字の配置方法を指定できます。

お気付きかもしれませんが、今回のテキストは曲面に適用しています。Substanceはブラシを表面に対して接線方向に自動的に合わせ、その後ステッカーのようにテキストを投影します。そのため、歪むことなく表面形状に沿って配置されます。
少なくともこのバージョンのソフトウェアでは、一度適用したテキストを後から編集することはできません。実際にはLayer Maskへ直接描画されるためです。ただし、ミスをした場合や内容を変更したい場合は、CTRL+Zで直前の操作を取り消したり、Eraserツールを使ってマスク上の個別のブラシストロークを消去したりできます。また、より大きな修正が必要な場合は、マスクを右クリックして「Add black mask」を選択し、マスク全体をリセットすることも可能です。
ジオメトリやUVシームの状態によっては、3Dビューではなく2Dビュー上でUVシームに直接テキストを配置した方が作業しやすい場合があります。また、ビューポートの表示モードを「Mask」に切り替えることで、選択中のLayer Maskを確認できるため、ミスや不要な描画を見つけやすくなります。

Fontsはブラシストロークとして適用されるため、この例のようにFill LayerのLayer Mask上で使用している場合でも、フォントを変更したり、テキスト内容を変更したりして、同じマスク内に別のブラシストロークを追加できます。こうすることで、異なる内容のテキストであっても、すべて同じマテリアルを使用できます。
ここまではFill LayerのLayer Mask上でブラシを使用する方法を紹介してきましたが、同じ考え方は通常のMaterialにも当てはまります。また、Layerに直接使用することも可能です。Layerは初期状態では空のペイントレイヤーであり、PBRチャンネルや実際のマテリアルを割り当ててカスタマイズできます。この場合はマスクではなくLayer自体に直接ペイントします。
この方法を使うと、LayerにLayer Maskを追加して2種類の効果を組み合わせることができます。つまり、Layer上のマテリアルブラシストロークと、別のOpacity Maskを同時に利用できるということです。例えば画面では、テキストを含むLayerにClouds 2のOpacity Maskを追加しています。これにより、ContrastやScaleなどのClouds設定を調整しながら、2つのマスクを組み合わせたより面白い表現を作り出すことができます。


以上で、この短いながらも役立つチュートリアルは終了です。いつものように、ご質問や疑問点、補足説明のご要望がありましたら、動画のコメント欄へお気軽にお寄せください。それではまた次回お会いしましょう。