Teleport sistemi

Teleport sistemi, uygulama donuk bir görüntü kullanırken kullanıcının telekyana taşıma işlemi gerçekleştiren bir MRTK alt sistemidir. AR deneyimleri için (HoloLens gibi), teleportation sistemi etkin değildir. Modern HMD deneyimleri (OpenVR, WMR) için teleport sistemi etkinleştirilebilir.

Etkinleştirme ve devre dışı bırakma

Teleport sistemi, profili içindeki onay kutusu işaretlenerek etkinleştirilebilir veya devre dışı bırakılabilir. Bu, sahnede MixedRealityToolkit nesnesi seçilerek, "Teleport" öğesine tıklanarak ve ardından "Teleport sistemi etkinleştir" onay kutusunu işaretleyerek yapılabilir.

Bu, çalışma zamanında de yapılabilir:

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

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

Ekinlikler

Teleport sistemi, IMixedRealityTeleportHandler teleport eylemleri başlamadan, sonunda veya iptal edildiğinde sinyal sağlamak için arabirim aracılığıyla olayları kullanıma sunar. Olayların ve bunlarla ilişkili yükün daha ayrıntılı bilgi için bkz. bağlantılı API belgeleri.

Kullanım

Teleporsyon olaylarına kaydolma

Aşağıdaki kod, teleporsyon olaylarını dinleyecek bir Monodavranış oluşturmayı gösterir. Bu kod, Teleport sisteminin etkin olduğunu varsayar.

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 üzerinde teletaşıma

Varsayılan yapılandırmalara sahip MR cihazlarındaki bir denetleyiciyle teleport 'a kadar parmak kolu ' yi kullanın. Diğer kişilerle teleport 'a kadar, Dizin parmak izi 'ni seçerek teleport 'un dizin ve parmak izi ile birlikte kullanıma sunulmasıyla bir hareket yapın. Giriş simülasyonu ile teleport 'a, lütfen güncelleştirilmiş giriş Simülasyon hizmeti belgelerimizebakın.

Teleport hareketi