在很多游戏中,都会让出现模型边缘发光的效果,本文就用表面着色器实现一个简单的边缘发光的效果。
首先我们需要一个最简单的漫反射表面着色器:
Shader "Custom/TestUV" {
Properties {
_MainTex ("Albedo (RGB)", 2D) = "white" {}
}
SubShader {
Tags { "RenderType"="Opaque"}
LOD 200
CGPROGRAM
#pragma surface surf Lambert
sampler2D _MainTex;
struct Input {
float2 uv_MainTex;
};
void surf (Input IN, inout SurfaceOutput o) {
fixed4 c = tex2D (_MainTex, IN.uv_MainTex);
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
}
Properties里增加:
_RimColor("Rim Color", Color) = (1,1,1,1)
_RimPower("Rim Power", Range(0.5,8.0)) = 3.0