您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
40 行
905 B
40 行
905 B
using UnityEngine;
|
|
|
|
[RequireComponent (typeof(Camera))]
|
|
[AddComponentMenu("")]
|
|
public class ImageEffectBase : MonoBehaviour {
|
|
/// Provides a shader property that is set in the inspector
|
|
/// and a material instantiated from the shader
|
|
public Shader shader;
|
|
private Material m_Material;
|
|
|
|
protected virtual void Start ()
|
|
{
|
|
// Disable if we don't support image effects
|
|
if (!SystemInfo.supportsImageEffects) {
|
|
enabled = false;
|
|
return;
|
|
}
|
|
|
|
// Disable the image effect if the shader can't
|
|
// run on the users graphics card
|
|
if (!shader || !shader.isSupported)
|
|
enabled = false;
|
|
}
|
|
|
|
protected Material material {
|
|
get {
|
|
if (m_Material == null) {
|
|
m_Material = new Material (shader);
|
|
m_Material.hideFlags = HideFlags.HideAndDontSave;
|
|
}
|
|
return m_Material;
|
|
}
|
|
}
|
|
|
|
protected virtual void OnDisable() {
|
|
if( m_Material ) {
|
|
DestroyImmediate( m_Material );
|
|
}
|
|
}
|
|
}
|