Système de téléportation — MRTK2

Le système de téléportation est un sous-système de MRTK qui gère la téléportation de l’utilisateur lorsque l’application utilise un affichage opaque. Pour les expériences de réalité augmentée ou AR (comme HoloLens), le système de téléportation n’est pas actif. Pour les expériences immersives avec un casque audiovisuel ou HMD (OpenVR, WMR), le système de téléportation peut être activé.

Activation et désactivation

Vous pouvez activer/désactiver le système de téléportation à l’aide de la case à cocher située dans son profil. Pour ce faire, sélectionnez l’objet MixedRealityToolkit dans la scène, cliquez sur « Teleport » (Téléporter), puis cochez/décochez la case « Enable Teleport System » (Activer le système de téléopération).

Ceci peut aussi s’effectuer au moment de l’exécution :

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

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

Événements

Le système de téléportation expose les événements par le biais de l’interface IMixedRealityTeleportHandler pour fournir des signaux sur le début, la fin ou l’annulation des actions de téléportation. Pour plus d’informations sur le mécanisme des événements et la charge utile associée, consultez la documentation API liée.

Usage

Comment s’inscrire aux événements de téléportation

Le code ci-dessous vous montre comment créer un MonoBehaviour qui écoute les événements de téléportation. Ce code part du principe que le système de téléportation est activé.

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

Téléportation sur MRTK

Pour téléporter avec un contrôleur sur des appareils MR avec des configurations par défaut, utilisez la manette. Pour téléporter avec des mains articulées, faites un geste avec votre paume vers le haut avec l’index et le pouce collant vers l’extérieur, en effectuant la téléportation en frisant l’index. Pour vous téléporter avec la simulation d’entrée, consultez notre documentation mise à jour du service de simulation d’entrée.

Geste de téléportation