通过脚本隐藏/取消隐藏Unity3D中的对象

or *_*ran 2 unity-game-engine gameobject

我希望在一切开始之前将我的场景的一部分设置为隐藏,所以让我说我有一些isHidden(我试图找到)属性,我设置为true之前,或在我的场景的第一帧.

在某些时候我想取消隐藏它并触发动画,我知道如何触发动画.我找到隐藏对象的唯一方法是设置它:

SetActive(false);
Run Code Online (Sandbox Code Playgroud)

它确实隐藏了,但是当我试图稍后在脚本中访问它时

GameObject.Find("gameObjectName");
Run Code Online (Sandbox Code Playgroud)

它返回null.那么,GameObject通过脚本隐藏或隐藏的正确方法是什么.这不是一个Mesh没有网格渲染器.

Rud*_*fwm 7

使用Renderer.enabled

bool enabled;
Description

Makes the rendered 3D object visible if enabled.
Run Code Online (Sandbox Code Playgroud)

示例代码:

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;
         }
    }


}
Run Code Online (Sandbox Code Playgroud)