シェーダーとテクスチャの詳細

シェーダーとは何ですか?

シェーダは基本的にオブジェクトの表面のプロパティを記述し、光がそれにどのように影響するかを制御します。 さまざまなプロパティを持つシェーダーがあります。 たとえば、これらは、3D オブジェクトの外観をよりリアルにするテクスチャ、色、光沢、(表面の) 粗さ、およびその他の視覚効果を制御します。 シェーダの種類に応じて、たとえば、影の作成、表面テクスチャの定義などに使用できます。

標準シェーダー

ほとんどのオブジェクトでは、標準シェーダが正しい選択です。 これを使用すると、オブジェクトのカラーを設定 (またはテクスチャをカラーでオーバーレイ) し、オブジェクトにカラー テクスチャを配置できます。 法線マップ (表面構造を記述する) と光沢マップを適用できます。

テクスチャのさまざまなスロット (カラー、標準、光沢) は、必ずしも埋める必要はありません。 したがって、たとえば、オブジェクトに光沢マップが含まれていない場合は、このスロットを空のままにし、スライダーを設定するだけです。

透明なシェーダー

たとえば、車の窓を調整したい場合は、透明シェーダが適切な選択です。
3D オブジェクトが正しくモデル化されていることは特に重要です。そうでないと、透明効果が正しく表示されません。
ここのように光沢と透明度の値を選択し、希望に応じて変更します。

光沢/反射/ミラーリングと影の投影に関する「ベータ」制限に注意してください。 このバージョンの透明オブジェクトはまだ影を落としたり、反射を表示したりすることができず、光沢/反射は制限されています。

カットアウトシェーダー

カットアウト シェーダは、マスクを使用して葉などのより細かい構造を「切り取る」ためによく使用されます。
シェーダは標準シェーダと似ていますが、追加の透明度マップがあります。

この背後にある考え方は、微細な構造やディテールは実際の 3D モデルに含まれている必要はなく、マスクを通じてのみ作成されるということです。 したがって、オブジェクトの最終的な外観を得るために、マスクを介して詳細が追加されるだけです。 このようにして、3D モデルの設計を簡素化し、パフォーマンスにとって非常に重要な多くのポリゴンを節約できます。

たとえば、何千もの葉がある木には多くのポリゴンが含まれますが、葉をストリップとしてモデリングし、最初にマスクを介して表示できるようにすると、ポリゴンを保存し、より詳細な詳細を表示することもできます。

マスクなしで葉を残す:

マスクをした葉:


マスクはシンプルな白黒のテクスチャです。 白い領域は表示されますが、黒い領域は「非表示」になります。

上の例の葉の場合、マスク テクスチャは次のようになります。

マスクの設定は視覚的に行われ、目的の効果が見栄えよく見えるように調整されます。

この例では次のようになります。

ヘアシェーダー

ヘア シェーダはカットアウト シェーダとよく似ていますが、マスクの透明度の制御方法が若干異なり、ヘア用に最適化されています。
髪も通常は束としてモデル化され、マスクのみが細い髪を表示します。

テクスチャの種類の概要

上で説明したように、カラー、法線、光沢マップ、カットアウトなど、さまざまなタイプのテクスチャがあります。


テクスチャは、モデル全体に広がるほど顕著に表示することも、タイル状に並べて外観のごく一部のみを含めることもできます。 テクスチャをタイル化すると、通常はテクスチャが小さいため、グラフィックス カードのメモリを大量に節約できます。 カーペットが良い例です。ここでは、テクスチャ内のパターンの一部のみを使用して、それをタイル化することが理にかなっています。 スケーリングはタイリングの周波数を示します。

基本的に、グラフィックス カードのメモリ要件を小さく保つために、テクスチャの解像度はできるだけ小さく保つ必要があります。 set.a.light 3D などのリアルタイム アプリケーションの場合、大きなテクスチャと多くのポリゴンがパフォーマンスにすぐに影響するため、これは特に重要です。

したがって、elixxier では、各オブジェクトのテクスチャのサイズとポリゴンの数を最適化します。

左側にはタイル化可能なカラー テクスチャの例が表示され、右側にはテクスチャリングがマップ上に配置されています。 左側の例は、たとえば解像度がわずか 256×256 ピクセルで強力なタイリングを備えた非常に小さなテクスチャとして機能しますが、一方、右側の例は約 4K (4096×4096) の解像度のテクスチャを必要とします。

最大 8K の解像度のテクスチャをインポートできます。

カラーマップ

カラー マップには、オブジェクトのカラー デザインが含まれています。

このマップは最も認識しやすく、*Diffuse*、*Color*、または *BaseColor* という名前が付けられます。 上にカラーマップの例を示します。

法線マップ

法線マップはオブジェクトの小さな凹凸を記述し、光に影響を与えるため、非常に細かい影の表現が可能になります。 非常に細かい凹凸は 3D オブジェクトに含まれている必要はありませんが、法線マップを使用して作成されます。

視覚的にはノーマルマップが青っぽく見えるので、これで簡単に認識できると思います。

法線マップを正しく判断し、その強度を調整するには、ビューポートを「レンダリング」に切り替える必要があります。 「実際の」ライトを使用した場合にのみ、法線マップが表示されます。 したがって、オブジェクトをさまざまな方向から見ることが理にかなっています。

グロスマップ

光沢マップは、オブジェクトが多かれ少なかれ光沢がある場所を示します。

視覚的には、グロス マップは灰色がかった白黒に見えます。 名前には、*滑らかさ*、*粗さ*、*光沢*などの指定が含まれることが多く、それによっても認識されます。 ただし、透明度マップと似ている場合があります。

反対方向に機能するいくつかのタイプの光沢マップがあることに注意してください。つまり、明るい領域は光沢があり、他の形式では暗い領域は光沢があります。
したがって、set.a.light 3D では、マップのタイプを切り替えて、「滑らかさ」と「粗さ」を選択できます。したがって、既存のマップに合わせて設定を調整します。何が正しいかわからない場合は、試してみてください。

光沢を正しく判断するには、ビューポートを「レンダリング」に切り替える必要があります。 「適切な」光でのみ光沢が見えます。

透明度マップ

透明度マップ (またはマスク) は 3D モデルの一部を切り取って、ポリゴン構造に含めなくても非常に細かいジオメトリを作成できるようにします。

視覚的には、透明度マップはハード エッジ (グラデーションなし) のある白黒のテクスチャのように見えます。 このタイプのマップの名前には通常、*Mask* または *Mask* という追加が含まれており、それによっても認識されます。