|
21 | 21 | //v.2.0.7.5
|
22 | 22 | uniform float _Unlit_Intensity;
|
23 | 23 | uniform fixed _Is_Filter_LightColor;
|
| 24 | + uniform fixed _Is_LightColor_Outline; |
24 | 25 | //v.2.0.5
|
25 | 26 | uniform float4 _Color;
|
26 | 27 | uniform sampler2D _MainTex; uniform float4 _MainTex_ST;
|
|
114 | 115 | //v.2.0.5
|
115 | 116 | _Color = _BaseColor;
|
116 | 117 | float4 objPos = mul ( unity_ObjectToWorld, float4(0,0,0,1) );
|
117 |
| - //v.2.0.7.5 |
118 |
| - float3 defaultLightColor = saturate(max(half3(0.05,0.05,0.05),max(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)),ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)).rgb)*_Unlit_Intensity)); |
119 |
| - float defaultLightColorIntensity = (0.299*defaultLightColor.r + 0.587*defaultLightColor.g + 0.114*defaultLightColor.b); |
120 |
| - defaultLightColorIntensity = lerp(defaultLightColorIntensity, saturate(defaultLightColorIntensity), _Is_Filter_LightColor); |
121 |
| - float3 lightColor = saturate(lerp(max(defaultLightColor,_LightColor0.rgb),max(defaultLightColor,saturate(_LightColor0.rgb)),_Is_Filter_LightColor)); |
122 |
| - float3 Unlit_LightColor_Level = saturate(float3(defaultLightColorIntensity,defaultLightColorIntensity,defaultLightColorIntensity)*_Unlit_Intensity*3); |
123 |
| - lightColor = max(lightColor,Unlit_LightColor_Level); |
| 118 | + //v.2.0.7.5 |
| 119 | + half3 ambientSkyColor = unity_AmbientSky.rgb>0.05 ? unity_AmbientSky.rgb*_Unlit_Intensity : half3(0.05,0.05,0.05)*_Unlit_Intensity; |
| 120 | + float3 lightColor = _LightColor0.rgb >0.05 ? _LightColor0.rgb : ambientSkyColor.rgb; |
| 121 | + float lightColorIntensity = (0.299*lightColor.r + 0.587*lightColor.g + 0.114*lightColor.b); |
| 122 | + lightColor = lightColorIntensity<1 ? lightColor : lightColor/lightColorIntensity; |
| 123 | + lightColor = lerp(half3(1.0,1.0,1.0), lightColor, _Is_LightColor_Outline); |
124 | 124 | float2 Set_UV0 = i.uv0;
|
125 | 125 | float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(Set_UV0, _MainTex));
|
126 | 126 | float3 Set_BaseColor = _BaseColor.rgb*_MainTex_var.rgb;
|
127 |
| - float3 _Is_BlendBaseColor_var = lerp( _Outline_Color.rgb*lightColor, (_Outline_Color.rgb*Set_BaseColor*lightColor), _Is_BlendBaseColor ); |
| 127 | + float3 _Is_BlendBaseColor_var = lerp( _Outline_Color.rgb*lightColor, (_Outline_Color.rgb*Set_BaseColor*Set_BaseColor*lightColor), _Is_BlendBaseColor ); |
128 | 128 | //
|
129 | 129 | float3 _OutlineTex_var = tex2D(_OutlineTex,TRANSFORM_TEX(Set_UV0, _OutlineTex));
|
130 |
| -//v.2.0.4 |
| 130 | +//v.2.0.7.5 |
131 | 131 | #ifdef _IS_OUTLINE_CLIPPING_NO
|
132 |
| - float3 Set_Outline_Color = lerp(_Is_BlendBaseColor_var, _OutlineTex_var.rgb*_Is_BlendBaseColor_var, _Is_OutlineTex ); |
133 |
| - return fixed4(Set_Outline_Color,1.0); |
| 132 | + float3 Set_Outline_Color = lerp(_Is_BlendBaseColor_var, _OutlineTex_var.rgb*_Outline_Color.rgb*lightColor, _Is_OutlineTex ); |
| 133 | + return float4(Set_Outline_Color,1.0); |
134 | 134 | #elif _IS_OUTLINE_CLIPPING_YES
|
135 | 135 | float4 _ClippingMask_var = tex2D(_ClippingMask,TRANSFORM_TEX(Set_UV0, _ClippingMask));
|
136 | 136 | float Set_MainTexAlpha = _MainTex_var.a;
|
137 | 137 | float _IsBaseMapAlphaAsClippingMask_var = lerp( _ClippingMask_var.r, Set_MainTexAlpha, _IsBaseMapAlphaAsClippingMask );
|
138 | 138 | float _Inverse_Clipping_var = lerp( _IsBaseMapAlphaAsClippingMask_var, (1.0 - _IsBaseMapAlphaAsClippingMask_var), _Inverse_Clipping );
|
139 | 139 | float Set_Clipping = saturate((_Inverse_Clipping_var+_Clipping_Level));
|
140 | 140 | clip(Set_Clipping - 0.5);
|
141 |
| - float4 Set_Outline_Color = lerp( float4(_Is_BlendBaseColor_var,Set_Clipping), float4((_OutlineTex_var.rgb*_Is_BlendBaseColor_var),Set_Clipping), _Is_OutlineTex ); |
| 141 | + float4 Set_Outline_Color = lerp( float4(_Is_BlendBaseColor_var,Set_Clipping), float4((_OutlineTex_var.rgb*_Outline_Color.rgb*lightColor),Set_Clipping), _Is_OutlineTex ); |
142 | 142 | return Set_Outline_Color;
|
143 | 143 | #endif
|
144 | 144 | }
|
|
0 commit comments