我正在尝试将Unity和Vuforia框架与一些C#脚本一起使用 . 目的是识别图像,打印3D模型以及有关目标周围图像的一些信息(4个3D文本,插入预制件) . 使用Vuforia,我只需要拖动预制目标iunto场景,并添加他的孩子3D模型和包含UI文本的预制件 .

这部分总是有效的,我没有问题看到具有de fault值hellow world的模型和文本 .

但是为了设置文本,我已经在目标上附加了一个实现vuforia接口的脚本,以了解目标何时被识别 .

如果脚本被触发,我将获得UI预制件,获取他的所有组件(来自3D对象的4个TextMesh)并将其设置为线程(因为我想要设置的值来自HTTP请求) . 遵循以下代码:

while (Thread.CurrentThread.IsAlive)
        { 
            values = thingworxLink.getValues();   
            index = 0;

            TextMesh[] ts = new TextMesh[4];
            ts = prefabUI.GetComponentsInChildren<TextMesh>();
            print("before set");
            foreach (TextMesh t in ts)
            {
                t.text = values[index]+" "+units[index];

                print("text[" + index + "]=" + t.text);
                index++;
            }

            print("after set");

        }

每次进入textmesh.text我都会看到正确的值 . 但是在第一集之后,而不是看到“你好世界”消失并且值出现,文本就消失了......我尝试了一些方法,但没有找到关于问题的解决方案,并且因为框架需要相机,我目前无法在统一上模拟它...

Dooes有谁知道如何解决这个问题?也许代码失败了?

提前致谢