【发布时间】:2019-02-15 13:23:53
【问题描述】:
我在 Unity 中使用 Vuforia,它有一个名为 DefaultTrackableEventHandler 的内置脚本。 它有这样的代码;
protected virtual void OnTrackingFound()
{
var rendererComponents = GetComponentsInChildren<Renderer>(true);
foreach (var component in rendererComponents)
component.enabled = true;
}
我有一些带有“ignoreRend”标签的项目,我不想在跟踪找到目标图像时呈现这些项目。我有一个这样的列表:
GameObject[] ignoreTheseObjects = GameObject.FindGameObjectsWithTag("ignoreRend");
我一直在尝试找到一种方法,让 foreach 循环忽略我的 ignoreTheseObjects 列表中的项目,但没有任何成功。感觉像是很容易编码的东西,但我被卡住了......有没有办法比较列表中的项目?我试过寻找答案,但没有找到适合这个问题的任何东西。我在想类似的东西;
if (rendererComponents[i] == ignoreTheseObjects[i])
.. 但不知道如何进一步写。任何帮助将不胜感激!
【问题讨论】:
-
那么你想忽略(不启用)的组件也是rendererComponents Collection的一部分?
-
是的,因为每次找到目标图像时都会使用此脚本。
标签: c# list unity3d compare vuforia