【问题标题】:How to fix transform does not exist Unity如何修复变换不存在 Unity
【发布时间】:2020-04-28 07:07:43
【问题描述】:

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 不是Component,也没有任何transform ... 通常从不发布代码图片.. 而是复制粘贴代码这里以及错误消息
  • 我该如何解决这个错误,另外我从旧版本的 vuforia 手册中得到了这个代码

标签: unity3d augmented-reality vuforia gameobject


【解决方案1】:

如前所述,Anchor 是 Vuforia 类型且没有组件,因此它没有 transform

HitTestResult 但是有一个 PositionRotation 所以我想你可能会使用类似的东西

AnchorStage.transform.localPosition = result.Position;
AnchorStage.transform.localRotation = result.Rotation;
AnchorStage.SetActive(true);

否则,您可能想要使用AnchorBehaviour 组件,您可以通过ConfigureAnchor 使用某个Anchor 进行配置


_previousAnchor 可能不应该是GameObject 类型,而是Anchor

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 2019-10-27
    • 2020-08-29
    • 2021-10-24
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    相关资源
    最近更新 更多