夜風のMixedReality

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

HoloLensアプリの中でスクリプトからアプリを終了させる

本日はUnityの技術調査枠です。

HoloLensでは通常ジェスチャーを使用することでアプリの終了を行います。

この場合、アプリが終了したように見えて実はサスペンド常態で起動したままになっており、ユーザーが再び同一のアプリケーションのアイコンを選択すると続きから再開されます。

これはスマートフォンと同様になっており、ホームボタンを押すことでホーム画面に戻るもののバックグラウンドでアプリケーションは起動したままになっています。

これは誤ってアプリを終了させてしまった場合などに続きからアプリを再開するなど対応ができる点で優れていますが、アプリを一度で閉じることができないことは場合によっては不便です。

今回はアプリを終了させるスクリプトでHoloLensアプリを内部から終了させます。

〇Application-Quit

Application-Quit関数はUnityで提供されているメソッドです。

Application-Quit - Unity スクリプトリファレンス

Application.Quit()を実行することでアプリケーションを終了することができます。

今回次のようなスクリプトを書きました。

using System;
using UnityEngine;

public class AppQutTest : MonoBehaviour
{
     public void AppQuit()
     {
          Application.Quit();
     }
}

これを適当なゲームオブジェクトに配置します。

f:id:Holomoto-Sumire:20210220205546j:plain

次に[PressableButtonHoloLens 2]プレファブをプロジェクトウィンドウからシーンに配置します。

f:id:Holomoto-Sumire:20210220205712j:plain

シーンに配置した[PressableButtonHoloLens 2]オブジェクトのinspectorウィンドウから[ButtonConfigHelper]コンポーネントの[Basic Events ]の[OnClick()]に先ほど配置したゲームオブジェクトの[AppQuit()]を設定し、ボタンを押すことでApplication.Quit()が走るようにしました。

f:id:Holomoto-Sumire:20210220205843j:plain

実機で確認します。

youtu.be

実機でアプリケーションの終了を確認できました。