【问题标题】:How to disappear multiple canvas on target lost in Unity Vuforia?如何在 Unity Vuforia 中丢失目标上的多个画布?
【发布时间】:2016-09-29 18:06:50
【问题描述】:
我知道下面的代码会在 Vuforia 中丢失跟踪时消失画布。
在 DefaultTrackableEvent.cs 下,
Canvas[] canvasComponents = GetComponentsInChildren<Canvas>(true);
// Disable canvas:
foreach (Canvas component in canvasComponents)
{
component.enabled = false;
}
现在我有 3 个画布,我希望 2 个画布元素在目标丢失时消失。以上不适用于此!你能帮我解决一下吗!
【问题讨论】:
标签:
canvas
unity3d
augmented-reality
vuforia
【解决方案1】:
如果您知道要保持启用其中的哪一项,可以使用if 语句跳过它。
Canvas[] canvasComponents = GetComponentsInChildren<Canvas>(true);
// Disable canvas:
foreach (Canvas component in canvasComponents)
{
if(component.gameObject.tag != "someTag")
component.enabled = false;
}
现在将该特定画布的标签设置为someTag
希望对你有帮助
【解决方案2】:
我通过将画布保留在父游戏对象中并将父游戏对象放置在层次结构中的 ImageTarget 中来使其工作。
顺便说一句,始终确保要隐藏在 TargetLost 上的画布必须始终位于 Hierarchy 中的 ImageTarget 内!