Teleportsysteem

Hettelteleportsysteem is een subsysteem van de MRTK dat de gebruiker teleporteert wanneer de toepassing een ondoorzichtige weergave gebruikt. Voor AR-ervaringen (zoals HoloLens) is hettelteleportatiesysteem niet actief. Voor in immersieve HMD-ervaringen (OpenVR, WMR) kan hettelteleportsysteem worden ingeschakeld.

In- en uitschakelen

Hettelteleportsysteem kan worden ingeschakeld 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, te klikken op 'Teleport' en vervolgens het selectievakje Enable Teleport System in te schakelen.

Dit kan ook worden gedaan tijdens runtime:

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

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

Gebeurtenissen

Hettelteleportsysteem toont gebeurtenissen via de interface om signalen te geven over IMixedRealityTeleportHandler wanneer detelteleportacties beginnen, eindigen of worden geannuleerd. Zie de documentatie van de gekoppelde API voor meer informatie over de mechanismen van de gebeurtenissen en de bijbehorende nettolading.

Gebruik

Registreren voor teleportatiegebeurtenissen

De onderstaande code laat zien hoe u een MonoBehaviour maakt die luistert naar teleportatiegebeurtenissen. In deze code wordt ervan uitgenomen dat hettelteleportsysteem 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);
    }
}

Porteren op MRTK

Als u wilt teleporteren met een controller op MR-apparaten met standaardconfiguraties, gebruikt u de vingerafdruk. Als u wilt teleporteren met verwoorde handen, maakt u een beweging met uw vinger naar boven met de index en duim naar buiten, en voltooit u detelteleportatie door de wijsvinger te curling. Als u wilt teleporteren met invoersimulatie, raadpleegt u onze bijgewerkte documentatie voor inputsimulatieservice.

Teleportge