Teleportsysteem — MRTK2

Het teleportsysteem is een subsysteem van MRTK dat de teleportatie van de gebruiker verwerkt wanneer de toepassing een ondoorzichtig beeldscherm gebruikt. Voor AR-ervaringen (zoals HoloLens) is het teleportatiesysteem niet actief. Voor immersive HMD experiences (OpenVR, WMR) kan het teleportsysteem worden ingeschakeld.

In- en uitschakelen

Het teleportsysteem kan worden in- of uitgeschakeld door het selectievakje in het profiel in te schakelen. U kunt dit doen door het mixedRealityToolkit-object in de scène te selecteren, op Teleport te klikken en vervolgens het selectievakje Teleportsysteem inschakelen in te schakelen.

Dit kan ook tijdens runtime worden gedaan:

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

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

gebeurtenis

Het teleportsysteem maakt gebeurtenissen beschikbaar via de IMixedRealityTeleportHandler interface om signalen te geven wanneer teleportacties beginnen, eindigen of worden geannuleerd. Zie de gekoppelde API-documentatie voor meer informatie over de mechanismen van de gebeurtenissen en de bijbehorende nettolading.

Gebruik

Registreren voor teleportatie-gebeurtenissen

De onderstaande code laat zien hoe u een MonoBehaviour maakt die luistert naar teleportatie-gebeurtenissen. Bij deze code wordt ervan uitgegaan dat het teleportsysteem is ingeschakeld.

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);
    }
}

Teleporteren op MRTK

Als u wilt teleporten met een controller op MR-apparaten met standaardconfiguraties, gebruikt u de duimstick. Als u wilt teleporteren met gearticuleerde handen, maakt u een gebaar met uw palm naar boven gericht met de wijsvinger en duim die naar buiten steekt, en voltooit u de teleport door de wijsvinger te krullen. Als u wilt teleporten met invoersimulatie, raadpleegt u onze bijgewerkte documentatie voor Input Simulation Service.

Teleport-beweging