所谓unity renderer控制物体消失就是通过设置 renderer使物体隐藏,具体过程我们下面来看。

每一个可以被渲染的物体都会包含一个Renderer组件,用来渲染物体到屏幕上,如果禁用这个组件自然也就实现了隐藏物体。
代码示例如下:
[code]csharpcode:
using UnityEngine;
using System.Collections;
public class test : MonoBehaviour {
public Transform target;
void Start(){
}
void OnGUI(){
 //renderer control
if(GUILayout.Button("display")){
MeshRenderer[] marr = target.GetComponentsInChildren<MeshRenderer>(true);
foreach(MeshRenderer m in marr){
m.enabled = true;
}
}
if(GUILayout.Button("hide")){
MeshRenderer[] marr = target.GetComponentsInChildren<MeshRenderer>(true);
foreach(MeshRenderer m in marr){
m.enabled = false;
}
}
}
}
       在这里我做了一个遍历,可能一个物体会有多个面片,那就需要把物体的所有面片上的MeshRenderer全部禁用掉。
       也可能会有一些较为复杂的渲染可能会有Trail Renderer,Line Renderer,Skinned Mesh Renderer,Mesh Renderer等,找到它,禁用/激活它来实现隐藏或显示。