MixedRealityToolKit(以下MRTK)にはExamplesというデモサンプル集が含まれています。
Examplesを理解すればMRTKの機能の使い方を学習することやノンコーディングでのアプリ開発が可能になります。
今回は StanderdshaderのMaterialGallery を見ていきます。
デモシーンの概要
MRTKにはMixedRealityToolkit StanderdShaderというshaderが同梱されています。
これはHoloLensやWindowsMixedRealityデバイスに特化したshaderです。
MaterialGalleryはこれらのShaderに関してのデモシーンになります。
〇RoundedCorners
RounderdCornersは6つの板が四角くなったり丸みを帯びたりを繰り返しながら球体を構成しているように見えますが、Colliderを見るからにどうやら6つの板があるわけではなく、一つのキューブの面が変化しているようです。
Inspectorを見るとAnimator以外特別なスクリプトなどはアタッチされていないことがわかります。
このAnimatorによってShaderのパラメータが変化しているようです。
アタッチされているPanelBorderRoudedCyanのShaderを見てみるとRound CornersのUnit Radiusというパラメータが変化していることがわかります。
試しにUnit Radiusのスライダーを弄ってみます。
MaterialGallery PanelBorderRoudedCyan/Shader
MixedRealityToolKit Standerd/Shaderの中のRound CornersのUnit Radiusのパラメータを操作することでテクスチャのエッジ部が丸みを帯びることが確認できました。
〇NonUniformRoundedCorners
こちらもRoundedCornersと同じようにRound CornersのUnit Radiusで表現しているようです。
試しにUnit Radiusのパラメータを0に変更してみます。
すると丸みが取れて角のあるQuadになりました。
〇CircularCorners
こちらもRoundedCornersと同じようで、キューブの面が完全に円になっています。
〇RoundedCornersOpaque
RoundedCornersOpaque
アニメーションこそないもののどんな機能なのか見た目で一発でわかります。
まるで骨組みのように淵のみが描画されています。
Inspectorを見てみるとどうやらBorder Lightで行っているようです。
BorderLightのチェックを外すと何も描画されなくなってしまっています。
BorderLightはOverride Colorによって指定された色をWidth %の値に応じて淵に描画しているようです。
もう一つのパラメータのBrightnessによって強さを変えているようです。
今回は最前面4つを見てみました。
次回はこの4つの応用で自分で作ってみるか、次の列を見てみるか悩み中です。