Unity3d 如果从脚本调用,则MRTK网格对象集合UpdateCollection()不工作

Unity3d 如果从脚本调用,则MRTK网格对象集合UpdateCollection()不工作,unity3d,hololens,mrtk,windows-mixed-reality,Unity3d,Hololens,Mrtk,Windows Mixed Reality,我正在使用MRTK中的GridObjectCollection脚本来显示许多按钮。我通过脚本动态实例化按钮,并将它们作为GridObjectCollectionGameObject的子对象放置。现在,您可以通过UpdateCollection()函数更新集合。除以下情况外,一切正常: 如果我想在同一GridObjectCollection中显示一组不同的按钮,我将销毁集合的所有子项,并像以前一样实例化新按钮,然后调用UpdateCollection()函数。但是集合没有正确更新。旧按钮被销毁,新

我正在使用MRTK中的
GridObjectCollection
脚本来显示许多按钮。我通过脚本动态实例化按钮,并将它们作为
GridObjectCollection
GameObject的子对象放置。现在,您可以通过
UpdateCollection()
函数更新集合。除以下情况外,一切正常:

如果我想在同一
GridObjectCollection
中显示一组不同的按钮,我将销毁集合的所有子项,并像以前一样实例化新按钮,然后调用
UpdateCollection()
函数。但是集合没有正确更新。旧按钮被销毁,新按钮被添加,但位置发生了变化。如果单击inspector中的UpdateCollection按钮,则集合已正确更新


为什么
UpdateCollection()
在修改集合内容后无法按预期工作?

我刚刚解决了这个问题。如果集合在下一帧中更新,则更新将按预期进行。 因此,我正在启动一个协同程序,并在那里调用update函数

private IEnumerator InvokeUpdateCollection()
{
    yield return null;
    gridObjectCollection.UpdateCollection();
}