在Unity+Vuforia中为什么不能使用Destory销毁?

Vuforia中的DefaultTrackableEventHandler是当识别时,出现所有的组件;未识别到后,所有组件都被销毁

参考了这篇文章:https://blog.csdn.net/weixin_34275734/article/details/90558671
也就是《AR与VR开发实战》的3.1节

参照书里面的内容,我预先建了一个命名为TrackObject的C#文件,但是在以下这个程序中TrackObject总是报错。

//识别成功时候调用的方法
private void OnTrackingFound()

{

    //动态加载模型并实例化到场景中

    GameObject jiayou = GameObject.Instantiate(Resources.Load("Cube")) as GameObject;

    //生成之后设定它的父级为识别图物体

    jiayou.transform.parent = this.transform;

    //设定物体的位置与识别图位置在同一位置,这里可以根据需求设定

    jiayou.transform.position = this.transform.position;

    Debug.Log("出现啦");

}



//识别丢失时候调用的方法

private void OnTrackingLost()

{
   TrackObject to = GetComponentInChildren<TrackObject>();
    if (to != null)
    {
        Destroy(to.gameObject);
        Resources.UnloadUnusedAssets();
    }
}

TrackObject to = GetComponentInChildren();
中一直显示 TrackObject未定义
这是在另一个脚本调用其他脚本的问题吗?
是需要配置一下环境吗,还是要在最前面声明一下?

c#

1个回答

你也没给Destroy方法里的jiayou这个变量赋值啊。。。。
OnTrackingFound方法里的jiayou变量的作用域只存在在方法内部

LR2024
TTTThink 谢谢,我知道自己错在哪里了,我修改一下自己的问题。
6 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐