MRが楽しい

MRやVRについて学習したことを書き残す

MRTKv2.xを使ってMetaQuest3向けのUnityプロジェクト作成を行う その9(背景の透過度を変更する)

本日はMetaQuest3の技術調査枠です。
MRTKv2.xを使ってMetaQuest3向けのUnityプロジェクト作成を行う手順を記事にします。
本記事は背景の透過度を変更する手順です。

前提条件

以下の記事で作成した Unity プロジェクトを基に設定を行います。
bluebirdofoz.hatenablog.com

背景の透過度を変更する

前回記事の手順を実施していれば最背面にパススルーの映像を表示しているのでメインカメラの背景色の透過度を変更するだけでパススルーの透過を変更できます。

カメラの背景色をスライダーで変更する

アプリ内でパススルーの透過を調整するため、MRTKのPinchSliderをシーン内に配置しました。

更にPinchSliderから変更値を受け取りメインカメラの背景色を変更する以下のサンプルスクリプトを作成しました。
・MainCameraController.cs

using Microsoft.MixedReality.Toolkit.UI;
using UnityEngine;

public class MainCameraController : MonoBehaviour
{
    /// <summary>
    /// スライダーの値変更を受け取る
    /// </summary>
    /// <param name="eventData"></param>
    public void SetSliderValueUpdated(SliderEventData eventData)
    {
        SetBackgroundAlpha(eventData.NewValue);
    }
    
    /// <summary>
    /// メインカメラの透過度を変更する
    /// </summary>
    /// <param name="alpha"></param>
    private void SetBackgroundAlpha(float alpha)
    {
        Camera.main.backgroundColor = new Color(0, 0, 0, alpha);
    }
}

PinchSliderの[OnValueUpdated]にメソッド呼び出しを設定して準備完了です。
初期状態を透過した状態にするため、[SliderValue]の初期値は 0 に設定しておきます。

ビルドと動作確認

以下の記事を参考にプロジェクトのビルドとQuest3へのデプロイを実行してください。
bluebirdofoz.hatenablog.com

MetaQuest3でデプロイしたアプリを起動し、スライダーを操作します。
スライダーの操作に合わせて以下のようにパススルーの透過を変化させることができました。