テレポート システム

テレポートシステムは、アプリケーションが不透明な表示を使用しているときにユーザーの電話を処理する、MRTK のサブシステムです。 AR エクスペリエンス (HoloLens など) の場合、受付システムはアクティブになりません。 イマーシブ HMD エクスペリエンス (OpenVR、WMR) の場合は、テレポートシステムを有効にすることができます。

有効化と無効化

テレポートシステムは、プロファイルのチェックボックスを切り替えることによって有効または無効にすることができます。 これを行うには、シーンで MixedRealityToolkit オブジェクトを選択し、[テレポート] をクリックして、[テレポートシステムを有効にする] チェックボックスをオンにします。

これは、実行時にも実行できます。

void DisableTeleportSystem()
{
    CoreServices.TeleportSystem.Disable();
}

void EnableTeleportSystem()
{
    CoreServices.TeleportSystem.Enable();
}

イベント

テレポートシステムはインターフェイスを介してイベントを公開し、 IMixedRealityTeleportHandler テレポートアクションの開始、終了、または取り消しが行われたときにシグナルを提供します。 イベントとそれに関連付けられているペイロードのしくみの詳細については、リンクされた API のドキュメントを参照してください。

使用

受付イベントに登録する方法

次のコードは、テレイベントをリッスンするモノの動作を作成する方法を示しています。 このコードは、テレポートシステムが有効になっていることを前提としています。

using Microsoft.MixedReality.Toolkit;
using Microsoft.MixedReality.Toolkit.Teleport;
using UnityEngine;

public class TeleportHandlerExample : MonoBehaviour, IMixedRealityTeleportHandler
{
    public void OnTeleportCanceled(TeleportEventData eventData)
    {
        Debug.Log("Teleport Cancelled");
    }

    public void OnTeleportCompleted(TeleportEventData eventData)
    {
        Debug.Log("Teleport Completed");
    }

    public void OnTeleportRequest(TeleportEventData eventData)
    {
        Debug.Log("Teleport Request");
    }

    public void OnTeleportStarted(TeleportEventData eventData)
    {
        Debug.Log("Teleport Started");
    }

    void OnEnable()
    {
        // This is the critical call that registers this class for events. Without this
        // class's IMixedRealityTeleportHandler interface will not be called.
        CoreServices.TeleportSystem.RegisterHandler<IMixedRealityTeleportHandler>(this);
    }

    void OnDisable()
    {
        // Unregistering when disabled is important, otherwise this class will continue
        // to receive teleportation events.
        CoreServices.TeleportSystem.UnregisterHandler<IMixedRealityTeleportHandler>(this);
    }
}

MRTK での受付移植

既定の構成で MR デバイスのコントローラーをテレポートするには、サムスティックを使用します。 手のひらでテレポートするために、インデックスとつまみが外側になるように palm のジェスチャを作成し、インデックスの指を curling てテレポートします。 入力シミュレーションでテレポートするには、更新された 入力シミュレーションサービスのドキュメントを参照してください。

テレポートジェスチャ