本日はシェーダー調査枠です。
今回はMRGTの機能を使用してオブジェクトの出現表現を行っていきます。
〇MixedRealityGraphicsTools(MRGT)とは?
MixedRealityGraphicsTools(MRGT)はHoloLensやMetaQuestをはじめとしてxRアプリケーション開発に役立つツールキットであるMixedRealityToolkitの最新版MRTK3で提供されるパッケージの一つで、グラフィックの機能がまとめて提供されています。
〇Clipping
Clippingはオブジェクトの描画をある領域で区切る手法を指します。
MRGTではClippingPrimitiveクラスを継承するコンポーネントとしてClippingPlane、ClippingBox、ClippingSphereが提供されています。
それぞれ次のような使い分けができます。
ClippingPlane | ClippingBox | ClippingSphere | |
---|---|---|---|
クリップ領域 | UnityワールドY軸 | アタッチしているオブジェクトのスケールに応じた立方体 | アタッチしたオブジェクトのスケールに応じた球体 |
今回はClippingPlaneを用いた出現、消滅の表現のエフェクト実装を行っていきます。
〇エフェクトの作成
適当なからオブジェクトを作成し、ClippingPlaneコンポーネントをアタッチします。
次に出現・消滅を行うオブジェクトを用意します。今回は取り急ぎUnityのプリミティブキューブを配置しました。
ClippingPlaneのRenderersにリストを追加し、キューブのMesh Rendererをアタッチします。
これによってClippingPlaneコンポーネントをアタッチしたオブジェクトのY軸座標に合わせてくりぬきが行われるようになります。
MRGTStandardシェーダーではClippingBorderと呼ばれるパラメータがあり、これを有効化することでClipping断面にライトを反映させることができます。
アニメーションなどでClippingPlaneコンポーネントをアタッチしたオブジェクトを上下させることで出現、消失の演出ができました。
本日は以上です。