2024年最後の記事はMRKT3,MRGT枠です。
MRTK3ではMRTKv2から引き継いだMicrosoft FluentSystemに基づいたUIコンポーネントが提供されています。
〇環境
・Windows11PC
・Unity2022.3.6f1
〇MRTKのUIを半透明にする
MRTK3ではUGUIに基づいたCanvas上に構成されるUIとNonCanvasなUIオブジェクトの2つが提供されています。

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

デフォルトの状態で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が重要です。
Graphics Tools/Non-Canvas/Backplateシェーダーでは下部にBlendingのパラメータが存在します。

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

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

以上の設定が透明度を扱う設定です。
最後にBaseColorのパラメータでα値を下げることで透過が行われます。

以上がMRTK3のUIボードを半透明にする処理設定でした。
この設定はNoncanvasのみに適応される点に注意が必要です。
本日は以上です。