夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

MixedRealityGraphicsToolsでClippingを使用する

本日はシェーダー調査枠です。

今回はMRGTの機能を使用してオブジェクトの出現表現を行っていきます。

〇MixedRealityGraphicsTools(MRGT)とは?

MixedRealityGraphicsTools(MRGT)はHoloLensやMetaQuestをはじめとしてxRアプリケーション開発に役立つツールキットであるMixedRealityToolkitの最新版MRTK3で提供されるパッケージの一つで、グラフィックの機能がまとめて提供されています。

github.com

〇Clipping

Clippingはオブジェクトの描画をある領域で区切る手法を指します。

MRGTではClippingPrimitiveクラスを継承するコンポーネントとしてClippingPlaneClippingBoxClippingSphereが提供されています。

 それぞれ次のような使い分けができます。

ClippingPlane ClippingBox ClippingSphere
クリップ領域 UnityワールドY軸 アタッチしているオブジェクトのスケールに応じた立方体 アタッチしたオブジェクトのスケールに応じた球体

今回はClippingPlaneを用いた出現、消滅の表現のエフェクト実装を行っていきます。

〇エフェクトの作成

 適当なからオブジェクトを作成し、ClippingPlaneコンポーネントをアタッチします。

 次に出現・消滅を行うオブジェクトを用意します。今回は取り急ぎUnityのプリミティブキューブを配置しました。

ClippingPlaneのRenderersにリストを追加し、キューブのMesh Rendererをアタッチします。

これによってClippingPlaneコンポーネントをアタッチしたオブジェクトのY軸座標に合わせてくりぬきが行われるようになります。

 MRGTStandardシェーダーではClippingBorderと呼ばれるパラメータがあり、これを有効化することでClipping断面にライトを反映させることができます。

 

アニメーションなどでClippingPlaneコンポーネントをアタッチしたオブジェクトを上下させることで出現、消失の演出ができました。

本日は以上です。