Unity设置组件为false的使用可以查看下面部分代码。

一、设置Active
unity4.x写法:

  1. gameObject.SetActive(true);//显示物体
  2. gameObject.SetActive(false);//隐藏物体


unity3.x写法:

  1. gameObject.SetActiveRecursively(true);显示物体
  2. gameObject.SetActiveRecursively(false);隐藏物体
unity4.x会保持当前物体子物体所有的状态,unity3.x则是如果设置active为true,所有子物体全部变为true。 这也是unity升级后改进的一点。


二、设置Layer

假设现有Layer为:
Default = 0,TransparentFX = 1,Ignore Raycase = 2,Water = 4,MyLayer = 8.
设置相机Camera的Culling Mask为:Default+TransparentFX+Ignore Raycase+Water.
那么当设置物体的Layer为MyLayer时候,物体的Layer层在当前相机被忽略,也就相当于隐藏。具体代码为:

  1. using UnityEngine;
  2. using System.Collections;
  3. public class test : MonoBehaviour {
  4.  
  5.         void OnGUI () {
  6.                 if(GUILayout.Button("Display")){
  7.                         gameObject.layer = LayerMask.NameToLayer("Default");
  8.                 }
  9.  
  10.                 if(GUILayout.Button("Hide")){
  11.                         gameObject.layer = LayerMask.NameToLayer("MyLayer");
  12.                 }
  13.         }
  14. }

以上各种方法谨供大家参考,在选用的时候要根据实际的情况来选用适合的方法来实现物体的隐藏与显现。