| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | 
							- #ifndef ENVIRONMENT_SKYCORE
 
- #define ENVIRONMENT_SKYCORE
 
- //skyinput
 
- half4 _SkyUpColor1;
 
- fixed _SkyUpColor2Hight;
 
- half4 _SkyUpColor2;
 
- half4 _SkyUpColor2Back;
 
- half4 _SkyDownColor;
 
- half4 _HorizontalColor;
 
- half4 _HorizontalColorBack;
 
- fixed _HorizontalColorLength;
 
- fixed3 _SunDir;
 
- half   _SunSize;
 
- half4  _SunColor;
 
- half4 _SunGlowColor;
 
- half3 GetSkyBoxCol(fixed3 viewDir) {
 
- 	fixed y = viewDir.y;
 
- 	fixed vDotS =pow( saturate(dot(_SunDir, viewDir)),2);
 
- 	half3 upColor = lerp(_SkyUpColor2Back, _SkyUpColor2,vDotS);
 
- 	fixed upFactor = smoothstep(0, _SkyUpColor2Hight, y);
 
- 	half3 upColor2 = lerp(upColor, _SkyUpColor1, upFactor);
 
- 	fixed upDownFactor = step(0, y);
 
- 	half3 upDownColor = lerp(_SkyDownColor, upColor2, upDownFactor);
 
- 	fixed horizontaFactor = 1 - smoothstep(0, _HorizontalColorLength, abs(y));
 
- 	half3 horizontalCol = lerp(_HorizontalColorBack, _HorizontalColor, vDotS);
 
- 	half3 skyBoxColor = lerp(upDownColor, horizontalCol,pow( horizontaFactor,5));
 
- 	return skyBoxColor;
 
- }
 
- half3 GetSkyBoxAndSunCol(fixed3 viewDir) {
 
- 	half3 skyboxCol = GetSkyBoxCol(viewDir);
 
- 	fixed sDotV = saturate(dot(_SunDir, viewDir));
 
- 	fixed sunFactor = step(0.998, sDotV);
 
- 	half3 skyboxAndSunCol = lerp(skyboxCol, _SunColor, sunFactor);	
 
- 	return skyboxAndSunCol + pow(_SunGlowColor * smoothstep(0.8,1,sDotV),2);
 
- }
 
- #endif
 
 
  |