在学完了Phong光照模型之后,边缘光就可以在它基础上添加几行代码完成;

Shader:
Shader "Unlit/RimLight"
{
Properties{
_SpecularGlass("SpecularGlassStrength", Range(0,64)) = 32
_ObjColor("ObjColor", color) = (1,1,1,1)
_RimColor("RimColor", color) = (1,1,1,1)
_RimStrength("RimStrength", Range(0.0001,3.0))=0.1
}
SubShader
{
Tags{ "RenderType" = "Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "Lighting.cginc"
struct appdata
{
float4 vertex : POSITION;
float3 normal : NORMAL;
};
struct v2f
{
float3 worldNormal:NORMAL;
float4 vertex : SV_POSITION;
float3 worldPos : TEXCOORD1;
};
v2f vert(appdata_base v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.worldNormal = mul(v.normal, (float3x3)unity_WorldToObject);
o.worldPos = mul(u

最低0.47元/天 解锁文章
1063

被折叠的 条评论
为什么被折叠?



