2

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

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

SetActive(false);

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

GameObject.Find("gameObjectName");

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

4

1 回答 1

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


}
于 2014-08-31T08:21:04.213 回答