using UnityEngine; using System.Collections; //提供一个后处理的基类,主要功能在于直接通过Inspector面板拖入shader,生成shader对应的材质 public class PostEffectBase : MonoBehaviour { //Inspector面板上直接拖入 public Shader shader = null; private Material _material = null; public Material _Material { get { if (_material == null) _material = GenerateMaterial(shader); return _material; } } //根据shader创建用于屏幕特效的材质 protected Material GenerateMaterial(Shader shader) { if (shader == null) return null; //需要判断shader是否支持 if (shader.isSupported == false) return null; Material material = new Material(shader); material.hideFlags = HideFlags.DontSave; if (material) return material; return null; } }