Vuforia AR Unity
我获得了此代码,以在下一次点击时在屏幕上显示对象一次,它将同一对象移到屏幕上被点击的位置,而不是每次屏幕上都被创建新的对象。这是代码
using System;
using UnityEngine;
using Vuforia;
public class DeployStageOnce : MonoBehavior
{
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 OnDestory()
{
VuforiaARController.Instance.UnregisterVuforiaStartCallback(OnVuforiaStarted);
}
private void OnVuforiaStart()
{
_deviceTracker = TrackerManager.Instace.GetTracker<PositionDeviceTracker>();
}
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)
{
Destory(_previousAnchor);
}
_previousAnchor = anchor;
}
}
这里是我得到的错误
如前所述,Anchor
是Vuforia类型,没有组件,因此它没有Anchor
。