夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

MixedReality-GraphicsTools-Unityを触る その④ GraphicsToolsStandardShaderのドキュメントを読む 後半

本日はGraphicsToolsStandardShaderのドキュメントを読んでいきます。

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

Microsoftによるドキュメントはこちらになります。

docs.microsoft.com

今回で一通りドキュメントを読み終えていきます。

〇Cull mode

Cull mode(Culling mode)はShaderによって描画されるメッシュの面に関する設定です。

3DCGでは処理の負荷を軽減させることがより良いパフォーマンスを発揮します。

 Cull Modeによって次のような見た目になります。

カリングモード カリングされる面 見た目
Back 裏面 面の表面が描画される
Front 表面 面の裏面が描画される
Off 無し 両面が描画される

 ここで注目すべきはCull Modeで指定するものはどちらの面をカリングするか?であり、最終的な見た目は選択したものと逆になる点です。

〇チャンネルマップ

 チャンネルマップはMainMapsセクションでChannelMapを有効化することで使用できるようになります。

 チャンネルマップを使用することでメタリック、オクリュージョン、発光、スムースを一つの画像で管理できます。

wiki.polycount.com

 Unityを含む多くの3DツールのShaderでは色情報はRGBAの4次元であらわされることが多いです。

 この性質を使用してチャンネルマップでは、メタリックマップをR、オクリュージョンマップをG、発光をB、スムースマップをAの情報で各パラメータをグレースケールで設定することで、一つの画像ですべてを管理することを実現しています。

 実際のチャンネルマップの一例が次の画像になります。

 

 チャンネルマップを使用することで塗装の剥げなどの細かい質感の変化のような際限もできます。

〇Triplaner Mapping

Triplaner Mappingは画像のサンプリングの手法です。

 通常3Dオブジェクトに画像をアタッチする場合、そのモデルが持つUV情報を参照し、サンプリングが行われます。

 TriplanerMappingはモデルが持つUV情報を使用することはなくオブジェクトのローカル座標、もしくはUnityのワールド座標に基づき、サンプリングが行われます。

 特徴として複雑な形状のモデルやUVが破断しているモデルを無視してテクスチャを張ることができるようになります。

 その反面処理が重いためパフォーマンスが重要な場面では慎重に使用する必要があります。

〇スーパーサンプルアンチエイリアシング

スーパーサンプルアンチエイリアシングはアンチエイリアシングの手法で、遠くから画像を見る際や重要なオブジェクトに使用することできれいに描画されるようになります。

bgolus.medium.com

〇DirectionalLight

GraphicsToolsStandardShaderではひとつのシェーダーで光の影響を受けるLitと受けないUnlitの両方を表現できます。

Directional Lightのチェックボックスを有効にするとライトの影響を受け、Normalやスムースなどの周囲の光を必要とする機能が有効化されます。

defaultで有効になっています。

〇GraphicsToolsStandardShaderのまとめ

GraphicsToolsStandardShaderとUnityで提供されているStandardShader(URPの場合Univarsal/Lit)ではパフォーマンスという面でGraphicsToolsStandardShaderが優れています。

 これはGraphicsToolsStandardShaderが必要な機能を必要な分コストを割くことで最適化を行っているためです。

 また、通常のUnityで提供されているシェーダーではマテリアルの特性ごとにLit,Unlitとシェーダーを使い分ける必要がありますが、アプリ内で使用されるUIを含め基本的な見た目に関する機能はすべてGraphicsToolsStandardShaderに網羅されています。

 以上でGraphicsToolsStandardShaderのドキュメントを読むになります。