夜風のMixedReality

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

MRTK3のUIのボードを半透明にする

2024年最後の記事はMRKT3,MRGT枠です。

MRTK3ではMRTKv2から引き継いだMicrosoft FluentSystemに基づいたUIコンポーネントが提供されています。

〇環境

・Windows11PC

・Unity2022.3.6f1

〇MRTKのUIを半透明にする

MRTK3ではUGUIに基づいたCanvas上に構成されるUIとNonCanvasなUIオブジェクトの2つが提供されています。

今回はHandMenuプレファブを例にUIボードを半透明にします。

HandMenu

デフォルトの状態でHandMenuプレファブにはMenuContentとしてバックプレートに相当するUX.HandMenu.Backplateとボタンを格納するButtonCollectionオブジェクトが存在します。

このUX.HandMenu.BackplateはMRGTで提供されるGraphics Tools/Non-Canvas/Backplateシェーダーが使用されています。

このマテリアルはPackage内に存在するためデフォルトの状態ではパラメータの編集ができません。

デフォルトでPackages/org.mixedrealitytoolkit.standardassets/Materials/CompressedButtonMaterial/MRTK_Backplate_08mm_Gradient.matに存在するマテリアルをドラッグアンドドロップでAssets内にコピーします。

UX.HandMenu.BackplateオブジェクトのMeshRendererのMaterialsに複製したマテリアルをアタッチすることでパラメータの編集が可能となります。

〇透過設定

透過を行うためにはAlphaBlendingとRenderqueが重要です。

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

Graphics Tools/Non-Canvas/Backplateシェーダーでは下部にBlendingのパラメータが存在します。

Source BlendをScrAplha、Source Blend AlphaをOneMinusScrAlphaに設定します。

またRender Queueを3000に設定します。

以上の設定が透明度を扱う設定です。

最後にBaseColorのパラメータでα値を下げることで透過が行われます。

以上がMRTK3のUIボードを半透明にする処理設定でした。

この設定はNoncanvasのみに適応される点に注意が必要です。

本日は以上です。