MRが楽しい

MRやVRについて学習したことを書き残す

MRTK v2のドキュメントを少しずつ読み解く MRTK標準シェーダー その2

本日は MRTKv2 の調査枠です。
MRTKv2 の Guides ドキュメントを少しずつ読み進めていきます。

MRTKv2のGuidesドキュメント

以下のドキュメントを読み進めていきます。
microsoft.github.io

以下のページでは有志による本ドキュメントの日本語翻訳が行われています。
投稿時点でこちらで未翻訳、または著者が興味のある部分について記事にしていきます。
hololabinc.github.io

本記事では以下のページを読み進めます。
microsoft.github.io
f:id:bluebirdofoz:20200325080129j:plain

マテリアルインスペクター

MixedRealityStandardShaderGUI.cs と呼ばれる MRTK/Standard シェーダー用のカスタムマテリアルインスペクターが存在します。
インスペクターは、ユーザーの選択に基づいてシェーダー機能を自動的に有効/無効にし、レンダリング状態を設定します。

各機能の詳細については、Unityエディターの各プロパティにカーソルを合わせてツールチップを確認してください。
f:id:bluebirdofoz:20200325080146j:plain

インスペクタの最初の部分は、マテリアルのレンダリング状態を制御します。
[Rendering Mode]と[Cull Mode]は、マテリアルをいつどのようにレンダリングするかを決定します。
MRTK/Standard シェーダーの目的は Unity/Standard シェーダーにあるレンダリングミラーリングすることです。
MRTK/Standard シェーダーには、完全なユーザー制御のための Additive レンダリングモードと Custom レンダリングモードも含まれています。


Rendering
Mode
説明
Opaque (デフォルト)透明な領域のない通常のソリッドオブジェクトに適しています。
Cutout 不透明な領域と透明な領域の間にハードエッジを持つ透明な効果を作成できます。
このモードでは半透明の領域はなく、テクスチャは100%不透明または不可視です。
これは透明度を使用して、植生などのマテリアルの形状を作成する場合に便利です。
Fade 鏡面反射ハイライトや反射を含む、透明度の値によってオブジェクトを完全にフェードアウトできます。
このモードは、オブジェクトのフェードインまたはフェードアウトをアニメーション化する場合に便利です。
反射やハイライトもフェードアウトするため、透明なプラスチックやガラスなどの現実的な透明素材のレンダリングには適していません。
Transparent 透明なプラスチックやガラスなどのリアルな透明素材のレンダリングに適しています。
このモードでは、マテリアル自体が透明度の値を取ります。
(透明度はテクスチャのアルファチャンネルとティントカラーのアルファに基づきます)
同時に、実際の透明なマテリアルの場合と同様に、反射と照明のハイライトは完全に明瞭に表示されます。
Additive 前のピクセルカラーと現在のピクセルカラーを合計する加算ブレンドモードを有効にします。
これは透明度のソートの問題を回避するために推奨される透明度モードです。
Custom レンダリングモードのあらゆる機能を手動で制御できます。
高度な使用ケースでのみ利用します。
f:id:bluebirdofoz:20200325080157j:plain

Cull
Mode
説明
Off フェイスカリングを無効にします。
両面メッシュが必要な場合にのみ Off に設定する必要があります。
Front 前面のカリングを有効にします。
Back (デフォルト)背面のカリングを有効にします。
レンダリングパフォーマンスを改善するにはカリングを可能な限り有効にする必要があります。