本日はGraphicsToolsStandardShaderのドキュメントを読んでいきます。
Microsoftによるドキュメントはこちらになります。
今回で一通りドキュメントを読み終えていきます。
〇Cull mode
Cull mode(Culling mode)はShaderによって描画されるメッシュの面に関する設定です。
3DCGでは処理の負荷を軽減させることがより良いパフォーマンスを発揮します。
Cull Modeによって次のような見た目になります。
カリングモード | カリングされる面 | 見た目 |
---|---|---|
Back | 裏面 | 面の表面が描画される |
Front | 表面 | 面の裏面が描画される |
Off | 無し | 両面が描画される |
ここで注目すべきはCull Modeで指定するものはどちらの面をカリングするか?であり、最終的な見た目は選択したものと逆になる点です。
〇チャンネルマップ
チャンネルマップはMainMapsセクションでChannelMapを有効化することで使用できるようになります。
チャンネルマップを使用することでメタリック、オクリュージョン、発光、スムースを一つの画像で管理できます。
Unityを含む多くの3DツールのShaderでは色情報はRGBAの4次元であらわされることが多いです。
この性質を使用してチャンネルマップでは、メタリックマップをR、オクリュージョンマップをG、発光をB、スムースマップをAの情報で各パラメータをグレースケールで設定することで、一つの画像ですべてを管理することを実現しています。
実際のチャンネルマップの一例が次の画像になります。
チャンネルマップを使用することで塗装の剥げなどの細かい質感の変化のような際限もできます。
〇Triplaner Mapping
Triplaner Mappingは画像のサンプリングの手法です。
通常3Dオブジェクトに画像をアタッチする場合、そのモデルが持つUV情報を参照し、サンプリングが行われます。
TriplanerMappingはモデルが持つUV情報を使用することはなくオブジェクトのローカル座標、もしくはUnityのワールド座標に基づき、サンプリングが行われます。
特徴として複雑な形状のモデルやUVが破断しているモデルを無視してテクスチャを張ることができるようになります。
その反面処理が重いためパフォーマンスが重要な場面では慎重に使用する必要があります。
〇スーパーサンプルアンチエイリアシング
スーパーサンプルアンチエイリアシングはアンチエイリアシングの手法で、遠くから画像を見る際や重要なオブジェクトに使用することできれいに描画されるようになります。
〇DirectionalLight
GraphicsToolsStandardShaderではひとつのシェーダーで光の影響を受けるLitと受けないUnlitの両方を表現できます。
Directional Lightのチェックボックスを有効にするとライトの影響を受け、Normalやスムースなどの周囲の光を必要とする機能が有効化されます。
defaultで有効になっています。
〇GraphicsToolsStandardShaderのまとめ
GraphicsToolsStandardShaderとUnityで提供されているStandardShader(URPの場合Univarsal/Lit)ではパフォーマンスという面でGraphicsToolsStandardShaderが優れています。
これはGraphicsToolsStandardShaderが必要な機能を必要な分コストを割くことで最適化を行っているためです。
また、通常のUnityで提供されているシェーダーではマテリアルの特性ごとにLit,Unlitとシェーダーを使い分ける必要がありますが、アプリ内で使用されるUIを含め基本的な見た目に関する機能はすべてGraphicsToolsStandardShaderに網羅されています。
以上でGraphicsToolsStandardShaderのドキュメントを読むになります。