MRが楽しい

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

MRTKv2.xのビジュアルプロファイラーの表示をスクリプトから切り替える

本日はMRTKv2.xの小ネタ枠です。
MRTKv2.xのビジュアルプロファイラーの表示をスクリプトから切り替える方法を記事にします。

MRTKのビジュアルプロファイラー

MRTKのビジュアルプロファイラーはアプリケーション内で表示可能なパフォーマンスの診断ツールです。
ProfileでDiagnosticsを有効にしておくとアプリケーション内で常に表示され、リアルタイムにパフォーマンスの確認を行えます。
learn.microsoft.com

スクリプトからビジュアルプロファイラーにアクセスするにはCoreServices.DiagnosticsSystemを参照します。
以下のコードでビジュアルプロファイラーの表示状態を切り替えることができます。

bool onOff = true;
if (CoreServices.DiagnosticsSystem != null) CoreServices.DiagnosticsSystem.ShowProfiler = onOff;

サンプルスクリプト

ビジュアルプロファイラーの表示をスクリプトから切り替える以下のサンプルスクリプトを作成しました。
・DiagnosticsSwitchTest.cs

using Microsoft.MixedReality.Toolkit;
using UnityEngine;

public class DiagnosticsSwitchTest : MonoBehaviour
{
    public void SwitchDiagnostic(bool onOff)
    {
        if (CoreServices.DiagnosticsSystem != null)
        {
            // ビジュアルプロファイラーの表示を切り替える
            CoreServices.DiagnosticsSystem.ShowProfiler = onOff;
        }
    }
}

シーンにトグルボタンを追加し、トグルのON/OFFに合わせてサンプルスクリプトを呼び出すようにします。

以下の通り、シーン中にビジュアルプロファイラーの表示を切り替えることができました。

なおスクリプトから切り替える場合は新規プロファイルを作成する必要はありません。