04.07.2022

This commit is contained in:
Plotnikov
2022-07-04 13:15:35 +03:00
parent 5fad2bcf6b
commit 696daa0b2e
7224 changed files with 3814576 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 63ea158c6dd5f0b4280145b7c876b5d4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 28de3be613be9f84598eb0abf4dac20f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,317 @@
Shader "Ciconia Studio/CS_Standard/Builtin/Lite/Standard (Specular setup)/Cutout"
{
Properties
{
[Space(35)][Header(Surface Options )]
[Space(15)][Enum(Off,2,On,0)] _Cull("Double Sided", Float) = 0 //"Back"
[Enum(Off,0,On,1)] _ZWrite("ZWrite", Float) = 1.0 //"On"
[Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 4 //"LessEqual"
[Space(35)][Header(Main Properties )][Space(15)]_GlobalXYTilingXYZWOffsetXY("Global --> XY(TilingXY) - ZW(OffsetXY)", Vector) = (1,1,0,0)
_Color("Color", Color) = (1,1,1,0)
[Toggle]_InvertABaseColor("Invert Alpha", Float) = 0
_MainTex("Base Color", 2D) = "white" {}
_Saturation("Saturation", Float) = 0
_Brightness("Brightness", Range( 1 , 8)) = 1
[Space(35)]_BumpMap("Normal Map", 2D) = "bump" {}
_BumpScale("Normal Intensity", Float) = 0.3
[Space(35)]_SpecularColor("Specular Color", Color) = (1,1,1,0)
_SpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {}
_SpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2
_Glossiness("Smoothness", Range( 0 , 2)) = 0.5
[Space(10)][KeywordEnum(SpecularAlpha,BaseColorAlpha)] _Source("Source", Float) = 0
[Space(35)]_ParallaxMap("Height Map", 2D) = "white" {}
_Parallax("Height Scale", Range( -0.1 , 0.1)) = 0
[Space(35)]_OcclusionMap("Ambient Occlusion Map", 2D) = "white" {}
_AoIntensity("Ao Intensity", Range( 0 , 2)) = 1
[HDR][Space(45)]_EmissionColor("Emission Color", Color) = (0,0,0,0)
_EmissionMap("Emission Map", 2D) = "white" {}
_EmissionIntensity("Intensity", Range( 0 , 2)) = 1
[Space(35)][Header(Mask Properties)][Toggle]_EnableDetailMask("Enable", Float) = 0
[Space(15)][Toggle]_VisualizeMask("Visualize Mask", Float) = 0
[Toggle]_SourceMask("Source - Use BaseColorAlpha", Float) = 0
[Space(15)][Toggle]_InvertMask("Invert Mask", Float) = 0
_DetailMask("Detail Mask", 2D) = "black" {}
_IntensityMask("Intensity", Range( 0 , 1)) = 1
[Space(15)]_ContrastDetailMap("Contrast", Float) = 0
_SpreadDetailMap("Spread", Float) = 0
[Space(35)][Header(Detail Properties)][Space(15)]_DetailColor("Color -->(Smoothness Intensity A)", Color) = (1,1,1,0)
_DetailAlbedoMap("Base Color -->(Smoothness A)", 2D) = "white" {}
_DetailSaturation("Saturation", Float) = 0
_DetailBrightness("Brightness", Range( 1 , 8)) = 1
[Space(35)][Toggle]_BlendMainNormal("Blend Main Normal", Float) = 1
_DetailNormalMap("Normal Map", 2D) = "bump" {}
_DetailNormalMapScale("Scale", Float) = 0.3
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[Space(35)][Header(Cutout Properties)][Space(15)][Toggle]_InvertCutout("Invert ", Float) = 0
[Toggle]_UseBaseColorAlpha("Use BaseColor Alpha", Float) = 0
_CutoutMap("Cutout Mask", 2D) = "white" {}
[Space(10)]_IntensityCutoutMap("Alpha Cutoff", Range( 0 , 1)) = 0.5
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Opaque" "Queue" = "AlphaTest+0" "IsEmissive" = "true" }
Cull[_Cull]
ZWrite[_ZWrite]
ZTest [_ZTest]
CGINCLUDE
#include "UnityCG.cginc"
#include "UnityStandardUtils.cginc"
#include "UnityPBSLighting.cginc"
#include "Lighting.cginc"
#pragma target 3.0
#pragma shader_feature_local _SOURCE_SPECULARALPHA _SOURCE_BASECOLORALPHA
#ifdef UNITY_PASS_SHADOWCASTER
#undef INTERNAL_DATA
#undef WorldReflectionVector
#undef WorldNormalVector
#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
#define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
#endif
struct Input
{
float2 uv_texcoord;
float3 viewDir;
INTERNAL_DATA
half ASEVFace : VFACE;
};
uniform float _BlendMainNormal;
uniform sampler2D _BumpMap;
uniform float4 _BumpMap_ST;
uniform float4 _GlobalXYTilingXYZWOffsetXY;
uniform sampler2D _ParallaxMap;
uniform float4 _ParallaxMap_ST;
uniform float _Parallax;
uniform float _BumpScale;
uniform sampler2D _DetailNormalMap;
uniform float4 _DetailNormalMap_ST;
uniform float _DetailNormalMapScale;
uniform float _EnableDetailMask;
uniform float _ContrastDetailMap;
uniform float _SourceMask;
uniform float _InvertMask;
uniform sampler2D _DetailMask;
uniform float4 _DetailMask_ST;
uniform float _InvertABaseColor;
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float _SpreadDetailMap;
uniform float _IntensityMask;
uniform float _VisualizeMask;
uniform float _Brightness;
uniform float4 _Color;
uniform float _Saturation;
uniform float _DetailBrightness;
uniform float4 _DetailColor;
uniform sampler2D _DetailAlbedoMap;
uniform float4 _DetailAlbedoMap_ST;
uniform float _DetailSaturation;
uniform float4 _EmissionColor;
uniform sampler2D _EmissionMap;
uniform float4 _EmissionMap_ST;
uniform float _EmissionIntensity;
uniform float4 _SpecularColor;
uniform sampler2D _SpecGlossMap;
uniform float4 _SpecGlossMap_ST;
uniform float _SpecularIntensity;
uniform float _Glossiness;
uniform sampler2D _OcclusionMap;
uniform float4 _OcclusionMap_ST;
uniform float _AoIntensity;
uniform float _InvertCutout;
uniform float _UseBaseColorAlpha;
uniform sampler2D _CutoutMap;
uniform float4 _CutoutMap_ST;
uniform float _IntensityCutoutMap;
float4 CalculateContrast( float contrastValue, float4 colorTarget )
{
float t = 0.5 * ( 1.0 - contrastValue );
return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget );
}
void surf( Input i , inout SurfaceOutputStandardSpecular o )
{
float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw;
float2 break26_g500 = uv_BumpMap;
float GlobalTilingX11 = ( _GlobalXYTilingXYZWOffsetXY.x - 1.0 );
float GlobalTilingY8 = ( _GlobalXYTilingXYZWOffsetXY.y - 1.0 );
float2 appendResult14_g500 = (float2(( break26_g500.x * GlobalTilingX11 ) , ( break26_g500.y * GlobalTilingY8 )));
float GlobalOffsetX10 = _GlobalXYTilingXYZWOffsetXY.z;
float GlobalOffsetY9 = _GlobalXYTilingXYZWOffsetXY.w;
float2 appendResult13_g500 = (float2(( break26_g500.x + GlobalOffsetX10 ) , ( break26_g500.y + GlobalOffsetY9 )));
float2 uv_ParallaxMap = i.uv_texcoord * _ParallaxMap_ST.xy + _ParallaxMap_ST.zw;
float2 break26_g490 = uv_ParallaxMap;
float2 appendResult14_g490 = (float2(( break26_g490.x * GlobalTilingX11 ) , ( break26_g490.y * GlobalTilingY8 )));
float2 appendResult13_g490 = (float2(( break26_g490.x + GlobalOffsetX10 ) , ( break26_g490.y + GlobalOffsetY9 )));
float4 temp_cast_0 = (tex2D( _ParallaxMap, ( appendResult14_g490 + appendResult13_g490 ) ).g).xxxx;
float2 paralaxOffset36_g489 = ParallaxOffset( temp_cast_0.x , _Parallax , i.viewDir );
float2 switchResult47_g489 = (((i.ASEVFace>0)?(paralaxOffset36_g489):(0.0)));
float2 Parallaxe380 = switchResult47_g489;
float3 temp_output_356_0 = UnpackScaleNormal( tex2D( _BumpMap, ( ( appendResult14_g500 + appendResult13_g500 ) + Parallaxe380 ) ), _BumpScale );
float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw;
float3 NormalDetail155 = UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), _DetailNormalMapScale );
float4 temp_cast_2 = (0.0).xxxx;
float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw;
float4 tex2DNode27_g496 = tex2D( _DetailMask, uv_DetailMask );
float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
float2 break26_g495 = uv_MainTex;
float2 appendResult14_g495 = (float2(( break26_g495.x * GlobalTilingX11 ) , ( break26_g495.y * GlobalTilingY8 )));
float2 appendResult13_g495 = (float2(( break26_g495.x + GlobalOffsetX10 ) , ( break26_g495.y + GlobalOffsetY9 )));
float4 tex2DNode7_g494 = tex2D( _MainTex, ( ( appendResult14_g495 + appendResult13_g495 ) + Parallaxe380 ) );
float BaseColorAlpha46 = (( _InvertABaseColor )?( ( 1.0 - tex2DNode7_g494.a ) ):( tex2DNode7_g494.a ));
float4 clampResult38_g496 = clamp( ( CalculateContrast(( _ContrastDetailMap + 1.0 ),(( _SourceMask )?( ( (( _InvertMask )?( ( 1.0 - tex2DNode27_g496 ) ):( tex2DNode27_g496 )) + BaseColorAlpha46 ) ):( (( _InvertMask )?( ( 1.0 - tex2DNode27_g496 ) ):( tex2DNode27_g496 )) ))) + -_SpreadDetailMap ) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) );
float4 Mask158 = (( _EnableDetailMask )?( ( clampResult38_g496 * _IntensityMask ) ):( temp_cast_2 ));
float3 lerpResult137 = lerp( temp_output_356_0 , NormalDetail155 , Mask158.rgb);
float3 lerpResult205 = lerp( temp_output_356_0 , BlendNormals( temp_output_356_0 , NormalDetail155 ) , Mask158.rgb);
float3 Normal27 = (( _BlendMainNormal )?( lerpResult205 ):( lerpResult137 ));
o.Normal = Normal27;
float clampResult27_g494 = clamp( _Saturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g494 = ( _Color * tex2DNode7_g494 ).rgb;
float desaturateDot29_g494 = dot( desaturateInitialColor29_g494, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g494 = lerp( desaturateInitialColor29_g494, desaturateDot29_g494.xxx, -clampResult27_g494 );
float4 temp_output_355_0 = CalculateContrast(_Brightness,float4( desaturateVar29_g494 , 0.0 ));
float2 uv_DetailAlbedoMap = i.uv_texcoord * _DetailAlbedoMap_ST.xy + _DetailAlbedoMap_ST.zw;
float4 tex2DNode7_g498 = tex2D( _DetailAlbedoMap, uv_DetailAlbedoMap );
float clampResult27_g498 = clamp( _DetailSaturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g498 = ( _DetailColor * tex2DNode7_g498 ).rgb;
float desaturateDot29_g498 = dot( desaturateInitialColor29_g498, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g498 = lerp( desaturateInitialColor29_g498, desaturateDot29_g498.xxx, -clampResult27_g498 );
float4 AlbedoDetail153 = CalculateContrast(_DetailBrightness,float4( desaturateVar29_g498 , 0.0 ));
float4 lerpResult365 = lerp( temp_output_355_0 , AlbedoDetail153 , Mask158);
float4 blendOpSrc364 = temp_output_355_0;
float4 blendOpDest364 = lerpResult365;
float4 lerpBlendMode364 = lerp(blendOpDest364,(( blendOpDest364 > 0.5 ) ? ( 1.0 - 2.0 * ( 1.0 - blendOpDest364 ) * ( 1.0 - blendOpSrc364 ) ) : ( 2.0 * blendOpDest364 * blendOpSrc364 ) ),Mask158.r);
float4 Albedo26 = (( _VisualizeMask )?( Mask158 ):( ( saturate( lerpBlendMode364 )) ));
o.Albedo = Albedo26.rgb;
float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
float2 break26_g520 = uv_EmissionMap;
float2 appendResult14_g520 = (float2(( break26_g520.x * GlobalTilingX11 ) , ( break26_g520.y * GlobalTilingY8 )));
float2 appendResult13_g520 = (float2(( break26_g520.x + GlobalOffsetX10 ) , ( break26_g520.y + GlobalOffsetY9 )));
float4 Emission110 = ( _EmissionColor * tex2D( _EmissionMap, ( ( appendResult14_g520 + appendResult13_g520 ) + Parallaxe380 ) ) * _EmissionIntensity );
o.Emission = Emission110.rgb;
float2 uv_SpecGlossMap = i.uv_texcoord * _SpecGlossMap_ST.xy + _SpecGlossMap_ST.zw;
float2 break26_g502 = uv_SpecGlossMap;
float2 appendResult14_g502 = (float2(( break26_g502.x * GlobalTilingX11 ) , ( break26_g502.y * GlobalTilingY8 )));
float2 appendResult13_g502 = (float2(( break26_g502.x + GlobalOffsetX10 ) , ( break26_g502.y + GlobalOffsetY9 )));
float4 tex2DNode3_g501 = tex2D( _SpecGlossMap, ( ( appendResult14_g502 + appendResult13_g502 ) + Parallaxe380 ) );
float4 Specular41 = ( _SpecularColor * tex2DNode3_g501 * _SpecularIntensity );
o.Specular = Specular41.rgb;
#if defined(_SOURCE_SPECULARALPHA)
float staticSwitch31_g501 = ( tex2DNode3_g501.a * _Glossiness );
#elif defined(_SOURCE_BASECOLORALPHA)
float staticSwitch31_g501 = ( _Glossiness * BaseColorAlpha46 );
#else
float staticSwitch31_g501 = ( tex2DNode3_g501.a * _Glossiness );
#endif
float DetailBaseColorAlpha170 = ( _DetailColor.a * tex2DNode7_g498.a );
float lerpResult387 = lerp( staticSwitch31_g501 , DetailBaseColorAlpha170 , Mask158.r);
float Smoothness40 = lerpResult387;
o.Smoothness = Smoothness40;
float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw;
float2 break26_g518 = uv_OcclusionMap;
float2 appendResult14_g518 = (float2(( break26_g518.x * GlobalTilingX11 ) , ( break26_g518.y * GlobalTilingY8 )));
float2 appendResult13_g518 = (float2(( break26_g518.x + GlobalOffsetX10 ) , ( break26_g518.y + GlobalOffsetY9 )));
float blendOpSrc2_g517 = tex2D( _OcclusionMap, ( ( appendResult14_g518 + appendResult13_g518 ) + Parallaxe380 ) ).r;
float blendOpDest2_g517 = ( 1.0 - _AoIntensity );
float AmbientOcclusion94 = ( saturate( ( 1.0 - ( 1.0 - blendOpSrc2_g517 ) * ( 1.0 - blendOpDest2_g517 ) ) ));
o.Occlusion = AmbientOcclusion94;
o.Alpha = 1;
float2 uv_CutoutMap = i.uv_texcoord * _CutoutMap_ST.xy + _CutoutMap_ST.zw;
float4 tex2DNode8_g516 = tex2D( _CutoutMap, uv_CutoutMap );
float4 temp_cast_14 = (BaseColorAlpha46).xxxx;
float4 temp_cast_15 = (BaseColorAlpha46).xxxx;
float4 clampResult24_g516 = clamp( (( _InvertCutout )?( ( 1.0 - (( _UseBaseColorAlpha )?( temp_cast_15 ):( tex2DNode8_g516 )) ) ):( (( _UseBaseColorAlpha )?( temp_cast_14 ):( tex2DNode8_g516 )) )) , float4( 0,0,0,0 ) , float4( 1,0,0,0 ) );
float4 Cutout370 = clampResult24_g516;
clip( Cutout370.r - _IntensityCutoutMap );
}
ENDCG
CGPROGRAM
#pragma surface surf StandardSpecular keepalpha fullforwardshadows
ENDCG
Pass
{
Name "ShadowCaster"
Tags{ "LightMode" = "ShadowCaster" }
ZWrite On
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#pragma multi_compile_shadowcaster
#pragma multi_compile UNITY_PASS_SHADOWCASTER
#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
#include "HLSLSupport.cginc"
#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
#define CAN_SKIP_VPOS
#endif
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "UnityPBSLighting.cginc"
struct v2f
{
V2F_SHADOW_CASTER;
float2 customPack1 : TEXCOORD1;
float4 tSpace0 : TEXCOORD2;
float4 tSpace1 : TEXCOORD3;
float4 tSpace2 : TEXCOORD4;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v )
{
v2f o;
UNITY_SETUP_INSTANCE_ID( v );
UNITY_INITIALIZE_OUTPUT( v2f, o );
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
UNITY_TRANSFER_INSTANCE_ID( v, o );
Input customInputData;
float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
half3 worldNormal = UnityObjectToWorldNormal( v.normal );
half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
half tangentSign = v.tangent.w * unity_WorldTransformParams.w;
half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
o.customPack1.xy = customInputData.uv_texcoord;
o.customPack1.xy = v.texcoord;
TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
return o;
}
half4 frag( v2f IN
#if !defined( CAN_SKIP_VPOS )
, UNITY_VPOS_TYPE vpos : VPOS
#endif
) : SV_Target
{
UNITY_SETUP_INSTANCE_ID( IN );
Input surfIN;
UNITY_INITIALIZE_OUTPUT( Input, surfIN );
surfIN.uv_texcoord = IN.customPack1.xy;
float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
surfIN.viewDir = IN.tSpace0.xyz * worldViewDir.x + IN.tSpace1.xyz * worldViewDir.y + IN.tSpace2.xyz * worldViewDir.z;
surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
SurfaceOutputStandardSpecular o;
UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandardSpecular, o )
surf( surfIN, o );
#if defined( CAN_SKIP_VPOS )
float2 vpos = IN.pos;
#endif
SHADOW_CASTER_FRAGMENT( IN )
}
ENDCG
}
}
Fallback "Diffuse"
}

View File

@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 0e0019510d6142644b412d07db9dee4e
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,301 @@
Shader "Ciconia Studio/CS_Standard/Builtin/Lite/Standard (Specular setup)/Opaque"
{
Properties
{
[Space(35)][Header(Surface Options )]
[Space(15)][Enum(Off,2,On,0)] _Cull("Double Sided", Float) = 0 //"Back"
[Enum(Off,0,On,1)] _ZWrite("ZWrite", Float) = 1.0 //"On"
[Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 4 //"LessEqual"
[Space(35)][Header(Main Properties )][Space(15)]_GlobalXYTilingXYZWOffsetXY("Global --> XY(TilingXY) - ZW(OffsetXY)", Vector) = (1,1,0,0)
_Color("Color", Color) = (1,1,1,0)
[Toggle]_InvertABaseColor("Invert Alpha", Float) = 0
_MainTex("Base Color", 2D) = "white" {}
_Saturation("Saturation", Float) = 0
_Brightness("Brightness", Range( 1 , 8)) = 1
[Space(35)]_BumpMap("Normal Map", 2D) = "bump" {}
_BumpScale("Normal Intensity", Float) = 0.3
[Space(35)]_SpecularColor("Specular Color", Color) = (1,1,1,0)
_SpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {}
_SpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2
_Glossiness("Smoothness", Range( 0 , 2)) = 0.5
[Space(10)][KeywordEnum(SpecularAlpha,BaseColorAlpha)] _Source("Source", Float) = 0
[Space(35)]_ParallaxMap("Height Map", 2D) = "white" {}
_Parallax("Height Scale", Range( -0.1 , 0.1)) = 0
[Space(35)]_OcclusionMap("Ambient Occlusion Map", 2D) = "white" {}
_AoIntensity("Ao Intensity", Range( 0 , 2)) = 1
[HDR][Space(45)]_EmissionColor("Emission Color", Color) = (0,0,0,0)
_EmissionMap("Emission Map", 2D) = "white" {}
_EmissionIntensity("Intensity", Range( 0 , 2)) = 1
[Space(35)][Header(Mask Properties)][Toggle]_EnableDetailMask("Enable", Float) = 0
[Space(15)][Toggle]_VisualizeMask("Visualize Mask", Float) = 0
[Toggle]_SourceMask("Source - Use BaseColorAlpha", Float) = 0
[Space(15)][Toggle]_InvertMask("Invert Mask", Float) = 0
_DetailMask("Detail Mask", 2D) = "black" {}
_IntensityMask("Intensity", Range( 0 , 1)) = 1
[Space(15)]_ContrastDetailMap("Contrast", Float) = 0
_SpreadDetailMap("Spread", Float) = 0
[Space(35)][Header(Detail Properties)][Space(15)]_DetailColor("Color -->(Smoothness Intensity A)", Color) = (1,1,1,0)
_DetailAlbedoMap("Base Color -->(Smoothness A)", 2D) = "white" {}
_DetailSaturation("Saturation", Float) = 0
_DetailBrightness("Brightness", Range( 1 , 8)) = 1
[Space(35)][Toggle]_BlendMainNormal("Blend Main Normal", Float) = 1
_DetailNormalMap("Normal Map", 2D) = "bump" {}
_DetailNormalMapScale("Scale", Float) = 0.3
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" "IsEmissive" = "true" }
Cull[_Cull]
ZWrite[_ZWrite]
ZTest [_ZTest]
CGINCLUDE
#include "UnityCG.cginc"
#include "UnityStandardUtils.cginc"
#include "UnityPBSLighting.cginc"
#include "Lighting.cginc"
#pragma target 3.0
#pragma shader_feature_local _SOURCE_SPECULARALPHA _SOURCE_BASECOLORALPHA
#ifdef UNITY_PASS_SHADOWCASTER
#undef INTERNAL_DATA
#undef WorldReflectionVector
#undef WorldNormalVector
#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
#define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
#endif
struct Input
{
float2 uv_texcoord;
float3 viewDir;
INTERNAL_DATA
half ASEVFace : VFACE;
};
uniform float _BlendMainNormal;
uniform sampler2D _BumpMap;
uniform float4 _BumpMap_ST;
uniform float4 _GlobalXYTilingXYZWOffsetXY;
uniform sampler2D _ParallaxMap;
uniform float4 _ParallaxMap_ST;
uniform float _Parallax;
uniform float _BumpScale;
uniform sampler2D _DetailNormalMap;
uniform float4 _DetailNormalMap_ST;
uniform float _DetailNormalMapScale;
uniform float _EnableDetailMask;
uniform float _ContrastDetailMap;
uniform float _SourceMask;
uniform float _InvertMask;
uniform sampler2D _DetailMask;
uniform float4 _DetailMask_ST;
uniform float _InvertABaseColor;
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float _SpreadDetailMap;
uniform float _IntensityMask;
uniform float _VisualizeMask;
uniform float _Brightness;
uniform float4 _Color;
uniform float _Saturation;
uniform float _DetailBrightness;
uniform float4 _DetailColor;
uniform sampler2D _DetailAlbedoMap;
uniform float4 _DetailAlbedoMap_ST;
uniform float _DetailSaturation;
uniform float4 _EmissionColor;
uniform sampler2D _EmissionMap;
uniform float4 _EmissionMap_ST;
uniform float _EmissionIntensity;
uniform float4 _SpecularColor;
uniform sampler2D _SpecGlossMap;
uniform float4 _SpecGlossMap_ST;
uniform float _SpecularIntensity;
uniform float _Glossiness;
uniform sampler2D _OcclusionMap;
uniform float4 _OcclusionMap_ST;
uniform float _AoIntensity;
float4 CalculateContrast( float contrastValue, float4 colorTarget )
{
float t = 0.5 * ( 1.0 - contrastValue );
return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget );
}
void surf( Input i , inout SurfaceOutputStandardSpecular o )
{
float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw;
float2 break26_g497 = uv_BumpMap;
float GlobalTilingX11 = ( _GlobalXYTilingXYZWOffsetXY.x - 1.0 );
float GlobalTilingY8 = ( _GlobalXYTilingXYZWOffsetXY.y - 1.0 );
float2 appendResult14_g497 = (float2(( break26_g497.x * GlobalTilingX11 ) , ( break26_g497.y * GlobalTilingY8 )));
float GlobalOffsetX10 = _GlobalXYTilingXYZWOffsetXY.z;
float GlobalOffsetY9 = _GlobalXYTilingXYZWOffsetXY.w;
float2 appendResult13_g497 = (float2(( break26_g497.x + GlobalOffsetX10 ) , ( break26_g497.y + GlobalOffsetY9 )));
float2 uv_ParallaxMap = i.uv_texcoord * _ParallaxMap_ST.xy + _ParallaxMap_ST.zw;
float2 break26_g489 = uv_ParallaxMap;
float2 appendResult14_g489 = (float2(( break26_g489.x * GlobalTilingX11 ) , ( break26_g489.y * GlobalTilingY8 )));
float2 appendResult13_g489 = (float2(( break26_g489.x + GlobalOffsetX10 ) , ( break26_g489.y + GlobalOffsetY9 )));
float4 temp_cast_0 = (tex2D( _ParallaxMap, ( appendResult14_g489 + appendResult13_g489 ) ).g).xxxx;
float2 paralaxOffset36_g488 = ParallaxOffset( temp_cast_0.x , _Parallax , i.viewDir );
float2 switchResult47_g488 = (((i.ASEVFace>0)?(paralaxOffset36_g488):(0.0)));
float2 Parallaxe375 = switchResult47_g488;
float3 temp_output_356_0 = UnpackScaleNormal( tex2D( _BumpMap, ( ( appendResult14_g497 + appendResult13_g497 ) + Parallaxe375 ) ), _BumpScale );
float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw;
float3 NormalDetail155 = UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), _DetailNormalMapScale );
float4 temp_cast_2 = (0.0).xxxx;
float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw;
float4 tex2DNode27_g493 = tex2D( _DetailMask, uv_DetailMask );
float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
float2 break26_g492 = uv_MainTex;
float2 appendResult14_g492 = (float2(( break26_g492.x * GlobalTilingX11 ) , ( break26_g492.y * GlobalTilingY8 )));
float2 appendResult13_g492 = (float2(( break26_g492.x + GlobalOffsetX10 ) , ( break26_g492.y + GlobalOffsetY9 )));
float4 tex2DNode7_g491 = tex2D( _MainTex, ( ( appendResult14_g492 + appendResult13_g492 ) + Parallaxe375 ) );
float BaseColorAlpha46 = (( _InvertABaseColor )?( ( 1.0 - tex2DNode7_g491.a ) ):( tex2DNode7_g491.a ));
float4 clampResult38_g493 = clamp( ( CalculateContrast(( _ContrastDetailMap + 1.0 ),(( _SourceMask )?( ( (( _InvertMask )?( ( 1.0 - tex2DNode27_g493 ) ):( tex2DNode27_g493 )) + BaseColorAlpha46 ) ):( (( _InvertMask )?( ( 1.0 - tex2DNode27_g493 ) ):( tex2DNode27_g493 )) ))) + -_SpreadDetailMap ) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) );
float4 Mask158 = (( _EnableDetailMask )?( ( clampResult38_g493 * _IntensityMask ) ):( temp_cast_2 ));
float3 lerpResult137 = lerp( temp_output_356_0 , NormalDetail155 , Mask158.rgb);
float3 lerpResult205 = lerp( temp_output_356_0 , BlendNormals( temp_output_356_0 , NormalDetail155 ) , Mask158.rgb);
float3 Normal27 = (( _BlendMainNormal )?( lerpResult205 ):( lerpResult137 ));
o.Normal = Normal27;
float clampResult27_g491 = clamp( _Saturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g491 = ( _Color * tex2DNode7_g491 ).rgb;
float desaturateDot29_g491 = dot( desaturateInitialColor29_g491, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g491 = lerp( desaturateInitialColor29_g491, desaturateDot29_g491.xxx, -clampResult27_g491 );
float4 temp_output_355_0 = CalculateContrast(_Brightness,float4( desaturateVar29_g491 , 0.0 ));
float2 uv_DetailAlbedoMap = i.uv_texcoord * _DetailAlbedoMap_ST.xy + _DetailAlbedoMap_ST.zw;
float4 tex2DNode7_g494 = tex2D( _DetailAlbedoMap, uv_DetailAlbedoMap );
float clampResult27_g494 = clamp( _DetailSaturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g494 = ( _DetailColor * tex2DNode7_g494 ).rgb;
float desaturateDot29_g494 = dot( desaturateInitialColor29_g494, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g494 = lerp( desaturateInitialColor29_g494, desaturateDot29_g494.xxx, -clampResult27_g494 );
float4 AlbedoDetail153 = CalculateContrast(_DetailBrightness,float4( desaturateVar29_g494 , 0.0 ));
float4 lerpResult365 = lerp( temp_output_355_0 , AlbedoDetail153 , Mask158);
float4 blendOpSrc364 = temp_output_355_0;
float4 blendOpDest364 = lerpResult365;
float4 lerpBlendMode364 = lerp(blendOpDest364,(( blendOpDest364 > 0.5 ) ? ( 1.0 - 2.0 * ( 1.0 - blendOpDest364 ) * ( 1.0 - blendOpSrc364 ) ) : ( 2.0 * blendOpDest364 * blendOpSrc364 ) ),Mask158.r);
float4 Albedo26 = (( _VisualizeMask )?( Mask158 ):( ( saturate( lerpBlendMode364 )) ));
o.Albedo = Albedo26.rgb;
float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
float2 break26_g504 = uv_EmissionMap;
float2 appendResult14_g504 = (float2(( break26_g504.x * GlobalTilingX11 ) , ( break26_g504.y * GlobalTilingY8 )));
float2 appendResult13_g504 = (float2(( break26_g504.x + GlobalOffsetX10 ) , ( break26_g504.y + GlobalOffsetY9 )));
float4 Emission110 = ( _EmissionColor * tex2D( _EmissionMap, ( ( appendResult14_g504 + appendResult13_g504 ) + Parallaxe375 ) ) * _EmissionIntensity );
o.Emission = Emission110.rgb;
float2 uv_SpecGlossMap = i.uv_texcoord * _SpecGlossMap_ST.xy + _SpecGlossMap_ST.zw;
float2 break26_g499 = uv_SpecGlossMap;
float2 appendResult14_g499 = (float2(( break26_g499.x * GlobalTilingX11 ) , ( break26_g499.y * GlobalTilingY8 )));
float2 appendResult13_g499 = (float2(( break26_g499.x + GlobalOffsetX10 ) , ( break26_g499.y + GlobalOffsetY9 )));
float4 tex2DNode3_g498 = tex2D( _SpecGlossMap, ( ( appendResult14_g499 + appendResult13_g499 ) + Parallaxe375 ) );
float4 Specular41 = ( _SpecularColor * tex2DNode3_g498 * _SpecularIntensity );
o.Specular = Specular41.rgb;
#if defined(_SOURCE_SPECULARALPHA)
float staticSwitch31_g498 = ( tex2DNode3_g498.a * _Glossiness );
#elif defined(_SOURCE_BASECOLORALPHA)
float staticSwitch31_g498 = ( _Glossiness * BaseColorAlpha46 );
#else
float staticSwitch31_g498 = ( tex2DNode3_g498.a * _Glossiness );
#endif
float DetailBaseColorAlpha170 = ( _DetailColor.a * tex2DNode7_g494.a );
float lerpResult385 = lerp( staticSwitch31_g498 , DetailBaseColorAlpha170 , Mask158.r);
float Smoothness40 = lerpResult385;
o.Smoothness = Smoothness40;
float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw;
float2 break26_g506 = uv_OcclusionMap;
float2 appendResult14_g506 = (float2(( break26_g506.x * GlobalTilingX11 ) , ( break26_g506.y * GlobalTilingY8 )));
float2 appendResult13_g506 = (float2(( break26_g506.x + GlobalOffsetX10 ) , ( break26_g506.y + GlobalOffsetY9 )));
float blendOpSrc2_g505 = tex2D( _OcclusionMap, ( ( appendResult14_g506 + appendResult13_g506 ) + Parallaxe375 ) ).r;
float blendOpDest2_g505 = ( 1.0 - _AoIntensity );
float AmbientOcclusion94 = ( saturate( ( 1.0 - ( 1.0 - blendOpSrc2_g505 ) * ( 1.0 - blendOpDest2_g505 ) ) ));
o.Occlusion = AmbientOcclusion94;
o.Alpha = 1;
}
ENDCG
CGPROGRAM
#pragma surface surf StandardSpecular keepalpha fullforwardshadows
ENDCG
Pass
{
Name "ShadowCaster"
Tags{ "LightMode" = "ShadowCaster" }
ZWrite On
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#pragma multi_compile_shadowcaster
#pragma multi_compile UNITY_PASS_SHADOWCASTER
#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
#include "HLSLSupport.cginc"
#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
#define CAN_SKIP_VPOS
#endif
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "UnityPBSLighting.cginc"
struct v2f
{
V2F_SHADOW_CASTER;
float2 customPack1 : TEXCOORD1;
float4 tSpace0 : TEXCOORD2;
float4 tSpace1 : TEXCOORD3;
float4 tSpace2 : TEXCOORD4;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v )
{
v2f o;
UNITY_SETUP_INSTANCE_ID( v );
UNITY_INITIALIZE_OUTPUT( v2f, o );
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
UNITY_TRANSFER_INSTANCE_ID( v, o );
Input customInputData;
float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
half3 worldNormal = UnityObjectToWorldNormal( v.normal );
half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
half tangentSign = v.tangent.w * unity_WorldTransformParams.w;
half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
o.customPack1.xy = customInputData.uv_texcoord;
o.customPack1.xy = v.texcoord;
TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
return o;
}
half4 frag( v2f IN
#if !defined( CAN_SKIP_VPOS )
, UNITY_VPOS_TYPE vpos : VPOS
#endif
) : SV_Target
{
UNITY_SETUP_INSTANCE_ID( IN );
Input surfIN;
UNITY_INITIALIZE_OUTPUT( Input, surfIN );
surfIN.uv_texcoord = IN.customPack1.xy;
float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
surfIN.viewDir = IN.tSpace0.xyz * worldViewDir.x + IN.tSpace1.xyz * worldViewDir.y + IN.tSpace2.xyz * worldViewDir.z;
surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
SurfaceOutputStandardSpecular o;
UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandardSpecular, o )
surf( surfIN, o );
#if defined( CAN_SKIP_VPOS )
float2 vpos = IN.pos;
#endif
SHADOW_CASTER_FRAGMENT( IN )
}
ENDCG
}
}
Fallback "Diffuse"
}

View File

@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: ed04895971c00fc498c346df2ac0e9b4
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,325 @@
Shader "Ciconia Studio/CS_Standard/Builtin/Lite/Standard (Specular setup)/Transparent"
{
Properties
{
[Space(35)][Header(Surface Options )]
[Space(15)][Enum(Off,2,On,0)] _Cull("Double Sided", Float) = 0 //"Back"
[Enum(Off,0,On,1)] _ZWrite("ZWrite", Float) = 1.0 //"On"
[Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 4 //"LessEqual"
[Space(35)][Header(Main Properties )][Space(15)]_GlobalXYTilingXYZWOffsetXY("Global --> XY(TilingXY) - ZW(OffsetXY)", Vector) = (1,1,0,0)
_Color("Color", Color) = (1,1,1,0)
[Toggle]_InvertABaseColor("Invert Alpha", Float) = 0
_MainTex("Base Color", 2D) = "white" {}
_Saturation("Saturation", Float) = 0
_Brightness("Brightness", Range( 1 , 8)) = 1
[Space(35)]_BumpMap("Normal Map", 2D) = "bump" {}
_BumpScale("Normal Intensity", Float) = 0.3
[Space(35)]_SpecularColor("Specular Color", Color) = (1,1,1,0)
_SpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {}
_SpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2
_Glossiness("Smoothness", Range( 0 , 2)) = 0.5
[Space(10)][KeywordEnum(SpecularAlpha,BaseColorAlpha)] _Source("Source", Float) = 0
[Space(35)]_ParallaxMap("Height Map", 2D) = "white" {}
_Parallax("Height Scale", Range( -0.1 , 0.1)) = 0
[Space(35)]_OcclusionMap("Ambient Occlusion Map", 2D) = "white" {}
_AoIntensity("Ao Intensity", Range( 0 , 2)) = 1
[HDR][Space(45)]_EmissionColor("Emission Color", Color) = (0,0,0,0)
_EmissionMap("Emission Map", 2D) = "white" {}
_EmissionIntensity("Intensity", Range( 0 , 2)) = 1
[Space(35)][Header(Mask Properties)][Toggle]_EnableDetailMask("Enable", Float) = 0
[Space(15)][Toggle]_VisualizeMask("Visualize Mask", Float) = 0
[Toggle]_SourceMask("Source - Use BaseColorAlpha", Float) = 0
[Space(15)][Toggle]_InvertMask("Invert Mask", Float) = 0
_DetailMask("Detail Mask", 2D) = "black" {}
_IntensityMask("Intensity", Range( 0 , 1)) = 1
[Space(15)]_ContrastDetailMap("Contrast", Float) = 0
_SpreadDetailMap("Spread", Float) = 0
[Space(35)][Header(Detail Properties)][Space(15)]_DetailColor("Color -->(Smoothness Intensity A)", Color) = (1,1,1,0)
_DetailAlbedoMap("Base Color -->(Smoothness A)", 2D) = "white" {}
_DetailSaturation("Saturation", Float) = 0
_DetailBrightness("Brightness", Range( 1 , 8)) = 1
[Space(35)][Toggle]_BlendMainNormal("Blend Main Normal", Float) = 1
_DetailNormalMap("Normal Map", 2D) = "bump" {}
_DetailNormalMapScale("Scale", Float) = 0.3
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[Space(35)][Header(Transparent Properties)][Space(15)][Toggle]_InvertTransparent("Invert ", Float) = 0
[Toggle]_UseBaseColorAlpha("Use BaseColor Alpha", Float) = 0
_TransparentMask("Transparent Mask", 2D) = "white" {}
_IntensityTransparentMap("Opacity", Range( 0 , 1)) = 0
[Space(15)]_ContrastTransparentMap("Contrast", Float) = 0
_SpreadTransparentMap("Spread", Float) = 0
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Custom" "Queue" = "Transparent+0" "IsEmissive" = "true" }
Cull[_Cull]
ZWrite[_ZWrite]
ZTest [_ZTest]
Blend SrcAlpha OneMinusSrcAlpha
CGINCLUDE
#include "UnityCG.cginc"
#include "UnityStandardUtils.cginc"
#include "UnityPBSLighting.cginc"
#include "Lighting.cginc"
#pragma target 3.0
#pragma shader_feature_local _SOURCE_SPECULARALPHA _SOURCE_BASECOLORALPHA
#ifdef UNITY_PASS_SHADOWCASTER
#undef INTERNAL_DATA
#undef WorldReflectionVector
#undef WorldNormalVector
#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
#define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
#endif
struct Input
{
float2 uv_texcoord;
float3 viewDir;
INTERNAL_DATA
half ASEVFace : VFACE;
};
uniform float _BlendMainNormal;
uniform sampler2D _BumpMap;
uniform float4 _BumpMap_ST;
uniform float4 _GlobalXYTilingXYZWOffsetXY;
uniform sampler2D _ParallaxMap;
uniform float4 _ParallaxMap_ST;
uniform float _Parallax;
uniform float _BumpScale;
uniform sampler2D _DetailNormalMap;
uniform float4 _DetailNormalMap_ST;
uniform float _DetailNormalMapScale;
uniform float _EnableDetailMask;
uniform float _ContrastDetailMap;
uniform float _SourceMask;
uniform float _InvertMask;
uniform sampler2D _DetailMask;
uniform float4 _DetailMask_ST;
uniform float _InvertABaseColor;
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float _SpreadDetailMap;
uniform float _IntensityMask;
uniform float _VisualizeMask;
uniform float _Brightness;
uniform float4 _Color;
uniform float _Saturation;
uniform float _DetailBrightness;
uniform float4 _DetailColor;
uniform sampler2D _DetailAlbedoMap;
uniform float4 _DetailAlbedoMap_ST;
uniform float _DetailSaturation;
uniform float4 _EmissionColor;
uniform sampler2D _EmissionMap;
uniform float4 _EmissionMap_ST;
uniform float _EmissionIntensity;
uniform float4 _SpecularColor;
uniform sampler2D _SpecGlossMap;
uniform float4 _SpecGlossMap_ST;
uniform float _SpecularIntensity;
uniform float _Glossiness;
uniform sampler2D _OcclusionMap;
uniform float4 _OcclusionMap_ST;
uniform float _AoIntensity;
uniform float _ContrastTransparentMap;
uniform float _InvertTransparent;
uniform float _UseBaseColorAlpha;
uniform sampler2D _TransparentMask;
uniform float4 _TransparentMask_ST;
uniform float _SpreadTransparentMap;
uniform float _IntensityTransparentMap;
float4 CalculateContrast( float contrastValue, float4 colorTarget )
{
float t = 0.5 * ( 1.0 - contrastValue );
return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget );
}
void surf( Input i , inout SurfaceOutputStandardSpecular o )
{
float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw;
float2 break26_g512 = uv_BumpMap;
float GlobalTilingX11 = ( _GlobalXYTilingXYZWOffsetXY.x - 1.0 );
float GlobalTilingY8 = ( _GlobalXYTilingXYZWOffsetXY.y - 1.0 );
float2 appendResult14_g512 = (float2(( break26_g512.x * GlobalTilingX11 ) , ( break26_g512.y * GlobalTilingY8 )));
float GlobalOffsetX10 = _GlobalXYTilingXYZWOffsetXY.z;
float GlobalOffsetY9 = _GlobalXYTilingXYZWOffsetXY.w;
float2 appendResult13_g512 = (float2(( break26_g512.x + GlobalOffsetX10 ) , ( break26_g512.y + GlobalOffsetY9 )));
float2 uv_ParallaxMap = i.uv_texcoord * _ParallaxMap_ST.xy + _ParallaxMap_ST.zw;
float2 break26_g502 = uv_ParallaxMap;
float2 appendResult14_g502 = (float2(( break26_g502.x * GlobalTilingX11 ) , ( break26_g502.y * GlobalTilingY8 )));
float2 appendResult13_g502 = (float2(( break26_g502.x + GlobalOffsetX10 ) , ( break26_g502.y + GlobalOffsetY9 )));
float4 temp_cast_0 = (tex2D( _ParallaxMap, ( appendResult14_g502 + appendResult13_g502 ) ).g).xxxx;
float2 paralaxOffset36_g501 = ParallaxOffset( temp_cast_0.x , _Parallax , i.viewDir );
float2 switchResult47_g501 = (((i.ASEVFace>0)?(paralaxOffset36_g501):(0.0)));
float2 Parallaxe390 = switchResult47_g501;
float3 temp_output_356_0 = UnpackScaleNormal( tex2D( _BumpMap, ( ( appendResult14_g512 + appendResult13_g512 ) + Parallaxe390 ) ), _BumpScale );
float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw;
float3 NormalDetail155 = UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), _DetailNormalMapScale );
float4 temp_cast_2 = (0.0).xxxx;
float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw;
float4 tex2DNode27_g508 = tex2D( _DetailMask, uv_DetailMask );
float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
float2 break26_g507 = uv_MainTex;
float2 appendResult14_g507 = (float2(( break26_g507.x * GlobalTilingX11 ) , ( break26_g507.y * GlobalTilingY8 )));
float2 appendResult13_g507 = (float2(( break26_g507.x + GlobalOffsetX10 ) , ( break26_g507.y + GlobalOffsetY9 )));
float4 tex2DNode7_g506 = tex2D( _MainTex, ( ( appendResult14_g507 + appendResult13_g507 ) + Parallaxe390 ) );
float BaseColorAlpha46 = (( _InvertABaseColor )?( ( 1.0 - tex2DNode7_g506.a ) ):( tex2DNode7_g506.a ));
float4 clampResult38_g508 = clamp( ( CalculateContrast(( _ContrastDetailMap + 1.0 ),(( _SourceMask )?( ( (( _InvertMask )?( ( 1.0 - tex2DNode27_g508 ) ):( tex2DNode27_g508 )) + BaseColorAlpha46 ) ):( (( _InvertMask )?( ( 1.0 - tex2DNode27_g508 ) ):( tex2DNode27_g508 )) ))) + -_SpreadDetailMap ) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) );
float4 Mask158 = (( _EnableDetailMask )?( ( clampResult38_g508 * _IntensityMask ) ):( temp_cast_2 ));
float3 lerpResult137 = lerp( temp_output_356_0 , NormalDetail155 , Mask158.rgb);
float3 lerpResult205 = lerp( temp_output_356_0 , BlendNormals( temp_output_356_0 , NormalDetail155 ) , Mask158.rgb);
float3 Normal27 = (( _BlendMainNormal )?( lerpResult205 ):( lerpResult137 ));
o.Normal = Normal27;
float clampResult27_g506 = clamp( _Saturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g506 = ( _Color * tex2DNode7_g506 ).rgb;
float desaturateDot29_g506 = dot( desaturateInitialColor29_g506, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g506 = lerp( desaturateInitialColor29_g506, desaturateDot29_g506.xxx, -clampResult27_g506 );
float4 temp_output_355_0 = CalculateContrast(_Brightness,float4( desaturateVar29_g506 , 0.0 ));
float2 uv_DetailAlbedoMap = i.uv_texcoord * _DetailAlbedoMap_ST.xy + _DetailAlbedoMap_ST.zw;
float4 tex2DNode7_g509 = tex2D( _DetailAlbedoMap, uv_DetailAlbedoMap );
float clampResult27_g509 = clamp( _DetailSaturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g509 = ( _DetailColor * tex2DNode7_g509 ).rgb;
float desaturateDot29_g509 = dot( desaturateInitialColor29_g509, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g509 = lerp( desaturateInitialColor29_g509, desaturateDot29_g509.xxx, -clampResult27_g509 );
float4 AlbedoDetail153 = CalculateContrast(_DetailBrightness,float4( desaturateVar29_g509 , 0.0 ));
float4 lerpResult365 = lerp( temp_output_355_0 , AlbedoDetail153 , Mask158);
float4 blendOpSrc364 = temp_output_355_0;
float4 blendOpDest364 = lerpResult365;
float4 lerpBlendMode364 = lerp(blendOpDest364,(( blendOpDest364 > 0.5 ) ? ( 1.0 - 2.0 * ( 1.0 - blendOpDest364 ) * ( 1.0 - blendOpSrc364 ) ) : ( 2.0 * blendOpDest364 * blendOpSrc364 ) ),Mask158.r);
float4 Albedo26 = (( _VisualizeMask )?( Mask158 ):( ( saturate( lerpBlendMode364 )) ));
o.Albedo = Albedo26.rgb;
float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
float2 break26_g528 = uv_EmissionMap;
float2 appendResult14_g528 = (float2(( break26_g528.x * GlobalTilingX11 ) , ( break26_g528.y * GlobalTilingY8 )));
float2 appendResult13_g528 = (float2(( break26_g528.x + GlobalOffsetX10 ) , ( break26_g528.y + GlobalOffsetY9 )));
float4 Emission110 = ( _EmissionColor * tex2D( _EmissionMap, ( ( appendResult14_g528 + appendResult13_g528 ) + Parallaxe390 ) ) * _EmissionIntensity );
o.Emission = Emission110.rgb;
float2 uv_SpecGlossMap = i.uv_texcoord * _SpecGlossMap_ST.xy + _SpecGlossMap_ST.zw;
float2 break26_g514 = uv_SpecGlossMap;
float2 appendResult14_g514 = (float2(( break26_g514.x * GlobalTilingX11 ) , ( break26_g514.y * GlobalTilingY8 )));
float2 appendResult13_g514 = (float2(( break26_g514.x + GlobalOffsetX10 ) , ( break26_g514.y + GlobalOffsetY9 )));
float4 tex2DNode3_g513 = tex2D( _SpecGlossMap, ( ( appendResult14_g514 + appendResult13_g514 ) + Parallaxe390 ) );
float4 Specular41 = ( _SpecularColor * tex2DNode3_g513 * _SpecularIntensity );
o.Specular = Specular41.rgb;
#if defined(_SOURCE_SPECULARALPHA)
float staticSwitch31_g513 = ( tex2DNode3_g513.a * _Glossiness );
#elif defined(_SOURCE_BASECOLORALPHA)
float staticSwitch31_g513 = ( _Glossiness * BaseColorAlpha46 );
#else
float staticSwitch31_g513 = ( tex2DNode3_g513.a * _Glossiness );
#endif
float DetailBaseColorAlpha170 = ( _DetailColor.a * tex2DNode7_g509.a );
float lerpResult397 = lerp( staticSwitch31_g513 , DetailBaseColorAlpha170 , Mask158.r);
float Smoothness40 = lerpResult397;
o.Smoothness = Smoothness40;
float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw;
float2 break26_g530 = uv_OcclusionMap;
float2 appendResult14_g530 = (float2(( break26_g530.x * GlobalTilingX11 ) , ( break26_g530.y * GlobalTilingY8 )));
float2 appendResult13_g530 = (float2(( break26_g530.x + GlobalOffsetX10 ) , ( break26_g530.y + GlobalOffsetY9 )));
float blendOpSrc2_g529 = tex2D( _OcclusionMap, ( ( appendResult14_g530 + appendResult13_g530 ) + Parallaxe390 ) ).r;
float blendOpDest2_g529 = ( 1.0 - _AoIntensity );
float AmbientOcclusion94 = ( saturate( ( 1.0 - ( 1.0 - blendOpSrc2_g529 ) * ( 1.0 - blendOpDest2_g529 ) ) ));
o.Occlusion = AmbientOcclusion94;
float2 uv_TransparentMask = i.uv_texcoord * _TransparentMask_ST.xy + _TransparentMask_ST.zw;
float4 tex2DNode8_g526 = tex2D( _TransparentMask, uv_TransparentMask );
float4 temp_cast_14 = (BaseColorAlpha46).xxxx;
float4 temp_cast_15 = (BaseColorAlpha46).xxxx;
float4 clampResult24_g526 = clamp( ( CalculateContrast(( _ContrastTransparentMap + 1.0 ),(( _InvertTransparent )?( ( 1.0 - (( _UseBaseColorAlpha )?( temp_cast_15 ):( tex2DNode8_g526 )) ) ):( (( _UseBaseColorAlpha )?( temp_cast_14 ):( tex2DNode8_g526 )) ))) + -_SpreadTransparentMap ) , float4( 0,0,0,0 ) , float4( 1,0,0,0 ) );
float4 Transparent375 = ( clampResult24_g526 * ( 1.0 - _IntensityTransparentMap ) );
o.Alpha = Transparent375.r;
}
ENDCG
CGPROGRAM
#pragma surface surf StandardSpecular keepalpha fullforwardshadows
ENDCG
Pass
{
Name "ShadowCaster"
Tags{ "LightMode" = "ShadowCaster" }
ZWrite On
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#pragma multi_compile_shadowcaster
#pragma multi_compile UNITY_PASS_SHADOWCASTER
#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
#include "HLSLSupport.cginc"
#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
#define CAN_SKIP_VPOS
#endif
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "UnityPBSLighting.cginc"
sampler3D _DitherMaskLOD;
struct v2f
{
V2F_SHADOW_CASTER;
float2 customPack1 : TEXCOORD1;
float4 tSpace0 : TEXCOORD2;
float4 tSpace1 : TEXCOORD3;
float4 tSpace2 : TEXCOORD4;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v )
{
v2f o;
UNITY_SETUP_INSTANCE_ID( v );
UNITY_INITIALIZE_OUTPUT( v2f, o );
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
UNITY_TRANSFER_INSTANCE_ID( v, o );
Input customInputData;
float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
half3 worldNormal = UnityObjectToWorldNormal( v.normal );
half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
half tangentSign = v.tangent.w * unity_WorldTransformParams.w;
half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
o.customPack1.xy = customInputData.uv_texcoord;
o.customPack1.xy = v.texcoord;
TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
return o;
}
half4 frag( v2f IN
#if !defined( CAN_SKIP_VPOS )
, UNITY_VPOS_TYPE vpos : VPOS
#endif
) : SV_Target
{
UNITY_SETUP_INSTANCE_ID( IN );
Input surfIN;
UNITY_INITIALIZE_OUTPUT( Input, surfIN );
surfIN.uv_texcoord = IN.customPack1.xy;
float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
surfIN.viewDir = IN.tSpace0.xyz * worldViewDir.x + IN.tSpace1.xyz * worldViewDir.y + IN.tSpace2.xyz * worldViewDir.z;
surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
SurfaceOutputStandardSpecular o;
UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandardSpecular, o )
surf( surfIN, o );
#if defined( CAN_SKIP_VPOS )
float2 vpos = IN.pos;
#endif
half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a;
clip( alphaRef - 0.01 );
SHADOW_CASTER_FRAGMENT( IN )
}
ENDCG
}
}
Fallback "Diffuse"
}

View File

@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: bbb29bc6f1f0b704d989cac34a3a1b7e
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,393 @@
Shader "Ciconia Studio/CS_Standard/Builtin/Standard (Specular setup)/Cutout"
{
Properties
{
[Space(35)][Header(Surface Options )]
[Space(15)][Enum(Off,2,On,0)] _Cull("Double Sided", Float) = 0 //"Back"
[Enum(Off,0,On,1)] _ZWrite("ZWrite", Float) = 1.0 //"On"
[Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 4 //"LessEqual"
_Cutoff( "Mask Clip Value", Float ) = 0.5
[Space(35)][Header(Main Properties )][Space(15)]_GlobalXYTilingXYZWOffsetXY("Global --> XY(TilingXY) - ZW(OffsetXY)", Vector) = (1,1,0,0)
_Color("Color", Color) = (1,1,1,0)
[Toggle]_InvertABaseColor("Invert Alpha", Float) = 0
_MainTex("Base Color", 2D) = "white" {}
_Saturation("Saturation", Float) = 0
_Brightness("Brightness", Range( 1 , 8)) = 1
[Space(35)]_BumpMap("Normal Map", 2D) = "bump" {}
_BumpScale("Normal Intensity", Float) = 0.3
[Space(35)]_SpecularColor("Specular Color", Color) = (1,1,1,0)
_SpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {}
_SpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2
_Glossiness("Smoothness", Range( 0 , 2)) = 0.5
[Space(10)][KeywordEnum(SpecularAlpha,BaseColorAlpha)] _Source("Source", Float) = 0
[Space(35)]_ParallaxMap("Height Map", 2D) = "white" {}
_Parallax("Height Scale", Range( -0.1 , 0.1)) = 0
[Space(35)]_OcclusionMap("Ambient Occlusion Map", 2D) = "white" {}
_AoIntensity("Ao Intensity", Range( 0 , 2)) = 1
[HDR][Space(45)]_EmissionColor("Emission Color", Color) = (0,0,0,0)
_EmissionMap("Emission Map", 2D) = "white" {}
_EmissionIntensity("Intensity", Range( 0 , 2)) = 1
[Space(35)][Header(Mask Properties)][Toggle]_EnableDetailMask("Enable", Float) = 0
[Space(15)][Toggle]_VisualizeMask("Visualize Mask", Float) = 0
[Space(15)][Toggle]_EnableTriplanarProjection("Enable Triplanar Projection", Float) = 1
[KeywordEnum(ObjectSpace,WorldSpace)] _TriplanarSpaceProjection("Space Projection", Float) = 0
_TriplanarFalloff("Falloff", Float) = 20
_TriplanarXYTilingXYZWOffsetXY1("Triplanar --> XY(TilingXY) - ZW(OffsetXY) ", Vector) = (1,1,0,0)
[Toggle]_InvertMask("Invert Mask", Float) = 0
_DetailMask("Detail Mask", 2D) = "white" {}
_IntensityMask("Intensity", Range( 0 , 1)) = 1
[Space(15)]_ContrastDetailMap("Contrast", Float) = 0
_SpreadDetailMap("Spread", Float) = 0
[Space(35)][Header(Detail Properties)][Space(15)][Toggle]_BlendmodeOverlay("Blend mode Overlay", Float) = 0
[Space(35)]_DetailColor("Color", Color) = (1,1,1,0)
_DetailAlbedoMap("Base Color", 2D) = "white" {}
_DetailSaturation("Saturation", Float) = 0
_DetailBrightness("Brightness", Range( 1 , 8)) = 1
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[Space(35)][Toggle]_BlendMainNormal("Blend Main Normal", Float) = 0
_DetailNormalMap("Normal Map", 2D) = "bump" {}
_DetailNormalMapScale("Scale", Float) = 0.3
[Space(35)]_DetailSpecularColor("Specular Color", Color) = (1,1,1,0)
_DetailSpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {}
_DetailSpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2
_DetailGlossiness("Smoothness", Range( 0 , 2)) = 0.5
[Space(10)][KeywordEnum(SpecularAlpha,AlbedoAlpha)] _DetailSource("Source", Float) = 0
[Space(15)][Toggle]_UseAoFromMainProperties("Use Ao From Main Properties", Float) = 1
[Toggle]_UseEmissionFromMainProperties("Use Emission From Main Properties", Float) = 1
[Space(35)][Header(Cutout Properties)][Space(15)][Toggle]_InvertCutout("Invert ", Float) = 0
[Toggle]_UseBaseColorAlpha("Use BaseColor Alpha", Float) = 0
_CutoutMap("Cutout Mask", 2D) = "white" {}
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Opaque" "Queue" = "AlphaTest+0" "IsEmissive" = "true" }
Cull[_Cull]
ZWrite[_ZWrite]
ZTest [_ZTest]
CGINCLUDE
#include "UnityCG.cginc"
#include "UnityStandardUtils.cginc"
#include "UnityShaderVariables.cginc"
#include "UnityPBSLighting.cginc"
#include "Lighting.cginc"
#pragma target 3.0
#pragma multi_compile_instancing
#pragma shader_feature_local _TRIPLANARSPACEPROJECTION_OBJECTSPACE _TRIPLANARSPACEPROJECTION_WORLDSPACE
#pragma shader_feature_local _SOURCE_SPECULARALPHA _SOURCE_BASECOLORALPHA
#pragma shader_feature_local _DETAILSOURCE_SPECULARALPHA _DETAILSOURCE_ALBEDOALPHA
#ifdef UNITY_PASS_SHADOWCASTER
#undef INTERNAL_DATA
#undef WorldReflectionVector
#undef WorldNormalVector
#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
#define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
#endif
struct Input
{
float2 uv_texcoord;
float3 viewDir;
INTERNAL_DATA
half ASEVFace : VFACE;
float3 worldPos;
float3 worldNormal;
};
uniform float _BlendMainNormal;
uniform sampler2D _BumpMap;
uniform float4 _BumpMap_ST;
uniform float4 _GlobalXYTilingXYZWOffsetXY;
uniform sampler2D _ParallaxMap;
uniform float4 _ParallaxMap_ST;
uniform float _Parallax;
uniform float _BumpScale;
uniform sampler2D _DetailNormalMap;
uniform float4 _DetailNormalMap_ST;
uniform float _DetailNormalMapScale;
uniform float _EnableDetailMask;
uniform float _ContrastDetailMap;
uniform float _InvertMask;
uniform float _EnableTriplanarProjection;
uniform sampler2D _DetailMask;
uniform float4 _TriplanarXYTilingXYZWOffsetXY1;
uniform float _SpreadDetailMap;
uniform float _IntensityMask;
uniform float _VisualizeMask;
uniform float _BlendmodeOverlay;
uniform float _Brightness;
uniform float4 _Color;
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float _Saturation;
uniform float _DetailBrightness;
uniform float4 _DetailColor;
uniform sampler2D _DetailAlbedoMap;
uniform float4 _DetailAlbedoMap_ST;
uniform float _DetailSaturation;
uniform float _UseEmissionFromMainProperties;
uniform float4 _EmissionColor;
uniform sampler2D _EmissionMap;
uniform float4 _EmissionMap_ST;
uniform float _EmissionIntensity;
uniform float4 _SpecularColor;
uniform sampler2D _SpecGlossMap;
uniform float4 _SpecGlossMap_ST;
uniform float _SpecularIntensity;
uniform float4 _DetailSpecularColor;
uniform sampler2D _DetailSpecGlossMap;
uniform float4 _DetailSpecGlossMap_ST;
uniform float _DetailSpecularIntensity;
uniform float _Glossiness;
uniform float _InvertABaseColor;
uniform float _DetailGlossiness;
uniform float _UseAoFromMainProperties;
uniform sampler2D _OcclusionMap;
uniform float4 _OcclusionMap_ST;
uniform float _AoIntensity;
uniform float _InvertCutout;
uniform float _UseBaseColorAlpha;
uniform sampler2D _CutoutMap;
uniform float4 _CutoutMap_ST;
uniform float _Cutoff = 0.5;
UNITY_INSTANCING_BUFFER_START(CiconiaStudioCS_StandardBuiltinStandardSpecularsetupCutout)
UNITY_DEFINE_INSTANCED_PROP(float, _TriplanarFalloff)
#define _TriplanarFalloff_arr CiconiaStudioCS_StandardBuiltinStandardSpecularsetupCutout
UNITY_INSTANCING_BUFFER_END(CiconiaStudioCS_StandardBuiltinStandardSpecularsetupCutout)
inline float4 TriplanarSampling396( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index )
{
float3 projNormal = ( pow( abs( worldNormal ), falloff ) );
projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001;
float3 nsign = sign( worldNormal );
half4 xNorm; half4 yNorm; half4 zNorm;
xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) );
yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) );
zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) );
return xNorm * projNormal.x + yNorm * projNormal.y + zNorm * projNormal.z;
}
float4 CalculateContrast( float contrastValue, float4 colorTarget )
{
float t = 0.5 * ( 1.0 - contrastValue );
return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget );
}
void surf( Input i , inout SurfaceOutputStandardSpecular o )
{
float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw;
float2 break26_g635 = uv_BumpMap;
float GlobalTilingX11 = ( _GlobalXYTilingXYZWOffsetXY.x - 1.0 );
float GlobalTilingY8 = ( _GlobalXYTilingXYZWOffsetXY.y - 1.0 );
float2 appendResult14_g635 = (float2(( break26_g635.x * GlobalTilingX11 ) , ( break26_g635.y * GlobalTilingY8 )));
float GlobalOffsetX10 = _GlobalXYTilingXYZWOffsetXY.z;
float GlobalOffsetY9 = _GlobalXYTilingXYZWOffsetXY.w;
float2 appendResult13_g635 = (float2(( break26_g635.x + GlobalOffsetX10 ) , ( break26_g635.y + GlobalOffsetY9 )));
float2 uv_ParallaxMap = i.uv_texcoord * _ParallaxMap_ST.xy + _ParallaxMap_ST.zw;
float2 break26_g469 = uv_ParallaxMap;
float2 appendResult14_g469 = (float2(( break26_g469.x * GlobalTilingX11 ) , ( break26_g469.y * GlobalTilingY8 )));
float2 appendResult13_g469 = (float2(( break26_g469.x + GlobalOffsetX10 ) , ( break26_g469.y + GlobalOffsetY9 )));
float4 temp_cast_0 = (tex2D( _ParallaxMap, ( appendResult14_g469 + appendResult13_g469 ) ).g).xxxx;
float2 paralaxOffset36_g468 = ParallaxOffset( temp_cast_0.x , _Parallax , i.viewDir );
float2 switchResult47_g468 = (((i.ASEVFace>0)?(paralaxOffset36_g468):(0.0)));
float2 Parallaxe369 = switchResult47_g468;
float3 temp_output_245_0 = UnpackScaleNormal( tex2D( _BumpMap, ( ( appendResult14_g635 + appendResult13_g635 ) + Parallaxe369 ) ), _BumpScale );
float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw;
float3 NormalDetail155 = UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), _DetailNormalMapScale );
float4 temp_cast_2 = (0.0).xxxx;
float2 appendResult394 = (float2(_TriplanarXYTilingXYZWOffsetXY1.x , _TriplanarXYTilingXYZWOffsetXY1.y));
float _TriplanarFalloff_Instance = UNITY_ACCESS_INSTANCED_PROP(_TriplanarFalloff_arr, _TriplanarFalloff);
float3 ase_worldPos = i.worldPos;
float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) );
float3 ase_vertex3Pos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) );
float3 ase_vertexNormal = mul( unity_WorldToObject, float4( ase_worldNormal, 0 ) );
#if defined(_TRIPLANARSPACEPROJECTION_OBJECTSPACE)
float3 staticSwitch389 = ase_vertex3Pos;
#elif defined(_TRIPLANARSPACEPROJECTION_WORLDSPACE)
float3 staticSwitch389 = ase_worldPos;
#else
float3 staticSwitch389 = ase_vertex3Pos;
#endif
float2 appendResult388 = (float2(_TriplanarXYTilingXYZWOffsetXY1.z , _TriplanarXYTilingXYZWOffsetXY1.w));
float4 triplanar396 = TriplanarSampling396( _DetailMask, ( staticSwitch389 + float3( appendResult388 , 0.0 ) ), ase_vertexNormal, _TriplanarFalloff_Instance, appendResult394, 1.0, 0 );
float4 clampResult409 = clamp( ( CalculateContrast(( _ContrastDetailMap + 1.0 ),(( _InvertMask )?( ( 1.0 - (( _EnableTriplanarProjection )?( triplanar396 ):( tex2D( _DetailMask, i.uv_texcoord ) )) ) ):( (( _EnableTriplanarProjection )?( triplanar396 ):( tex2D( _DetailMask, i.uv_texcoord ) )) ))) + -_SpreadDetailMap ) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) );
float MaskIntensity408 = _IntensityMask;
float4 Mask158 = (( _EnableDetailMask )?( ( clampResult409 * MaskIntensity408 ) ):( temp_cast_2 ));
float3 lerpResult137 = lerp( temp_output_245_0 , NormalDetail155 , Mask158.rgb);
float3 lerpResult205 = lerp( temp_output_245_0 , BlendNormals( temp_output_245_0 , NormalDetail155 ) , Mask158.rgb);
float3 Normal27 = (( _BlendMainNormal )?( lerpResult205 ):( lerpResult137 ));
o.Normal = Normal27;
float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
float2 break26_g630 = uv_MainTex;
float2 appendResult14_g630 = (float2(( break26_g630.x * GlobalTilingX11 ) , ( break26_g630.y * GlobalTilingY8 )));
float2 appendResult13_g630 = (float2(( break26_g630.x + GlobalOffsetX10 ) , ( break26_g630.y + GlobalOffsetY9 )));
float4 tex2DNode7_g629 = tex2D( _MainTex, ( ( appendResult14_g630 + appendResult13_g630 ) + Parallaxe369 ) );
float clampResult27_g629 = clamp( _Saturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g629 = ( _Color * tex2DNode7_g629 ).rgb;
float desaturateDot29_g629 = dot( desaturateInitialColor29_g629, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g629 = lerp( desaturateInitialColor29_g629, desaturateDot29_g629.xxx, -clampResult27_g629 );
float4 temp_output_338_0 = CalculateContrast(_Brightness,float4( desaturateVar29_g629 , 0.0 ));
float2 uv_DetailAlbedoMap = i.uv_texcoord * _DetailAlbedoMap_ST.xy + _DetailAlbedoMap_ST.zw;
float4 tex2DNode7_g612 = tex2D( _DetailAlbedoMap, uv_DetailAlbedoMap );
float clampResult27_g612 = clamp( _DetailSaturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g612 = ( _DetailColor * tex2DNode7_g612 ).rgb;
float desaturateDot29_g612 = dot( desaturateInitialColor29_g612, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g612 = lerp( desaturateInitialColor29_g612, desaturateDot29_g612.xxx, -clampResult27_g612 );
float4 AlbedoDetail153 = CalculateContrast(_DetailBrightness,float4( desaturateVar29_g612 , 0.0 ));
float4 lerpResult343 = lerp( temp_output_338_0 , AlbedoDetail153 , Mask158);
float4 blendOpSrc15_g642 = temp_output_338_0;
float4 blendOpDest15_g642 = lerpResult343;
float4 lerpBlendMode15_g642 = lerp(blendOpDest15_g642,(( blendOpDest15_g642 > 0.5 ) ? ( 1.0 - 2.0 * ( 1.0 - blendOpDest15_g642 ) * ( 1.0 - blendOpSrc15_g642 ) ) : ( 2.0 * blendOpDest15_g642 * blendOpSrc15_g642 ) ),Mask158.x);
float4 Albedo26 = (( _VisualizeMask )?( Mask158 ):( (( _BlendmodeOverlay )?( ( saturate( lerpBlendMode15_g642 )) ):( lerpResult343 )) ));
o.Albedo = Albedo26.rgb;
float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
float2 break26_g639 = uv_EmissionMap;
float2 appendResult14_g639 = (float2(( break26_g639.x * GlobalTilingX11 ) , ( break26_g639.y * GlobalTilingY8 )));
float2 appendResult13_g639 = (float2(( break26_g639.x + GlobalOffsetX10 ) , ( break26_g639.y + GlobalOffsetY9 )));
float4 temp_output_248_0 = ( _EmissionColor * tex2D( _EmissionMap, ( ( appendResult14_g639 + appendResult13_g639 ) + Parallaxe369 ) ) * _EmissionIntensity );
float4 temp_cast_21 = (0.0).xxxx;
float4 lerpResult190 = lerp( temp_output_248_0 , temp_cast_21 , Mask158);
float4 Emission110 = (( _UseEmissionFromMainProperties )?( temp_output_248_0 ):( lerpResult190 ));
o.Emission = Emission110.rgb;
float2 uv_SpecGlossMap = i.uv_texcoord * _SpecGlossMap_ST.xy + _SpecGlossMap_ST.zw;
float2 break26_g641 = uv_SpecGlossMap;
float2 appendResult14_g641 = (float2(( break26_g641.x * GlobalTilingX11 ) , ( break26_g641.y * GlobalTilingY8 )));
float2 appendResult13_g641 = (float2(( break26_g641.x + GlobalOffsetX10 ) , ( break26_g641.y + GlobalOffsetY9 )));
float4 tex2DNode3_g640 = tex2D( _SpecGlossMap, ( ( appendResult14_g641 + appendResult13_g641 ) + Parallaxe369 ) );
float2 uv_DetailSpecGlossMap = i.uv_texcoord * _DetailSpecGlossMap_ST.xy + _DetailSpecGlossMap_ST.zw;
float4 tex2DNode3_g633 = tex2D( _DetailSpecGlossMap, uv_DetailSpecGlossMap );
float4 DetailMetallic176 = ( _DetailSpecularColor * tex2DNode3_g633 * _DetailSpecularIntensity );
float4 lerpResult179 = lerp( ( _SpecularColor * tex2DNode3_g640 * _SpecularIntensity ) , DetailMetallic176 , Mask158);
float4 Specular41 = lerpResult179;
o.Specular = Specular41.rgb;
float BaseColorAlpha46 = (( _InvertABaseColor )?( ( 1.0 - tex2DNode7_g629.a ) ):( tex2DNode7_g629.a ));
#if defined(_SOURCE_SPECULARALPHA)
float staticSwitch31_g640 = ( tex2DNode3_g640.a * _Glossiness );
#elif defined(_SOURCE_BASECOLORALPHA)
float staticSwitch31_g640 = ( _Glossiness * BaseColorAlpha46 );
#else
float staticSwitch31_g640 = ( tex2DNode3_g640.a * _Glossiness );
#endif
float DetailBaseColorAlpha170 = tex2DNode7_g612.a;
#if defined(_DETAILSOURCE_SPECULARALPHA)
float staticSwitch31_g633 = ( tex2DNode3_g633.a * _DetailGlossiness );
#elif defined(_DETAILSOURCE_ALBEDOALPHA)
float staticSwitch31_g633 = ( _DetailGlossiness * DetailBaseColorAlpha170 );
#else
float staticSwitch31_g633 = ( tex2DNode3_g633.a * _DetailGlossiness );
#endif
float DetailSmoothness175 = staticSwitch31_g633;
float lerpResult182 = lerp( staticSwitch31_g640 , DetailSmoothness175 , Mask158.r);
float Smoothness40 = lerpResult182;
o.Smoothness = Smoothness40;
float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw;
float2 break26_g637 = uv_OcclusionMap;
float2 appendResult14_g637 = (float2(( break26_g637.x * GlobalTilingX11 ) , ( break26_g637.y * GlobalTilingY8 )));
float2 appendResult13_g637 = (float2(( break26_g637.x + GlobalOffsetX10 ) , ( break26_g637.y + GlobalOffsetY9 )));
float blendOpSrc2_g636 = tex2D( _OcclusionMap, ( ( appendResult14_g637 + appendResult13_g637 ) + Parallaxe369 ) ).r;
float blendOpDest2_g636 = ( 1.0 - _AoIntensity );
float temp_output_247_0 = ( saturate( ( 1.0 - ( 1.0 - blendOpSrc2_g636 ) * ( 1.0 - blendOpDest2_g636 ) ) ));
float lerpResult185 = lerp( temp_output_247_0 , 1.0 , Mask158.r);
float AmbientOcclusion94 = (( _UseAoFromMainProperties )?( temp_output_247_0 ):( lerpResult185 ));
o.Occlusion = AmbientOcclusion94;
o.Alpha = 1;
float2 uv_CutoutMap = i.uv_texcoord * _CutoutMap_ST.xy + _CutoutMap_ST.zw;
float4 tex2DNode8_g643 = tex2D( _CutoutMap, uv_CutoutMap );
float4 temp_cast_26 = (BaseColorAlpha46).xxxx;
float4 temp_cast_27 = (BaseColorAlpha46).xxxx;
float4 clampResult24_g643 = clamp( (( _InvertCutout )?( ( 1.0 - (( _UseBaseColorAlpha )?( temp_cast_27 ):( tex2DNode8_g643 )) ) ):( (( _UseBaseColorAlpha )?( temp_cast_26 ):( tex2DNode8_g643 )) )) , float4( 0,0,0,0 ) , float4( 1,0,0,0 ) );
float4 Cutout352 = clampResult24_g643;
clip( Cutout352.r - _Cutoff );
}
ENDCG
CGPROGRAM
#pragma surface surf StandardSpecular keepalpha fullforwardshadows
ENDCG
Pass
{
Name "ShadowCaster"
Tags{ "LightMode" = "ShadowCaster" }
ZWrite On
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#pragma multi_compile_shadowcaster
#pragma multi_compile UNITY_PASS_SHADOWCASTER
#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
#include "HLSLSupport.cginc"
#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
#define CAN_SKIP_VPOS
#endif
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "UnityPBSLighting.cginc"
struct v2f
{
V2F_SHADOW_CASTER;
float2 customPack1 : TEXCOORD1;
float4 tSpace0 : TEXCOORD2;
float4 tSpace1 : TEXCOORD3;
float4 tSpace2 : TEXCOORD4;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v )
{
v2f o;
UNITY_SETUP_INSTANCE_ID( v );
UNITY_INITIALIZE_OUTPUT( v2f, o );
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
UNITY_TRANSFER_INSTANCE_ID( v, o );
Input customInputData;
float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
half3 worldNormal = UnityObjectToWorldNormal( v.normal );
half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
half tangentSign = v.tangent.w * unity_WorldTransformParams.w;
half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
o.customPack1.xy = customInputData.uv_texcoord;
o.customPack1.xy = v.texcoord;
TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
return o;
}
half4 frag( v2f IN
#if !defined( CAN_SKIP_VPOS )
, UNITY_VPOS_TYPE vpos : VPOS
#endif
) : SV_Target
{
UNITY_SETUP_INSTANCE_ID( IN );
Input surfIN;
UNITY_INITIALIZE_OUTPUT( Input, surfIN );
surfIN.uv_texcoord = IN.customPack1.xy;
float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
surfIN.viewDir = IN.tSpace0.xyz * worldViewDir.x + IN.tSpace1.xyz * worldViewDir.y + IN.tSpace2.xyz * worldViewDir.z;
surfIN.worldPos = worldPos;
surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z );
surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
SurfaceOutputStandardSpecular o;
UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandardSpecular, o )
surf( surfIN, o );
#if defined( CAN_SKIP_VPOS )
float2 vpos = IN.pos;
#endif
SHADOW_CASTER_FRAGMENT( IN )
}
ENDCG
}
}
Fallback "Diffuse"
}

View File

@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 1f53b2e079258874d987bc2948630b78
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,377 @@
Shader "Ciconia Studio/CS_Standard/Builtin/Standard (Specular setup)/Opaque"
{
Properties
{
[Space(35)][Header(Surface Options )]
[Space(15)][Enum(Off,2,On,0)] _Cull("Double Sided", Float) = 0 //"Back"
[Enum(Off,0,On,1)] _ZWrite("ZWrite", Float) = 1.0 //"On"
[Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 4 //"LessEqual"
[Space(35)][Header(Main Properties )][Space(15)]_GlobalXYTilingXYZWOffsetXY("Global --> XY(TilingXY) - ZW(OffsetXY)", Vector) = (1,1,0,0)
_Color("Color", Color) = (1,1,1,0)
[Toggle]_InvertABaseColor("Invert Alpha", Float) = 0
_MainTex("Base Color", 2D) = "white" {}
_Saturation("Saturation", Float) = 0
_Brightness("Brightness", Range( 1 , 8)) = 1
[Space(35)]_BumpMap("Normal Map", 2D) = "bump" {}
_BumpScale("Normal Intensity", Float) = 0.3
[Space(35)]_SpecularColor("Specular Color", Color) = (1,1,1,0)
_SpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {}
_SpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2
_Glossiness("Smoothness", Range( 0 , 2)) = 0.5
[Space(10)][KeywordEnum(SpecularAlpha,BaseColorAlpha)] _Source("Source", Float) = 0
[Space(35)]_ParallaxMap("Height Map", 2D) = "white" {}
_Parallax("Height Scale", Range( -0.1 , 0.1)) = 0
[Space(35)]_OcclusionMap("Ambient Occlusion Map", 2D) = "white" {}
_AoIntensity("Ao Intensity", Range( 0 , 2)) = 1
[HDR][Space(45)]_EmissionColor("Emission Color", Color) = (0,0,0,0)
_EmissionMap("Emission Map", 2D) = "white" {}
_EmissionIntensity("Intensity", Range( 0 , 2)) = 1
[Space(35)][Header(Mask Properties)][Toggle]_EnableDetailMask("Enable", Float) = 0
[Space(15)][Toggle]_VisualizeMask("Visualize Mask", Float) = 0
[Space(15)][Toggle]_EnableTriplanarProjection("Enable Triplanar Projection", Float) = 1
[KeywordEnum(ObjectSpace,WorldSpace)] _TriplanarSpaceProjection("Space Projection", Float) = 0
_TriplanarFalloff("Falloff", Float) = 20
_TriplanarXYTilingXYZWOffsetXY("Triplanar --> XY(TilingXY) - ZW(OffsetXY) ", Vector) = (1,1,0,0)
[Toggle]_InvertMask("Invert Mask", Float) = 0
_DetailMask("Detail Mask", 2D) = "white" {}
_IntensityMask("Intensity", Range( 0 , 1)) = 1
[Space(15)]_ContrastDetailMap("Contrast", Float) = 0
_SpreadDetailMap("Spread", Float) = 0
[Space(35)][Header(Detail Properties)][Space(15)][Toggle]_BlendmodeOverlay("Blend mode Overlay", Float) = 0
[Space(35)]_DetailColor("Color", Color) = (1,1,1,0)
_DetailAlbedoMap("Base Color", 2D) = "white" {}
_DetailSaturation("Saturation", Float) = 0
_DetailBrightness("Brightness", Range( 1 , 8)) = 1
[Space(35)][Toggle]_BlendMainNormal("Blend Main Normal", Float) = 0
[HideInInspector] _texcoord( "", 2D ) = "white" {}
_DetailNormalMap("Normal Map", 2D) = "bump" {}
_DetailNormalMapScale("Scale", Float) = 0.3
[Space(35)]_DetailSpecularColor("Specular Color", Color) = (1,1,1,0)
_DetailSpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {}
_DetailSpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2
_DetailGlossiness("Smoothness", Range( 0 , 2)) = 0.5
[Space(10)][KeywordEnum(SpecularAlpha,AlbedoAlpha)] _DetailSource("Source", Float) = 0
[Space(15)][Toggle]_UseAoFromMainProperties("Use Ao From Main Properties", Float) = 1
[Toggle]_UseEmissionFromMainProperties("Use Emission From Main Properties", Float) = 1
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" "IsEmissive" = "true" }
Cull[_Cull]
ZWrite[_ZWrite]
ZTest [_ZTest]
CGINCLUDE
#include "UnityCG.cginc"
#include "UnityStandardUtils.cginc"
#include "UnityShaderVariables.cginc"
#include "UnityPBSLighting.cginc"
#include "Lighting.cginc"
#pragma target 3.0
#pragma multi_compile_instancing
#pragma shader_feature_local _TRIPLANARSPACEPROJECTION_OBJECTSPACE _TRIPLANARSPACEPROJECTION_WORLDSPACE
#pragma shader_feature_local _SOURCE_SPECULARALPHA _SOURCE_BASECOLORALPHA
#pragma shader_feature_local _DETAILSOURCE_SPECULARALPHA _DETAILSOURCE_ALBEDOALPHA
#ifdef UNITY_PASS_SHADOWCASTER
#undef INTERNAL_DATA
#undef WorldReflectionVector
#undef WorldNormalVector
#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
#define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
#endif
struct Input
{
float2 uv_texcoord;
float3 viewDir;
INTERNAL_DATA
half ASEVFace : VFACE;
float3 worldPos;
float3 worldNormal;
};
uniform float _BlendMainNormal;
uniform sampler2D _BumpMap;
uniform float4 _BumpMap_ST;
uniform float4 _GlobalXYTilingXYZWOffsetXY;
uniform sampler2D _ParallaxMap;
uniform float4 _ParallaxMap_ST;
uniform float _Parallax;
uniform float _BumpScale;
uniform sampler2D _DetailNormalMap;
uniform float4 _DetailNormalMap_ST;
uniform float _DetailNormalMapScale;
uniform float _EnableDetailMask;
uniform float _ContrastDetailMap;
uniform float _InvertMask;
uniform float _EnableTriplanarProjection;
uniform sampler2D _DetailMask;
uniform float4 _TriplanarXYTilingXYZWOffsetXY;
uniform float _SpreadDetailMap;
uniform float _IntensityMask;
uniform float _VisualizeMask;
uniform float _BlendmodeOverlay;
uniform float _Brightness;
uniform float4 _Color;
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float _Saturation;
uniform float _DetailBrightness;
uniform float4 _DetailColor;
uniform sampler2D _DetailAlbedoMap;
uniform float4 _DetailAlbedoMap_ST;
uniform float _DetailSaturation;
uniform float _UseEmissionFromMainProperties;
uniform float4 _EmissionColor;
uniform sampler2D _EmissionMap;
uniform float4 _EmissionMap_ST;
uniform float _EmissionIntensity;
uniform float4 _SpecularColor;
uniform sampler2D _SpecGlossMap;
uniform float4 _SpecGlossMap_ST;
uniform float _SpecularIntensity;
uniform float4 _DetailSpecularColor;
uniform sampler2D _DetailSpecGlossMap;
uniform float4 _DetailSpecGlossMap_ST;
uniform float _DetailSpecularIntensity;
uniform float _Glossiness;
uniform float _InvertABaseColor;
uniform float _DetailGlossiness;
uniform float _UseAoFromMainProperties;
uniform sampler2D _OcclusionMap;
uniform float4 _OcclusionMap_ST;
uniform float _AoIntensity;
UNITY_INSTANCING_BUFFER_START(CiconiaStudioCS_StandardBuiltinStandardSpecularsetupOpaque)
UNITY_DEFINE_INSTANCED_PROP(float, _TriplanarFalloff)
#define _TriplanarFalloff_arr CiconiaStudioCS_StandardBuiltinStandardSpecularsetupOpaque
UNITY_INSTANCING_BUFFER_END(CiconiaStudioCS_StandardBuiltinStandardSpecularsetupOpaque)
inline float4 TriplanarSampling399( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index )
{
float3 projNormal = ( pow( abs( worldNormal ), falloff ) );
projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001;
float3 nsign = sign( worldNormal );
half4 xNorm; half4 yNorm; half4 zNorm;
xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) );
yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) );
zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) );
return xNorm * projNormal.x + yNorm * projNormal.y + zNorm * projNormal.z;
}
float4 CalculateContrast( float contrastValue, float4 colorTarget )
{
float t = 0.5 * ( 1.0 - contrastValue );
return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget );
}
void surf( Input i , inout SurfaceOutputStandardSpecular o )
{
float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw;
float2 break26_g619 = uv_BumpMap;
float GlobalTilingX11 = ( _GlobalXYTilingXYZWOffsetXY.x - 1.0 );
float GlobalTilingY8 = ( _GlobalXYTilingXYZWOffsetXY.y - 1.0 );
float2 appendResult14_g619 = (float2(( break26_g619.x * GlobalTilingX11 ) , ( break26_g619.y * GlobalTilingY8 )));
float GlobalOffsetX10 = _GlobalXYTilingXYZWOffsetXY.z;
float GlobalOffsetY9 = _GlobalXYTilingXYZWOffsetXY.w;
float2 appendResult13_g619 = (float2(( break26_g619.x + GlobalOffsetX10 ) , ( break26_g619.y + GlobalOffsetY9 )));
float2 uv_ParallaxMap = i.uv_texcoord * _ParallaxMap_ST.xy + _ParallaxMap_ST.zw;
float2 break26_g496 = uv_ParallaxMap;
float2 appendResult14_g496 = (float2(( break26_g496.x * GlobalTilingX11 ) , ( break26_g496.y * GlobalTilingY8 )));
float2 appendResult13_g496 = (float2(( break26_g496.x + GlobalOffsetX10 ) , ( break26_g496.y + GlobalOffsetY9 )));
float4 temp_cast_0 = (tex2D( _ParallaxMap, ( appendResult14_g496 + appendResult13_g496 ) ).g).xxxx;
float2 paralaxOffset36_g495 = ParallaxOffset( temp_cast_0.x , _Parallax , i.viewDir );
float2 switchResult47_g495 = (((i.ASEVFace>0)?(paralaxOffset36_g495):(0.0)));
float2 Parallaxe359 = switchResult47_g495;
float3 temp_output_245_0 = UnpackScaleNormal( tex2D( _BumpMap, ( ( appendResult14_g619 + appendResult13_g619 ) + Parallaxe359 ) ), _BumpScale );
float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw;
float3 NormalDetail155 = UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), _DetailNormalMapScale );
float4 temp_cast_2 = (0.0).xxxx;
float2 appendResult395 = (float2(_TriplanarXYTilingXYZWOffsetXY.x , _TriplanarXYTilingXYZWOffsetXY.y));
float _TriplanarFalloff_Instance = UNITY_ACCESS_INSTANCED_PROP(_TriplanarFalloff_arr, _TriplanarFalloff);
float3 ase_worldPos = i.worldPos;
float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) );
float3 ase_vertex3Pos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) );
float3 ase_vertexNormal = mul( unity_WorldToObject, float4( ase_worldNormal, 0 ) );
#if defined(_TRIPLANARSPACEPROJECTION_OBJECTSPACE)
float3 staticSwitch392 = ase_vertex3Pos;
#elif defined(_TRIPLANARSPACEPROJECTION_WORLDSPACE)
float3 staticSwitch392 = ase_worldPos;
#else
float3 staticSwitch392 = ase_vertex3Pos;
#endif
float2 appendResult391 = (float2(_TriplanarXYTilingXYZWOffsetXY.z , _TriplanarXYTilingXYZWOffsetXY.w));
float4 triplanar399 = TriplanarSampling399( _DetailMask, ( staticSwitch392 + float3( appendResult391 , 0.0 ) ), ase_vertexNormal, _TriplanarFalloff_Instance, appendResult395, 1.0, 0 );
float4 clampResult413 = clamp( ( CalculateContrast(( _ContrastDetailMap + 1.0 ),(( _InvertMask )?( ( 1.0 - (( _EnableTriplanarProjection )?( triplanar399 ):( tex2D( _DetailMask, i.uv_texcoord ) )) ) ):( (( _EnableTriplanarProjection )?( triplanar399 ):( tex2D( _DetailMask, i.uv_texcoord ) )) ))) + -_SpreadDetailMap ) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) );
float MaskIntensity411 = _IntensityMask;
float4 Mask158 = (( _EnableDetailMask )?( ( clampResult413 * MaskIntensity411 ) ):( temp_cast_2 ));
float3 lerpResult137 = lerp( temp_output_245_0 , NormalDetail155 , Mask158.rgb);
float3 lerpResult205 = lerp( temp_output_245_0 , BlendNormals( temp_output_245_0 , NormalDetail155 ) , Mask158.rgb);
float3 Normal27 = (( _BlendMainNormal )?( lerpResult205 ):( lerpResult137 ));
o.Normal = Normal27;
float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
float2 break26_g616 = uv_MainTex;
float2 appendResult14_g616 = (float2(( break26_g616.x * GlobalTilingX11 ) , ( break26_g616.y * GlobalTilingY8 )));
float2 appendResult13_g616 = (float2(( break26_g616.x + GlobalOffsetX10 ) , ( break26_g616.y + GlobalOffsetY9 )));
float4 tex2DNode7_g615 = tex2D( _MainTex, ( ( appendResult14_g616 + appendResult13_g616 ) + Parallaxe359 ) );
float clampResult27_g615 = clamp( _Saturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g615 = ( _Color * tex2DNode7_g615 ).rgb;
float desaturateDot29_g615 = dot( desaturateInitialColor29_g615, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g615 = lerp( desaturateInitialColor29_g615, desaturateDot29_g615.xxx, -clampResult27_g615 );
float4 temp_output_372_0 = CalculateContrast(_Brightness,float4( desaturateVar29_g615 , 0.0 ));
float2 uv_DetailAlbedoMap = i.uv_texcoord * _DetailAlbedoMap_ST.xy + _DetailAlbedoMap_ST.zw;
float4 tex2DNode7_g613 = tex2D( _DetailAlbedoMap, uv_DetailAlbedoMap );
float clampResult27_g613 = clamp( _DetailSaturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g613 = ( _DetailColor * tex2DNode7_g613 ).rgb;
float desaturateDot29_g613 = dot( desaturateInitialColor29_g613, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g613 = lerp( desaturateInitialColor29_g613, desaturateDot29_g613.xxx, -clampResult27_g613 );
float4 AlbedoDetail153 = CalculateContrast(_DetailBrightness,float4( desaturateVar29_g613 , 0.0 ));
float4 lerpResult343 = lerp( temp_output_372_0 , AlbedoDetail153 , Mask158);
float4 blendOpSrc15_g626 = temp_output_372_0;
float4 blendOpDest15_g626 = lerpResult343;
float4 lerpBlendMode15_g626 = lerp(blendOpDest15_g626,(( blendOpDest15_g626 > 0.5 ) ? ( 1.0 - 2.0 * ( 1.0 - blendOpDest15_g626 ) * ( 1.0 - blendOpSrc15_g626 ) ) : ( 2.0 * blendOpDest15_g626 * blendOpSrc15_g626 ) ),Mask158.x);
float4 Albedo26 = (( _VisualizeMask )?( Mask158 ):( (( _BlendmodeOverlay )?( ( saturate( lerpBlendMode15_g626 )) ):( lerpResult343 )) ));
o.Albedo = Albedo26.rgb;
float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
float2 break26_g625 = uv_EmissionMap;
float2 appendResult14_g625 = (float2(( break26_g625.x * GlobalTilingX11 ) , ( break26_g625.y * GlobalTilingY8 )));
float2 appendResult13_g625 = (float2(( break26_g625.x + GlobalOffsetX10 ) , ( break26_g625.y + GlobalOffsetY9 )));
float4 temp_output_248_0 = ( _EmissionColor * tex2D( _EmissionMap, ( ( appendResult14_g625 + appendResult13_g625 ) + Parallaxe359 ) ) * _EmissionIntensity );
float4 temp_cast_21 = (0.0).xxxx;
float4 lerpResult190 = lerp( temp_output_248_0 , temp_cast_21 , Mask158);
float4 Emission110 = (( _UseEmissionFromMainProperties )?( temp_output_248_0 ):( lerpResult190 ));
o.Emission = Emission110.rgb;
float2 uv_SpecGlossMap = i.uv_texcoord * _SpecGlossMap_ST.xy + _SpecGlossMap_ST.zw;
float2 break26_g628 = uv_SpecGlossMap;
float2 appendResult14_g628 = (float2(( break26_g628.x * GlobalTilingX11 ) , ( break26_g628.y * GlobalTilingY8 )));
float2 appendResult13_g628 = (float2(( break26_g628.x + GlobalOffsetX10 ) , ( break26_g628.y + GlobalOffsetY9 )));
float4 tex2DNode3_g627 = tex2D( _SpecGlossMap, ( ( appendResult14_g628 + appendResult13_g628 ) + Parallaxe359 ) );
float2 uv_DetailSpecGlossMap = i.uv_texcoord * _DetailSpecGlossMap_ST.xy + _DetailSpecGlossMap_ST.zw;
float4 tex2DNode3_g620 = tex2D( _DetailSpecGlossMap, uv_DetailSpecGlossMap );
float4 DetailMetallic176 = ( _DetailSpecularColor * tex2DNode3_g620 * _DetailSpecularIntensity );
float4 lerpResult179 = lerp( ( _SpecularColor * tex2DNode3_g627 * _SpecularIntensity ) , DetailMetallic176 , Mask158);
float4 Specular41 = lerpResult179;
o.Specular = Specular41.rgb;
float BaseColorAlpha46 = (( _InvertABaseColor )?( ( 1.0 - tex2DNode7_g615.a ) ):( tex2DNode7_g615.a ));
#if defined(_SOURCE_SPECULARALPHA)
float staticSwitch31_g627 = ( tex2DNode3_g627.a * _Glossiness );
#elif defined(_SOURCE_BASECOLORALPHA)
float staticSwitch31_g627 = ( _Glossiness * BaseColorAlpha46 );
#else
float staticSwitch31_g627 = ( tex2DNode3_g627.a * _Glossiness );
#endif
float DetailBaseColorAlpha170 = tex2DNode7_g613.a;
#if defined(_DETAILSOURCE_SPECULARALPHA)
float staticSwitch31_g620 = ( tex2DNode3_g620.a * _DetailGlossiness );
#elif defined(_DETAILSOURCE_ALBEDOALPHA)
float staticSwitch31_g620 = ( _DetailGlossiness * DetailBaseColorAlpha170 );
#else
float staticSwitch31_g620 = ( tex2DNode3_g620.a * _DetailGlossiness );
#endif
float DetailSmoothness175 = staticSwitch31_g620;
float lerpResult182 = lerp( staticSwitch31_g627 , DetailSmoothness175 , Mask158.r);
float Smoothness40 = lerpResult182;
o.Smoothness = Smoothness40;
float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw;
float2 break26_g623 = uv_OcclusionMap;
float2 appendResult14_g623 = (float2(( break26_g623.x * GlobalTilingX11 ) , ( break26_g623.y * GlobalTilingY8 )));
float2 appendResult13_g623 = (float2(( break26_g623.x + GlobalOffsetX10 ) , ( break26_g623.y + GlobalOffsetY9 )));
float blendOpSrc2_g622 = tex2D( _OcclusionMap, ( ( appendResult14_g623 + appendResult13_g623 ) + Parallaxe359 ) ).r;
float blendOpDest2_g622 = ( 1.0 - _AoIntensity );
float temp_output_369_0 = ( saturate( ( 1.0 - ( 1.0 - blendOpSrc2_g622 ) * ( 1.0 - blendOpDest2_g622 ) ) ));
float lerpResult185 = lerp( temp_output_369_0 , 1.0 , Mask158.r);
float AmbientOcclusion94 = (( _UseAoFromMainProperties )?( temp_output_369_0 ):( lerpResult185 ));
o.Occlusion = AmbientOcclusion94;
o.Alpha = 1;
}
ENDCG
CGPROGRAM
#pragma surface surf StandardSpecular keepalpha fullforwardshadows
ENDCG
Pass
{
Name "ShadowCaster"
Tags{ "LightMode" = "ShadowCaster" }
ZWrite On
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#pragma multi_compile_shadowcaster
#pragma multi_compile UNITY_PASS_SHADOWCASTER
#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
#include "HLSLSupport.cginc"
#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
#define CAN_SKIP_VPOS
#endif
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "UnityPBSLighting.cginc"
struct v2f
{
V2F_SHADOW_CASTER;
float2 customPack1 : TEXCOORD1;
float4 tSpace0 : TEXCOORD2;
float4 tSpace1 : TEXCOORD3;
float4 tSpace2 : TEXCOORD4;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v )
{
v2f o;
UNITY_SETUP_INSTANCE_ID( v );
UNITY_INITIALIZE_OUTPUT( v2f, o );
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
UNITY_TRANSFER_INSTANCE_ID( v, o );
Input customInputData;
float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
half3 worldNormal = UnityObjectToWorldNormal( v.normal );
half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
half tangentSign = v.tangent.w * unity_WorldTransformParams.w;
half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
o.customPack1.xy = customInputData.uv_texcoord;
o.customPack1.xy = v.texcoord;
TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
return o;
}
half4 frag( v2f IN
#if !defined( CAN_SKIP_VPOS )
, UNITY_VPOS_TYPE vpos : VPOS
#endif
) : SV_Target
{
UNITY_SETUP_INSTANCE_ID( IN );
Input surfIN;
UNITY_INITIALIZE_OUTPUT( Input, surfIN );
surfIN.uv_texcoord = IN.customPack1.xy;
float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
surfIN.viewDir = IN.tSpace0.xyz * worldViewDir.x + IN.tSpace1.xyz * worldViewDir.y + IN.tSpace2.xyz * worldViewDir.z;
surfIN.worldPos = worldPos;
surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z );
surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
SurfaceOutputStandardSpecular o;
UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandardSpecular, o )
surf( surfIN, o );
#if defined( CAN_SKIP_VPOS )
float2 vpos = IN.pos;
#endif
SHADOW_CASTER_FRAGMENT( IN )
}
ENDCG
}
}
Fallback "Diffuse"
}

View File

@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 63a90426d42b698448966291201d6716
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,399 @@
Shader "Ciconia Studio/CS_Standard/Builtin/Standard (Specular setup)/Transparent"
{
Properties
{
[Space(35)][Header(Surface Options )]
[Space(15)][Enum(Off,2,On,0)] _Cull("Double Sided", Float) = 0 //"Back"
[Enum(Off,0,On,1)] _ZWrite("ZWrite", Float) = 1.0 //"On"
[Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 4 //"LessEqual"
[Space(35)][Header(Main Properties )][Space(15)]_GlobalXYTilingXYZWOffsetXY("Global --> XY(TilingXY) - ZW(OffsetXY)", Vector) = (1,1,0,0)
_Color("Color", Color) = (1,1,1,0)
[Toggle]_InvertABaseColor("Invert Alpha", Float) = 0
_MainTex("Base Color", 2D) = "white" {}
_Saturation("Saturation", Float) = 0
_Brightness("Brightness", Range( 1 , 8)) = 1
[Space(35)]_BumpMap("Normal Map", 2D) = "bump" {}
_BumpScale("Normal Intensity", Float) = 0.3
[Space(35)]_SpecularColor("Specular Color", Color) = (1,1,1,0)
_SpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {}
_SpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2
_Glossiness("Smoothness", Range( 0 , 2)) = 0.5
[Space(10)][KeywordEnum(SpecularAlpha,BaseColorAlpha)] _Source("Source", Float) = 0
[Space(35)]_ParallaxMap("Height Map", 2D) = "white" {}
_Parallax("Height Scale", Range( -0.1 , 0.1)) = 0
[Space(35)]_OcclusionMap("Ambient Occlusion Map", 2D) = "white" {}
_AoIntensity("Ao Intensity", Range( 0 , 2)) = 1
[HDR][Space(45)]_EmissionColor("Emission Color", Color) = (0,0,0,0)
_EmissionMap("Emission Map", 2D) = "white" {}
_EmissionIntensity("Intensity", Range( 0 , 2)) = 1
[Space(35)][Header(Mask Properties)][Toggle]_EnableDetailMask("Enable", Float) = 0
[Space(15)][Toggle]_VisualizeMask("Visualize Mask", Float) = 0
[Space(15)][Toggle]_EnableTriplanarProjection("Enable Triplanar Projection", Float) = 1
[KeywordEnum(ObjectSpace,WorldSpace)] _TriplanarSpaceProjection("Space Projection", Float) = 0
_TriplanarFalloff("Falloff", Float) = 20
_TriplanarXYTilingXYZWOffsetXY("Triplanar --> XY(TilingXY) - ZW(OffsetXY) ", Vector) = (1,1,0,0)
[Toggle]_InvertMask("Invert Mask", Float) = 0
_DetailMask("Detail Mask", 2D) = "white" {}
_IntensityMask("Intensity", Range( 0 , 1)) = 1
[Space(15)]_ContrastDetailMap("Contrast", Float) = 0
_SpreadDetailMap("Spread", Float) = 0
[Space(35)][Header(Detail Properties)][Space(15)][Toggle]_BlendmodeOverlay("Blend mode Overlay", Float) = 0
[Space(35)]_DetailColor("Color", Color) = (1,1,1,0)
_DetailAlbedoMap("Base Color", 2D) = "white" {}
_DetailSaturation("Saturation", Float) = 0
_DetailBrightness("Brightness", Range( 1 , 8)) = 1
[Space(35)][Toggle]_BlendMainNormal("Blend Main Normal", Float) = 0
[HideInInspector] _texcoord( "", 2D ) = "white" {}
_DetailNormalMap("Normal Map", 2D) = "bump" {}
_DetailNormalMapScale("Scale", Float) = 0.3
[Space(35)]_DetailSpecularColor("Specular Color", Color) = (1,1,1,0)
_DetailSpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {}
_DetailSpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2
_DetailGlossiness("Smoothness", Range( 0 , 2)) = 0.5
[Space(10)][KeywordEnum(SpecularAlpha,AlbedoAlpha)] _DetailSource("Source", Float) = 0
[Space(15)][Toggle]_UseAoFromMainProperties("Use Ao From Main Properties", Float) = 1
[Toggle]_UseEmissionFromMainProperties("Use Emission From Main Properties", Float) = 1
[Space(35)][Header(Transparent Properties)][Space(15)][Toggle]_InvertTransparent("Invert ", Float) = 0
[Toggle]_UseBaseColorAlpha("Use BaseColor Alpha", Float) = 0
_TransparentMask("Transparent Mask", 2D) = "white" {}
_IntensityTransparentMap("Opacity", Range( 0 , 1)) = 0
[Space(15)]_ContrastTransparentMap("Contrast", Float) = 0
_SpreadTransparentMap("Spread", Float) = 0
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" }
Cull[_Cull]
ZWrite[_ZWrite]
ZTest [_ZTest]
CGINCLUDE
#include "UnityCG.cginc"
#include "UnityStandardUtils.cginc"
#include "UnityShaderVariables.cginc"
#include "UnityPBSLighting.cginc"
#include "Lighting.cginc"
#pragma target 3.0
#pragma multi_compile_instancing
#pragma shader_feature_local _TRIPLANARSPACEPROJECTION_OBJECTSPACE _TRIPLANARSPACEPROJECTION_WORLDSPACE
#pragma shader_feature_local _SOURCE_SPECULARALPHA _SOURCE_BASECOLORALPHA
#pragma shader_feature_local _DETAILSOURCE_SPECULARALPHA _DETAILSOURCE_ALBEDOALPHA
#ifdef UNITY_PASS_SHADOWCASTER
#undef INTERNAL_DATA
#undef WorldReflectionVector
#undef WorldNormalVector
#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
#define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
#endif
struct Input
{
float2 uv_texcoord;
float3 viewDir;
INTERNAL_DATA
half ASEVFace : VFACE;
float3 worldPos;
float3 worldNormal;
};
uniform float _BlendMainNormal;
uniform sampler2D _BumpMap;
uniform float4 _BumpMap_ST;
uniform float4 _GlobalXYTilingXYZWOffsetXY;
uniform sampler2D _ParallaxMap;
uniform float4 _ParallaxMap_ST;
uniform float _Parallax;
uniform float _BumpScale;
uniform sampler2D _DetailNormalMap;
uniform float4 _DetailNormalMap_ST;
uniform float _DetailNormalMapScale;
uniform float _EnableDetailMask;
uniform float _ContrastDetailMap;
uniform float _InvertMask;
uniform float _EnableTriplanarProjection;
uniform sampler2D _DetailMask;
uniform float4 _TriplanarXYTilingXYZWOffsetXY;
uniform float _SpreadDetailMap;
uniform float _IntensityMask;
uniform float _VisualizeMask;
uniform float _BlendmodeOverlay;
uniform float _Brightness;
uniform float4 _Color;
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float _Saturation;
uniform float _DetailBrightness;
uniform float4 _DetailColor;
uniform sampler2D _DetailAlbedoMap;
uniform float4 _DetailAlbedoMap_ST;
uniform float _DetailSaturation;
uniform float _UseEmissionFromMainProperties;
uniform float4 _EmissionColor;
uniform sampler2D _EmissionMap;
uniform float4 _EmissionMap_ST;
uniform float _EmissionIntensity;
uniform float4 _SpecularColor;
uniform sampler2D _SpecGlossMap;
uniform float4 _SpecGlossMap_ST;
uniform float _SpecularIntensity;
uniform float4 _DetailSpecularColor;
uniform sampler2D _DetailSpecGlossMap;
uniform float4 _DetailSpecGlossMap_ST;
uniform float _DetailSpecularIntensity;
uniform float _Glossiness;
uniform float _InvertABaseColor;
uniform float _DetailGlossiness;
uniform float _UseAoFromMainProperties;
uniform sampler2D _OcclusionMap;
uniform float4 _OcclusionMap_ST;
uniform float _AoIntensity;
uniform float _ContrastTransparentMap;
uniform float _InvertTransparent;
uniform float _UseBaseColorAlpha;
uniform sampler2D _TransparentMask;
uniform float4 _TransparentMask_ST;
uniform float _SpreadTransparentMap;
uniform float _IntensityTransparentMap;
UNITY_INSTANCING_BUFFER_START(CiconiaStudioCS_StandardBuiltinStandardSpecularsetupTransparent)
UNITY_DEFINE_INSTANCED_PROP(float, _TriplanarFalloff)
#define _TriplanarFalloff_arr CiconiaStudioCS_StandardBuiltinStandardSpecularsetupTransparent
UNITY_INSTANCING_BUFFER_END(CiconiaStudioCS_StandardBuiltinStandardSpecularsetupTransparent)
inline float4 TriplanarSampling393( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index )
{
float3 projNormal = ( pow( abs( worldNormal ), falloff ) );
projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001;
float3 nsign = sign( worldNormal );
half4 xNorm; half4 yNorm; half4 zNorm;
xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) );
yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) );
zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) );
return xNorm * projNormal.x + yNorm * projNormal.y + zNorm * projNormal.z;
}
float4 CalculateContrast( float contrastValue, float4 colorTarget )
{
float t = 0.5 * ( 1.0 - contrastValue );
return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget );
}
void surf( Input i , inout SurfaceOutputStandardSpecular o )
{
float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw;
float2 break26_g619 = uv_BumpMap;
float GlobalTilingX11 = ( _GlobalXYTilingXYZWOffsetXY.x - 1.0 );
float GlobalTilingY8 = ( _GlobalXYTilingXYZWOffsetXY.y - 1.0 );
float2 appendResult14_g619 = (float2(( break26_g619.x * GlobalTilingX11 ) , ( break26_g619.y * GlobalTilingY8 )));
float GlobalOffsetX10 = _GlobalXYTilingXYZWOffsetXY.z;
float GlobalOffsetY9 = _GlobalXYTilingXYZWOffsetXY.w;
float2 appendResult13_g619 = (float2(( break26_g619.x + GlobalOffsetX10 ) , ( break26_g619.y + GlobalOffsetY9 )));
float2 uv_ParallaxMap = i.uv_texcoord * _ParallaxMap_ST.xy + _ParallaxMap_ST.zw;
float2 break26_g467 = uv_ParallaxMap;
float2 appendResult14_g467 = (float2(( break26_g467.x * GlobalTilingX11 ) , ( break26_g467.y * GlobalTilingY8 )));
float2 appendResult13_g467 = (float2(( break26_g467.x + GlobalOffsetX10 ) , ( break26_g467.y + GlobalOffsetY9 )));
float4 temp_cast_0 = (tex2D( _ParallaxMap, ( appendResult14_g467 + appendResult13_g467 ) ).g).xxxx;
float2 paralaxOffset36_g466 = ParallaxOffset( temp_cast_0.x , _Parallax , i.viewDir );
float2 switchResult47_g466 = (((i.ASEVFace>0)?(paralaxOffset36_g466):(0.0)));
float2 Parallaxe368 = switchResult47_g466;
float3 temp_output_245_0 = UnpackScaleNormal( tex2D( _BumpMap, ( ( appendResult14_g619 + appendResult13_g619 ) + Parallaxe368 ) ), _BumpScale );
float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw;
float3 NormalDetail155 = UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), _DetailNormalMapScale );
float4 temp_cast_2 = (0.0).xxxx;
float2 appendResult389 = (float2(_TriplanarXYTilingXYZWOffsetXY.x , _TriplanarXYTilingXYZWOffsetXY.y));
float _TriplanarFalloff_Instance = UNITY_ACCESS_INSTANCED_PROP(_TriplanarFalloff_arr, _TriplanarFalloff);
float3 ase_worldPos = i.worldPos;
float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) );
float3 ase_vertex3Pos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) );
float3 ase_vertexNormal = mul( unity_WorldToObject, float4( ase_worldNormal, 0 ) );
#if defined(_TRIPLANARSPACEPROJECTION_OBJECTSPACE)
float3 staticSwitch386 = ase_vertex3Pos;
#elif defined(_TRIPLANARSPACEPROJECTION_WORLDSPACE)
float3 staticSwitch386 = ase_worldPos;
#else
float3 staticSwitch386 = ase_vertex3Pos;
#endif
float2 appendResult385 = (float2(_TriplanarXYTilingXYZWOffsetXY.z , _TriplanarXYTilingXYZWOffsetXY.w));
float4 triplanar393 = TriplanarSampling393( _DetailMask, ( staticSwitch386 + float3( appendResult385 , 0.0 ) ), ase_vertexNormal, _TriplanarFalloff_Instance, appendResult389, 1.0, 0 );
float4 clampResult407 = clamp( ( CalculateContrast(( _ContrastDetailMap + 1.0 ),(( _InvertMask )?( ( 1.0 - (( _EnableTriplanarProjection )?( triplanar393 ):( tex2D( _DetailMask, i.uv_texcoord ) )) ) ):( (( _EnableTriplanarProjection )?( triplanar393 ):( tex2D( _DetailMask, i.uv_texcoord ) )) ))) + -_SpreadDetailMap ) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) );
float MaskIntensity405 = _IntensityMask;
float4 Mask158 = (( _EnableDetailMask )?( ( clampResult407 * MaskIntensity405 ) ):( temp_cast_2 ));
float3 lerpResult137 = lerp( temp_output_245_0 , NormalDetail155 , Mask158.rgb);
float3 lerpResult205 = lerp( temp_output_245_0 , BlendNormals( temp_output_245_0 , NormalDetail155 ) , Mask158.rgb);
float3 Normal27 = (( _BlendMainNormal )?( lerpResult205 ):( lerpResult137 ));
o.Normal = Normal27;
float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
float2 break26_g614 = uv_MainTex;
float2 appendResult14_g614 = (float2(( break26_g614.x * GlobalTilingX11 ) , ( break26_g614.y * GlobalTilingY8 )));
float2 appendResult13_g614 = (float2(( break26_g614.x + GlobalOffsetX10 ) , ( break26_g614.y + GlobalOffsetY9 )));
float4 tex2DNode7_g613 = tex2D( _MainTex, ( ( appendResult14_g614 + appendResult13_g614 ) + Parallaxe368 ) );
float clampResult27_g613 = clamp( _Saturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g613 = ( _Color * tex2DNode7_g613 ).rgb;
float desaturateDot29_g613 = dot( desaturateInitialColor29_g613, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g613 = lerp( desaturateInitialColor29_g613, desaturateDot29_g613.xxx, -clampResult27_g613 );
float4 temp_output_338_0 = CalculateContrast(_Brightness,float4( desaturateVar29_g613 , 0.0 ));
float2 uv_DetailAlbedoMap = i.uv_texcoord * _DetailAlbedoMap_ST.xy + _DetailAlbedoMap_ST.zw;
float4 tex2DNode7_g468 = tex2D( _DetailAlbedoMap, uv_DetailAlbedoMap );
float clampResult27_g468 = clamp( _DetailSaturation , -1.0 , 100.0 );
float3 desaturateInitialColor29_g468 = ( _DetailColor * tex2DNode7_g468 ).rgb;
float desaturateDot29_g468 = dot( desaturateInitialColor29_g468, float3( 0.299, 0.587, 0.114 ));
float3 desaturateVar29_g468 = lerp( desaturateInitialColor29_g468, desaturateDot29_g468.xxx, -clampResult27_g468 );
float4 AlbedoDetail153 = CalculateContrast(_DetailBrightness,float4( desaturateVar29_g468 , 0.0 ));
float4 lerpResult343 = lerp( temp_output_338_0 , AlbedoDetail153 , Mask158);
float4 blendOpSrc15_g624 = temp_output_338_0;
float4 blendOpDest15_g624 = lerpResult343;
float4 lerpBlendMode15_g624 = lerp(blendOpDest15_g624,(( blendOpDest15_g624 > 0.5 ) ? ( 1.0 - 2.0 * ( 1.0 - blendOpDest15_g624 ) * ( 1.0 - blendOpSrc15_g624 ) ) : ( 2.0 * blendOpDest15_g624 * blendOpSrc15_g624 ) ),Mask158.x);
float4 Albedo26 = (( _VisualizeMask )?( Mask158 ):( (( _BlendmodeOverlay )?( ( saturate( lerpBlendMode15_g624 )) ):( lerpResult343 )) ));
o.Albedo = Albedo26.rgb;
float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw;
float2 break26_g623 = uv_EmissionMap;
float2 appendResult14_g623 = (float2(( break26_g623.x * GlobalTilingX11 ) , ( break26_g623.y * GlobalTilingY8 )));
float2 appendResult13_g623 = (float2(( break26_g623.x + GlobalOffsetX10 ) , ( break26_g623.y + GlobalOffsetY9 )));
float4 temp_output_248_0 = ( _EmissionColor * tex2D( _EmissionMap, ( ( appendResult14_g623 + appendResult13_g623 ) + Parallaxe368 ) ) * _EmissionIntensity );
float4 temp_cast_21 = (0.0).xxxx;
float4 lerpResult190 = lerp( temp_output_248_0 , temp_cast_21 , Mask158);
float4 Emission110 = (( _UseEmissionFromMainProperties )?( temp_output_248_0 ):( lerpResult190 ));
o.Emission = Emission110.rgb;
float2 uv_SpecGlossMap = i.uv_texcoord * _SpecGlossMap_ST.xy + _SpecGlossMap_ST.zw;
float2 break26_g626 = uv_SpecGlossMap;
float2 appendResult14_g626 = (float2(( break26_g626.x * GlobalTilingX11 ) , ( break26_g626.y * GlobalTilingY8 )));
float2 appendResult13_g626 = (float2(( break26_g626.x + GlobalOffsetX10 ) , ( break26_g626.y + GlobalOffsetY9 )));
float4 tex2DNode3_g625 = tex2D( _SpecGlossMap, ( ( appendResult14_g626 + appendResult13_g626 ) + Parallaxe368 ) );
float2 uv_DetailSpecGlossMap = i.uv_texcoord * _DetailSpecGlossMap_ST.xy + _DetailSpecGlossMap_ST.zw;
float4 tex2DNode3_g617 = tex2D( _DetailSpecGlossMap, uv_DetailSpecGlossMap );
float4 DetailMetallic176 = ( _DetailSpecularColor * tex2DNode3_g617 * _DetailSpecularIntensity );
float4 lerpResult179 = lerp( ( _SpecularColor * tex2DNode3_g625 * _SpecularIntensity ) , DetailMetallic176 , Mask158);
float4 Specular41 = lerpResult179;
o.Specular = Specular41.rgb;
float BaseColorAlpha46 = (( _InvertABaseColor )?( ( 1.0 - tex2DNode7_g613.a ) ):( tex2DNode7_g613.a ));
#if defined(_SOURCE_SPECULARALPHA)
float staticSwitch31_g625 = ( tex2DNode3_g625.a * _Glossiness );
#elif defined(_SOURCE_BASECOLORALPHA)
float staticSwitch31_g625 = ( _Glossiness * BaseColorAlpha46 );
#else
float staticSwitch31_g625 = ( tex2DNode3_g625.a * _Glossiness );
#endif
float DetailBaseColorAlpha170 = tex2DNode7_g468.a;
#if defined(_DETAILSOURCE_SPECULARALPHA)
float staticSwitch31_g617 = ( tex2DNode3_g617.a * _DetailGlossiness );
#elif defined(_DETAILSOURCE_ALBEDOALPHA)
float staticSwitch31_g617 = ( _DetailGlossiness * DetailBaseColorAlpha170 );
#else
float staticSwitch31_g617 = ( tex2DNode3_g617.a * _DetailGlossiness );
#endif
float DetailSmoothness175 = staticSwitch31_g617;
float lerpResult182 = lerp( staticSwitch31_g625 , DetailSmoothness175 , Mask158.r);
float Smoothness40 = lerpResult182;
o.Smoothness = Smoothness40;
float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw;
float2 break26_g621 = uv_OcclusionMap;
float2 appendResult14_g621 = (float2(( break26_g621.x * GlobalTilingX11 ) , ( break26_g621.y * GlobalTilingY8 )));
float2 appendResult13_g621 = (float2(( break26_g621.x + GlobalOffsetX10 ) , ( break26_g621.y + GlobalOffsetY9 )));
float blendOpSrc2_g620 = tex2D( _OcclusionMap, ( ( appendResult14_g621 + appendResult13_g621 ) + Parallaxe368 ) ).r;
float blendOpDest2_g620 = ( 1.0 - _AoIntensity );
float temp_output_247_0 = ( saturate( ( 1.0 - ( 1.0 - blendOpSrc2_g620 ) * ( 1.0 - blendOpDest2_g620 ) ) ));
float lerpResult185 = lerp( temp_output_247_0 , 1.0 , Mask158.r);
float AmbientOcclusion94 = (( _UseAoFromMainProperties )?( temp_output_247_0 ):( lerpResult185 ));
o.Occlusion = AmbientOcclusion94;
float2 uv_TransparentMask = i.uv_texcoord * _TransparentMask_ST.xy + _TransparentMask_ST.zw;
float4 tex2DNode8_g627 = tex2D( _TransparentMask, uv_TransparentMask );
float4 temp_cast_26 = (BaseColorAlpha46).xxxx;
float4 temp_cast_27 = (BaseColorAlpha46).xxxx;
float4 clampResult24_g627 = clamp( ( CalculateContrast(( _ContrastTransparentMap + 1.0 ),(( _InvertTransparent )?( ( 1.0 - (( _UseBaseColorAlpha )?( temp_cast_27 ):( tex2DNode8_g627 )) ) ):( (( _UseBaseColorAlpha )?( temp_cast_26 ):( tex2DNode8_g627 )) ))) + -_SpreadTransparentMap ) , float4( 0,0,0,0 ) , float4( 1,0,0,0 ) );
float4 Transparent358 = ( clampResult24_g627 * ( 1.0 - _IntensityTransparentMap ) );
o.Alpha = Transparent358.r;
}
ENDCG
CGPROGRAM
#pragma surface surf StandardSpecular alpha:fade keepalpha fullforwardshadows
ENDCG
Pass
{
Name "ShadowCaster"
Tags{ "LightMode" = "ShadowCaster" }
ZWrite On
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#pragma multi_compile_shadowcaster
#pragma multi_compile UNITY_PASS_SHADOWCASTER
#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
#include "HLSLSupport.cginc"
#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
#define CAN_SKIP_VPOS
#endif
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "UnityPBSLighting.cginc"
sampler3D _DitherMaskLOD;
struct v2f
{
V2F_SHADOW_CASTER;
float2 customPack1 : TEXCOORD1;
float4 tSpace0 : TEXCOORD2;
float4 tSpace1 : TEXCOORD3;
float4 tSpace2 : TEXCOORD4;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v )
{
v2f o;
UNITY_SETUP_INSTANCE_ID( v );
UNITY_INITIALIZE_OUTPUT( v2f, o );
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
UNITY_TRANSFER_INSTANCE_ID( v, o );
Input customInputData;
float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
half3 worldNormal = UnityObjectToWorldNormal( v.normal );
half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
half tangentSign = v.tangent.w * unity_WorldTransformParams.w;
half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
o.customPack1.xy = customInputData.uv_texcoord;
o.customPack1.xy = v.texcoord;
TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
return o;
}
half4 frag( v2f IN
#if !defined( CAN_SKIP_VPOS )
, UNITY_VPOS_TYPE vpos : VPOS
#endif
) : SV_Target
{
UNITY_SETUP_INSTANCE_ID( IN );
Input surfIN;
UNITY_INITIALIZE_OUTPUT( Input, surfIN );
surfIN.uv_texcoord = IN.customPack1.xy;
float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
surfIN.viewDir = IN.tSpace0.xyz * worldViewDir.x + IN.tSpace1.xyz * worldViewDir.y + IN.tSpace2.xyz * worldViewDir.z;
surfIN.worldPos = worldPos;
surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z );
surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
SurfaceOutputStandardSpecular o;
UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandardSpecular, o )
surf( surfIN, o );
#if defined( CAN_SKIP_VPOS )
float2 vpos = IN.pos;
#endif
half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a;
clip( alphaRef - 0.01 );
SHADOW_CASTER_FRAGMENT( IN )
}
ENDCG
}
}
Fallback "Diffuse"
}

View File

@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 2914c939860ab3b40b0972bf8aedb87f
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f114695efd4d4d149ae9f993241880ea
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,19 @@
Readme - Standard Shaders
_________________________
Support Unity versions
2019.3.0 or higher
Documentation link : https://docs.google.com/document/d/1gPdDTmOarLQdftwpmlU1dNOdocqUjJegSJWxv5s5x68/edit
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Contact :
If you have any questions, please feel free to contact us : contact@ciconia-studio.com
More news on our work? Follow us on Twitter : twitter.com/CiconiaStudio

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2c142b5f793b09d418982004b57af224
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 155ceb935d4c99f40be12a08dfdc69e9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0a83632ee9d1ec64e8b0674c1117ab9a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 31718ce66fc43854c97ea1ea6b53acab
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

@@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: 44fe1c31818d34041bbe83b0b93165e2
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

View File

@@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: 8c38d2e72ca280f4783343ec9c4418f7
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 1024
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

View File

@@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: 08bfefe890a504e44a80c3a621c99ab7
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 KiB

View File

@@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: d544c5d8d8f2e204cbf611243d25bb47
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

View File

@@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: 953eab576c42ff84bbf116175e0b6574
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

@@ -0,0 +1,144 @@
fileFormatVersion: 2
guid: e937af7b265e5324c80530ca8184137c
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0088a24aa2f22684aac4ce045cbbdb70
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 965 KiB

View File

@@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: 975091fd01255324da00cdc05598ac59
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 KiB

View File

@@ -0,0 +1,132 @@
fileFormatVersion: 2
guid: a4818f55b22c0894981f4006a2c10a4c
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 1
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 1
textureFormat: -1
textureCompression: 1
compressionQuality: 75
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant: