MRTK v2のExamplesに含まれているデモシーンを見ながらStanderdShaderに関して勉強していました。
一つのデモシーンを見ながらMRTK StandardShaderに触れて、前回からドキュメントを読み解いています。
英語の記事になりますので、まずは英語を勉強もかねて見ていきます。
※この記事は公式ドキュメントの画像を使用しています。
前回の記事はこちら
〇Stencil Testing
組み込み構成ができるステンシルによってポータルなどの様々な効果を可能としています。
ステンシルは以前MaterialGalleryの記事で詳しく紹介しています。
〇instanced Color Support
インスタンス化されたカラーサポートで数千のGPUインタンス化メッシュに固有のMaterialpropertyを提供します。
文章と画像から見るに蝶や魚群、花びらなどの大量のオブジェクトの動きを再現する手法のようです。 今後勉強していきたいです。
〇Triplanar Mapping(三面マッピング)
三面マッピングはプログラムでメッシュをテクスチャリングする手法です。
多くの場合地形やUVのないメッシュや形状の展開が困難な複雑なメッシュで使用します。
使用する各テクスチャには3つのテクスチャサンプルが必要となるため負荷がかかり、パフォーマンスが重要な場面では控えめに使用してください。
差面マッピングはMaterialGalleryの記事で詳しく紹介しています。
〇Vertex Extusion(頂点押し出し)
ワールド空間での頂点押し出し
アウトラインを作成することやメッシュの繊維を視覚化するときに効果的です。
Vertex ExtrusionはMaterialGalleryの記事で詳しく紹介してます。
〇Miscellanepus(その他)
アルベドの最適化を制御するチェックボックス。最適化としてアルベドテクスチャが指定されていない場合はアルベド操作は無効になります。
これはリモートでテクスチャの読み込みを制御するのに役立ちます。
チェックボックスにチェックを入れるだけで有効化されます。
今回まで5回でMRTK StandardShaderのドキュメントを読んでみました。
ドキュメント内で「MRTK Standerd ShaderはMixedRealityデバイス用に設定され非常に軽い」という文面が多く、Unity Standerd Shaderに比べ軽い処理で近似できるようになっています。
その仕組みの中でテクスチャコンバイナーのチャンネルパッキングやlightingなどUnity自体の仕組みと密接にかかわってくる部分も多く非常に勉強すべきところが多いですが、UI、UXに直結するものであるため時間をかけ勉強していきます。