Unity3d Vuforia Unity的部署阶段脚本
我在Unity Vuforia从事一个地平面项目。在最新版本的Vuforia中,有一个预定义的复选框,而不是导入单独的DeployStageOnce脚本。 我想要单独的DeployStageOnce脚本。我想研究它,知道它是如何工作的。我到处都找不到剧本。有人有吗?还是链接? 如果有,请提供 非常感谢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
使用系统;
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中的其他代码?