MRが楽しい

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

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

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

MRTKv2のGuidesドキュメント

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

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

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

MRTK標準シェーダー

MRTK標準シェーディングシステムは、Unityの標準シェーダーに似たビジュアルを実現できる単一の柔軟なシェーダーを利用します。
このシェーダーは Fluent Design System を実装し、複合現実デバイスでパフォーマンスを維持します。

サンプルシーン

シェーダーマテリアルサンプルは、MixedRealityToolkit.Examples/Demos/StandardShader/Scenes 配下の MaterialGallery シーンにあります。
本シーンを利用するには Examples パッケージをインポートする必要があります。
このシーンのすべてのマテリアルは、MRTK / Standardシェーダーを使用しています。
f:id:bluebirdofoz:20200324075100j:plain

MixedRealityToolkit.Examples/Demos/StandardShader/Scenes 配下には更に StandardMaterialComparison シーンがあります。
これは MRTK/Standard シェーダーと Unity/Standard シェーダーのサンプルを比較およびテストすることができます。
f:id:bluebirdofoz:20200324075109j:plain

アーキテクチャ

MRTK標準シェーディングシステムは Unity のシェーダープログラムバリアント機能を使用して、マテリアルプロパティに基づいて最適なシェーダーコードを自動生成する「uber shader」です。
ユーザーがマテリアルインスペクターでマテリアルプロパティを選択すると、有効にした機能のパフォーマンスコストのみが発生します。