Unity3d Vuforia Unity的部署阶段脚本

Unity3d Vuforia Unity的部署阶段脚本,unity3d,augmented-reality,vuforia,Unity3d,Augmented Reality,Vuforia,我在Unity Vuforia从事一个地平面项目。在最新版本的Vuforia中,有一个预定义的复选框,而不是导入单独的DeployStageOnce脚本。 我想要单独的DeployStageOnce脚本。我想研究它,知道它是如何工作的。我到处都找不到剧本。有人有吗?还是链接? 如果有,请提供 非常感谢 使用系统; using System; using UnityEngine; using Vuforia; public class DeployStageOnce : MonoBehaviour

我在Unity Vuforia从事一个地平面项目。在最新版本的Vuforia中,有一个预定义的复选框,而不是导入单独的DeployStageOnce脚本。 我想要单独的DeployStageOnce脚本。我想研究它,知道它是如何工作的。我到处都找不到剧本。有人有吗?还是链接? 如果有,请提供

非常感谢

使用系统;
using System;
using UnityEngine;
using Vuforia;
public class DeployStageOnce : MonoBehaviour {

    public GameObject AnchorStage;
    private PositionalDeviceTracker _deviceTracker;
    private GameObject _previousAnchor;

    public void Start ()
    {
        if (AnchorStage == null)
        {
            Debug.Log("AnchorStage must be specified");
            return;
        }
        AnchorStage.SetActive(false);
    }
    public void Awake()
    {
        VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted);
    }
    public void OnDestroy()
    {
        VuforiaARController.Instance.UnregisterVuforiaStartedCallback(OnVuforiaStarted);
    }
    private void OnVuforiaStarted()
    {
        _deviceTracker = TrackerManager.Instance.GetTracker<PositionalDeviceTracker>();
    }
    public void OnInteractiveHitTest(HitTestResult result)
    {
        if (result == null || AnchorStage == null)
        {
            Debug.LogWarning("Hit test is invalid or AnchorStage not set");
            return;
        }
        var anchor = _deviceTracker.CreatePlaneAnchor(Guid.NewGuid().ToString(), result);
        if (anchor != null)
        {
            AnchorStage.transform.parent = anchor.transform;
            AnchorStage.transform.localPosition = Vector3.zero;
            AnchorStage.transform.localRotation = Quaternion.identity;
            AnchorStage.SetActive(true);
        }
        if (_previousAnchor != null)
        {
            Destroy(_previousAnchor);
        }
        _previousAnchor = anchor;
    }
}
使用UnityEngine; 使用Vuforia; 公共类部署阶段:单一行为{ 公众游戏对象主持人; 专用位置设备跟踪程序_设备跟踪程序; 私有游戏对象_previousAnchor; 公共无效开始() { 如果(AnchorStage==null) { Debug.Log(“必须指定锚地”); 返回; } AnchorStage.SetActive(假); } 公共图书馆 { VuForiArcController.Instance.RegisterForiAstartedCallback(OnVuforiaStarted); } 公共空间 { VuForiArcController.Instance.UnregisterVuforiaStartedCallback(OnVuforiaStarted); } 私有void OnVuforiaStarted() { _deviceTracker=TrackerManager.Instance.GetTracker(); } InteractiveHitTest上的公共无效(HitTestResult) { 如果(结果==null | | AnchorStage==null) { 调试。日志警告(“命中测试无效或未设置锚点”); 返回; } var anchor=_deviceTracker.createPlaneAchor(Guid.NewGuid().ToString(),result); if(锚点!=null) { AnchorStage.transform.parent=anchor.transform; AnchorStage.transform.localPosition=Vector3.0; AnchorStage.transform.localRotation=Quaternion.identity; AnchorStage.SetActive(真); } 如果(_previousAnchor!=null) { 破坏(先前的锚); } _先前的锚=锚; } }
您是如何提取代码的?有没有办法提取和研究vuforia Unity中的其他代码?