Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
System teleportowania jest podsystemem mrTK, który obsługuje teleportowanie użytkownika, gdy aplikacja używa nieprzezroczystego wyświetlacza. W przypadku środowisk AR (takich jak HoloLens) system teleportacji nie jest aktywny. W przypadku immersyjnych środowisk HMD (OpenVR, WMR) można włączyć system teleportowania.
Włączanie i wyłączanie
System teleportowania można włączyć lub wyłączyć, przełączając pole wyboru w swoim profilu. Można to zrobić, wybierając obiekt MixedRealityToolkit w scenie, klikając pozycję "Teleport", a następnie przełączając pole wyboru "Włącz system teleportowania".
Można to również zrobić w czasie wykonywania:
void DisableTeleportSystem()
{
CoreServices.TeleportSystem.Disable();
}
void EnableTeleportSystem()
{
CoreServices.TeleportSystem.Enable();
}
Zdarzenia
System teleportowania uwidacznia zdarzenia za pośrednictwem interfejsu IMixedRealityTeleportHandler
, aby zapewnić sygnały dotyczące rozpoczęcia, zakończenia lub anulowania akcji teleportu.
Aby uzyskać więcej informacji na temat mechaniki zdarzeń i skojarzonego ładunku, zobacz dokumentację połączonego interfejsu API.
Użycie
Jak zarejestrować się w celu uzyskania zdarzeń teleportacji
Poniższy kod pokazuje, jak utworzyć monoBehaviour, który będzie nasłuchiwać zdarzeń teleportacji. W tym kodzie przyjęto założenie, że system teleportu jest włączony.
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);
}
}
Teleportowanie na platformie MRTK
Aby teleportować z kontrolerem na urządzeniach MR z domyślnymi konfiguracjami, użyj szminki. Aby teleportować z przegubowymi rękami, wykonaj gest z dłonią skierowaną do indeksu i kciuka przyklejając się na zewnątrz, kończąc teleport, zwijając palec indeksu. Aby teleportować z symulacją wejściową, zapoznaj się z zaktualizowaną dokumentacją usługi symulacji danych wejściowych.