我希望在一切开始之前将我的场景的一部分设置为隐藏
所以,假设我有一些isHidden
(我试图找到)属性,我之前或在我场景的第一帧设置为true
。
在某些时候我想取消隐藏它并触发动画,我知道如何触发动画。 并且我发现隐藏对象的唯一方法是将它设置为:
SetActive(false);
它确实隐藏了,但是当我尝试稍后在脚本中使用
访问它时GameObject.Find("gameObjectName");
它返回null。
那么,通过脚本隐藏或隐藏GameObject
的正确方法是什么。
这不是Mesh
所以它没有网格渲染器。
答案 0 :(得分:7)
使用 Renderer.enabled
bool enabled;
Description
Makes the rendered 3D object visible if enabled.
示例代码:
public class ExampleClass : MonoBehaviour {
void Show() {
renderer.enabled = true;
}
void Hide() {
renderer.enabled = false;
}
void HideChildren()
{
Renderer[] lChildRenderers=gameObject.GetComponentsInChildren<Renderer>();
foreach ( Renderer lRenderer in lChildRenderers)
{
lRenderer.enabled=false;
}
}
void ShowChildren()
{
Renderer[] lChildRenderers=gameObject.GetComponentsInChildren<Renderer>();
foreach ( Renderer lRenderer in lChildRenderers)
{
lRenderer.enabled=true;
}
}
}