#pragma surface surf Lamber ,这是一个很经典的 内置 漫反射模型
简单解释就是一个点的反射光强是和该点的法线向量和入射光向量和强度和夹角有关系的,其结果就是这两个向量的点积。既然已经知道了光照计算的原理,我们先来看看如何实现一个自己的光照模型吧。
自己实现:
- 首先将原来的
#pragma
行改为这样 -
#pragma surface surf CustomDiffuse
- 然后在SubShader块中添加如下代码
-
inline float4 LightingCustomDiffuse (SurfaceOutput s, fixed3 lightDir, fixed atten) { float difLight = max(0, dot (s.Normal, lightDir)); float4 col; col.rgb = s.Albedo * _LightColor0.rgb * (difLight * atten * 2); col.a = s.Alpha; return col; }