私たちは、没入型で現実的な屋内および屋外環境を作成するために、材料と表面外観オブジェクトを使用します。材料がなければ、このシーンには興味深い深さ、シルエット、照明があるでしょうが、私たちの材料とテクスチャシステムを使うことで、部屋に命を吹き込み、世界にリアリズムの次元を加えることができます。
これらの物理ベースのレンダリング(PBR)材料こそが、木材が現実世界で持つ見た目、反応、反射を生み出すものです。このセクションでは、デモで使用される材料のパレットを作成するために私たちが経てきた決定やプロセスについて説明します。Beyond the Darkデモと同様に、私たちは材料にリアルな見た目と感触を与えたかったため、いくつかの異なるアプローチを通じてそれを達成しました。
私たちのテクスチャと材料を作成するプロセスを3つの領域に分けることができます:
- メッシュ(マーブル像など)用の1:1またはユニークな材料のための表面外観オブジェクト。
- 家具のリピート可能な木のトリムの詳細など、MeshPartsに対する共有トリムマップのための表面外観オブジェクト。
- パーツや地形のための共有材料用の材料バリアント、たとえば暖炉や地面のための敷石が石畳の代わりになる。

計画、再利用、予算
プロジェクトを始める際には、一貫性と再利用性のために材料のアートディレクションについて考えることが重要です。すべてのプラットフォームとデバイスには、テクスチャに使用できるメモリの量に制限があるため、事前に計画を立てることでエクスペリエンス内のテクスチャの数を制御するのに大いに役立ちます。
エクスペリエンスの見た目と感触を考慮する際に、私たちは意図的にクラフトマンスタイルの家を選び、小さな額縁や家具から大きな建築要素まで、幅広いアセットにわたって少数の材料を再利用できるようにしました。

基本に還元すると、アメリカン・クラフトマンの特徴にはシンプルでクリーンなラインと自然な木のトーンが含まれており、木と職人の技術が主役となることを可能にします。これらの特徴により、私たちは家具や建築要素のための1セットの木のトリムテクスチャマップを使用でき、モデルを比較的低ポリに保つことも可能になります。これを考慮しながら、私たちは以下に示すトリムマップテクスチャセットを作成することにしました。

表面外観とトリムマップ
トリムマップは、さまざまなアセットに適用できるシンプルな繰り返し可能なテクスチャです。トリムマップはエクスペリエンスで多くの重労働を行い、完全にタイル状のテクスチャと、Substance Painterのようなプログラムでオブジェクトをペイントしたときに得られる1:1のテクスチャセットとのギャップを埋めます。前述の木材素材はトリムマップとしてセットアップされているため、同じトリムテクスチャを活用しつつ、UVを創造的に配置することで、多くの異なるメッシュで再利用できるというわけです。



広範なスケールとオブジェクトで使用するためのトリムマップテクスチャセットを使用する際は、テクスチャが比較的クリーンで、繰り返しが容易に認識できるような詳細がないことを心がけてください。


過剰な詳細の例として、BaseColorマップに汚れを追加したいと仮定しましょう。どれだけ迅速にテクスチャの不自然な方向や伸びたUVに目が行くかを見てみてください。

アセットが本当に重い汚れ、磨耗、または汚れの蓄積を必要とする場合は、その特定のメッシュのためにユニークな1:1マップを使用する方が良いでしょう。トリムマップを扱う際の追加情報については、トリムシートを作成セクションを参照してください。
これらのトリムマップを持つ単一の表面外観ノードをパッケージ化し、下記に示されているすべてのアセットにトリムを適用することができます。


色合いを付けることは、表面外観ノードと材料バリアントをさらに活用するための別の方法です。SurfaceAppearance.ColorMapにアルファマスクを追加し、SurfaceAppearance.AlphaModeをオーバーレイに設定することで、BrickColorまたはColor3を使用してオブジェクトに視覚的なバリエーションのための色合いを付けることができます。


アルファマスクは、どのように作成されても、あなたのSurfaceAppearance.ColorMapに統合され、標準のRGBテクスチャからRGBAに変更されます。望ましい色合いのレベルを得るためにアルファマスク内の値やレベルを調整することができますが、少しのこつで素晴らしい結果を得ることができます。

このレザーの例では、高さマップをいくつかの傷や摩耗のマークとブレンドしてアルファマスクを作成しました。


これら2つのマップは、最終的なRGBAを作成するためにアルファマージノードに送信されました。このノードはオーバーレイ表面外観ノードで使用されます。




テクスチャサイズ
テクスチャを大いに再利用することに加え、テクスチャメモリ使用量を抑えるための他の技術を適用できます。使用に基づいてテクスチャサイズを減少させることができます。たとえば、Surface AppearanceオブジェクトのSurfaceAppearance.ColorMap、SurfaceAppearance.RoughnessMap、およびSurfaceAppearance.MetalnessMapの解像度を1倍または2倍下げても、視覚的な忠実度を失うことはありません。多くの場合、SurfaceAppearance.MetalnessMapは空白のままにでき、これにより純黒/非金属の表面になります。

Substance Designerでは、出力をリサイズする最も簡単な方法は、最終出力ノードの直前にTransformation 2Dノードを追加し、そのノードのBase Parametersセクション内でOutput Sizeを調整することです。


さまざまなマップのサイズをリサイズし、スタジオでアセットを視覚的に検査するために、数回の試行が必要です。さまざまなサイズのアセットにわたって十分に保持されるようにするには、最小限のテクスチャサイズを設定できます。このプロセスを使用することで、エクスペリエンスのアートディレクションに必要な視覚的品質を失わずに、控えめなテクスチャサイズに収束することができます。
これらの数技術を使用することで、テクスチャ予算を管理しつつ、美しいエクスペリエンスを提供することができます。
基本材料
私たちは、パーツ、地形、およびメッシュをこのデモで併用しているので、内蔵材料、材料バリアント、および新しくリリースされた材料マネージャーツールを使用して、さまざまなパーツと地形の表面がPBRテクスチャのあるメッシュの見た目や感触と一致するようにしました。
基本材料はそのまま使用することも、新しいバリアントとして変更することもできます。多くの場合、木の基本材料は私たちに非常に良く機能し、色を調整するだけでテクスチャのあるメッシュと一致します。

材料バリアント
エクスペリエンスには、豪雨の際の屋外環境が含まれているため、私たちは地面を濡れて泥だらけにしたいと考えていました。これを実現するために、私たちは材料バリアントを使用して、基本材料をオーバーライドするための新しいカスタム材料をいくつか作成しました。これを使用して、マルチチ、大小の砂利、泥、さらにはそれぞれの浅い水たまりバージョンを塗りつけます。
材料バリアントを使用すると、特定のデフォルト材料に対して使用されるテクスチャを再定義することができ、地形やパーツで使用する材料をカスタマイズする機会がたくさんあります。

材料バリアントは、私たちの材料の湿潤版と乾燥版を作成するためにも使用されます。これは、ポーチの屋根の下で乾いたり、庭の雨にさらされて湿ったりするような、コンクリートや敷石のような表面にとって有用です。
材料バリアントを作成するには材料マネージャー内で行うことができます。名前が示すように、材料マネージャーでは、デフォルトおよび材料バリアントの両方を一箇所で管理できます。
材料マネージャーを開くと、ウィンドウの左上にあるサークルプラスボタンをクリックして新しいバリアントを編集および追加します。名前を追加する際には、名前の後に「_MV」というサフィックスを追加するのが良いアイデアです。こうすることで、新しい材料バリアントをデフォルト材料から簡単に特定できます。
新しい素材に最も近いベース素材を選択します。ベース素材フィールドは素材の物理的特性と考えてください。この特性は摩擦、密度、重量、衝撃効果、足音音のようなことに影響します。

なぜ材料バリアントを作成するのでしょうか?材料バリアントはベース素材をオーバーライドすることで、その素材のすべての物理特性を継承しますが、ビジュアルは別です。つまり、あなたの材料バリアントはデフォルト素材の物理的挙動(密度など)を継承します。将来的にコンクリートにユニークな音響を追加するなどの追加が行われた場合、これも自動的に継承されます。この場合、私たちはコンクリート素材のほぼすべての特性を継承する新しい湿ったコンクリートバリアントを作成したいと考えています。
ベース素材が物理的特性に関連しているなら、テクスチャマップは私たちの視覚的特性です。テクスチャマップは、PBRレンダリングパイプラインを通じて物質とどのように光が相互作用するかをレンダラーに指示します。ベース素材フィールドは、新しい視覚的特性でオーバーライドされるデフォルト素材を定義します。この場合、コンクリートベース素材をオーバーライドします。
新しい「Concrete_Wet_MV」を作成したので、シーンで使用できるようにデフォルトのコンクリート素材をこれでオーバーライドする必要があります。そのためには、新しいMVをクリックし、Set Overrideトグルをクリックします。

これで、シーン内のコンクリートを使用しているすべてのものは、新しいオーバーライドを使用するようになります。これには、地形にペイントしたコンクリートも含まれます。このオブジェクトに特定の「材料バリアント」がリストされている部分を除いてです。

地形にさまざまな表面を持たせるために、濡れた状態や水たまりのある状態を含めて、デフォルトの材料の約10種類をオーバーライドしました。これは、私たちが狙った雨に濡れた外観に必要でした。


利用可能なすべての材料オプションやツールを使用することで、作成できる可能性は無限大です。事前に考え、計画を立てることで、予算を守りながら感動を与える材料を作成することができます。
