Shader-自发光强度
可用于比如 汽车游戏刹车灯,红绿灯 变亮变暗等情景
对SurfaceOutput的Emission 属性Albedo 乘以系数
CS文件
public class NewBehaviourScript : MonoBehaviour { public Material _m; public float _intensity; public Color _color; // Use this for initialization void Start () { _m = GetComponent<Renderer>().material; } void Update() { _m.SetColor("_color", _color); _m.SetFloat("_instensity", _intensity); } }
表面着色器Shader文件
Shader "Custom/NewShader" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _color("color",Color)=(1,1,1) _v("vector",vector)=(92,2,2,2) _intensity("_intensity",Range(0,5))=0 } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf Lambert sampler2D _MainTex; float3 _color; float4 _v; float _intensity; struct Input { float2 uv_MainTex; }; void surf (Input IN, inout SurfaceOutput o) { half4 c = tex2D (_MainTex, IN.uv_MainTex); // _intensity=0.5; c.rgb=_color; o.Albedo = c.rgb; o.Emission=o.Albedo*_intensity; } ENDCG } FallBack "Diffuse" }
效果:



