mrtk_developmentreleases/2.0.0releases/2.1.0releases/2.2.0

    Show / Hide Table of Contents

    传送系统 Teleport system

    传送系统是MRTK的一个子系统,当应用程序使用不透明显示时,它处理传送用户。对于AR的体验(如HoloLens),传送系统不启用。对于沉浸式HMD体验(OpenVR, WMR),可以启用传送系统。

    启用和禁用

    This can also be done at runtime:

    传送系统可以通过在其配置文件中切换复选框来启用或禁用。 这可以通过在场景中选择MixedRealityToolkit对象来完成,单击 "Teleport" ,然后切换 "Enable Teleport System" 复选框。

    这也可以在运行时完成:

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

    事件

    传送系统通过 IMixedRealityTeleportHandler 接口公开事件,以便在传送操作开始、结束或取消 时提供信号。

    有关事件的机制及其相关负载的更多细节,请参见链接的API文档。

    使用

    如何注册传送事件

    下面的代码展示了如何创建一个监听传送事件的MonoBehaviour 。此代码假设已启用了传送系统。

    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()
        {
            // 这是为事件注册该类的关键调用。没有这个,类的IMixedRealityTeleportHandler接口将不会被调用。
            CoreServices.TeleportSystem.RegisterHandler<IMixedRealityTeleportHandler>(this);
        }
    
        void OnDisable()
        {
            // 在禁用时取消注册很重要,否则这个类将继续接收传送事件
            CoreServices.TeleportSystem.UnregisterHandler<IMixedRealityTeleportHandler>(this);
        }
    }
    
    • Improve this Doc
    In This Article
    • 启用和禁用
    • 事件
    • 使用
      • 如何注册传送事件
    Back to top Generated by DocFX