ışın sistemi — MRTK2

Teleport sistemi, uygulama opak bir ekran kullanırken kullanıcıyı ışınlama işlemini işleyen bir MRTK alt sistemidir. AR deneyimleri (HoloLens gibi) için ışınlama sistemi etkin değildir. Tam kapsamlı HMD deneyimleri (OpenVR, WMR) için ışınlayıcı sistemi etkinleştirilebilir.

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

Teleport sistemi, profilindeki onay kutusu değiştirilerek etkinleştirilebilir veya devre dışı bırakılabilir. Bu, sahnedeki MixedRealityToolkit nesnesi seçilerek, "ışınla" seçeneğine tıklanarak ve ardından "ışınlanma Sistemini Etkinleştir" onay kutusu değiştirilerek gerçekleştirilebilir.

Bu işlem çalışma zamanında da yapılabilir:

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

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

Ekinlikler

Teleport sistemi, teleport eylemlerinin IMixedRealityTeleportHandler ne zaman başlayacağını, sona ereceğini veya iptal edileceğini belirten sinyaller sağlamak için olayları arabirim aracılığıyla kullanıma sunar. Olayların mekaniği ve ilişkili yükleri hakkında daha fazla bilgi için bağlı API belgelerine bakın.

Kullanım

ışınlanma olaylarına kaydolma

Aşağıdaki kod, ışınlanma olaylarını dinleyecek bir MonoBehaviour'un nasıl oluşturulacağını gösterir. Bu kod, ışın sisteminin etkinleştirildiğini 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'da ışınlanma

Varsayılan yapılandırmaları olan MR cihazlarında bir denetleyiciyle ışınlanabilmek için, parmak çubuğunu kullanın. Eklemli ellerle ışınlanma yapmak için, işaret parmağınızı kıvrarak ışınlanmayı tamamlayarak, avuç içiniz dizin ve başparmak dışarı doğru yapışarak yukarı dönük bir hareket yapın. Giriş simülasyonu ile ışınlandırmak için lütfen güncelleştirilmiş Giriş Benzetimi Hizmeti belgelerimize bakın.

ışınla Hareketi