main
t0stiman 2024-02-05 20:36:58 +01:00
parent bfdedcdd88
commit bd6174731d
3044 changed files with 129975 additions and 44370 deletions

10
.directory Normal file
View File

@ -0,0 +1,10 @@
[Dolphin]
PreviewsShown=false
SortRole=type
Timestamp=2023,11,21,17,36,10.812
Version=4
ViewMode=1
VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_type,CustomizedDetails
[Settings]
HiddenFilesShown=true

3
.gitignore vendored
View File

@ -77,3 +77,6 @@ crashlytics-build.properties
# jetbrains
/.idea
*.zip
Assets/TerrainSampleAssets/

View File

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

View File

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

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:

BIN
Assets/CustomMapAssets/20230905135846_1.jpg (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 687d6d6147620e944aba985347bff722
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
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
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:

BIN
Assets/CustomMapAssets/derail.mp3 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 09689778d91fc614e966f5cb098c3ba8
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/CustomMapAssets/map.jpg (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 9ddf71e7ce9cf5b418db5946a6568c9c
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
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
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

@ -13,14 +13,17 @@ MonoBehaviour:
m_Name: MapInfo
m_EditorClassIdentifier:
name: Tostiman's test map
version: 0.1.1
homePage: https://www.nexusmods.com/derailvalley/mods/MOD-ID-HERE
version: 0.2.0
homePage: https://www.nexusmods.com/derailvalley/mods/798
repository: https://git.tostiman.com/tostiman/dv-testimap/raw/branch/main/repository.json
loadingGaugeHeight: 5
loadingGaugeWidth: 4
waterLevel: 0
defaultSpawnPosition: {x: 126, y: 327, z: 125}
defaultSpawnPosition: {x: 7500, y: 100, z: 7500}
defaultSpawnRotation: {x: 0, y: 0, z: 0}
worldBoundaryMargin: 5
worldBoundaryMargin: 0
useFixedMapImage: 0
fixedMapImage: {fileID: 0}
trackWidth: 5
trackColor: {r: 0.80784315, g: 0.7647059, b: 0.5803922, a: 1}
trackBackgroundWidth: 17
@ -84,10 +87,11 @@ MonoBehaviour:
m_Mode: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
showStationNamesOnMap: 1
terrainLoadingRingSize: 4
chunkSize: 1024
worldLoadingRingSize: 2
mapifyVersion: 0.4.0
worldLoadingRingSize: 6
mapifyVersion: 0.4.1
worldSize: 1250
terrainSize: 250
terrainHeight: 0

View File

@ -129,7 +129,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
asset: 52
keepChildren: 0
rotation: {x: 0, y: 0, z: 0}
rotationOffset: {x: 0, y: 0, z: 0}
--- !u!114 &3957153289511670403
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -129,7 +129,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
asset: 54
keepChildren: 0
rotation: {x: 0, y: 0, z: 0}
rotationOffset: {x: 0, y: 0, z: 0}
--- !u!114 &3957153289511670403
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -25,7 +25,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 3543013568023383394, guid: 0f09051f0758f351bb1b1f1602ec5b51,
type: 3}
propertyPath: rotation.y
propertyPath: rotationOffset.y
value: 90
objectReference: {fileID: 0}
- target: {fileID: 3543013568023383394, guid: 0f09051f0758f351bb1b1f1602ec5b51,

View File

@ -47,7 +47,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
asset: 13
keepChildren: 1
rotation: {x: 0, y: 90, z: 0}
rotationOffset: {x: 0, y: 90, z: 0}
--- !u!33 &1285410329932861900
MeshFilter:
m_ObjectHideFlags: 0

View File

@ -47,6 +47,8 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
asset: 16
keepChildren: 1
rotationOffset: {x: 0, y: 0, z: 0}
--- !u!33 &8688684374492490991
MeshFilter:
m_ObjectHideFlags: 0
@ -170,25 +172,28 @@ MonoBehaviour:
m_EditorClassIdentifier:
stationName:
stationID:
color: {r: 0, g: 0, b: 0, a: 0}
color: {r: 0, g: 0, b: 0, a: 1}
teleportLocation: {fileID: 5087403294541507478}
storageTrackNames: []
transferInTrackNames: []
transferOutTrackNames: []
warehouseMachines: []
bookletSpawnArea: {fileID: 0}
yardCenter: {fileID: 0}
bookletGenerationDistance: 150
jobGenerationDistance: 500
jobDestroyDistance: 600
jobsCapacity: 30
maxShuntingStorageTracks: 3
minCarsPerJob: 3
maxCarsPerJob: 20
warehouseMachines: []
inputCargoGroupsCount: 0
maxShuntingStorageTracks: 3
generateFreightHaul: 1
generateLogisticalHaul: 1
generateShuntingLoad: 1
generateShuntingUnload: 1
inputCargoGroups: []
outputCargoGroups: []
loadStartingJobSupported: 1
haulStartingJobSupported: 1
unloadStartingJobSupported: 1
emptyHaulStartingJobSupported: 1
inputCargoGroupsCount: 0
storageTrackNames: []
transferInTrackNames: []
transferOutTrackNames: []
visualizeJobGenerationRange: 0
visualizeBookletGenerationDistance: 0
visualizeJobDestroyDistance: 0

BIN
Assets/Mapify/Scripts/MapifyEditor.dll (Stored with Git LFS)

Binary file not shown.

BIN
Assets/Mapify/Scripts/OsmSharp.dll (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,33 @@
fileFormatVersion: 2
guid: b868070355200e2449668298f608d7bd
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Mapify/Scripts/protobuf-net.dll (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,33 @@
fileFormatVersion: 2
guid: 5bc816fcb3d84e24091f0fcb4c990584
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: ebf1975dc5c39b249a99a7f0cb5cf2b4
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 768a5a18fd6eb914f980bf85dd7b34ec, type: 3}
importSettings:
materials: 1
shaderOverrides:
metallic: {fileID: 4800000, guid: 057d08f5d01be134593d0fe0e40c1759, type: 3}
metallicBlend: {fileID: 4800000, guid: 7258d825fa9aac6439f21eb173b880c6, type: 3}
specular: {fileID: 4800000, guid: d28fc76bfd3057e4c8f1c6f0b91590c8, type: 3}
specularBlend: {fileID: 4800000, guid: 475158e3052e5c4488fa32f8df9d7be7, type: 3}
animationSettings:
looping: 0
frameRate: 24
interpolationMode: -1
compressBlendShapeKeyFrames: 1
useLegacyClips: 0
generateLightmapUVs: 0
hardAngle: 88
angleError: 8
areaError: 15
packMargin: 4

133
Assets/Mine/tent.mat Normal file
View File

@ -0,0 +1,133 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: tent
m_Shader: {fileID: 4800000, guid: 1f53b2e079258874d987bc2948630b78, type: 3}
m_ShaderKeywords: _DETAILSOURCE_SPECULARALPHA _ENABLETRIPLANARPROJECTION_ON _METALLICGLOSSMAP
_NORMALMAP _SOURCE_SPECULARALPHA _TRIPLANARSPACEPROJECTION_OBJECTSPACE _USEAOFROMMAINPROPERTIES_ON
_USEEMISSIONFROMMAINPROPERTIES_ON
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 1114877306669140642, guid: ebf1975dc5c39b249a99a7f0cb5cf2b4,
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CutoutMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailSpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: -7613457054433700299, guid: ebf1975dc5c39b249a99a7f0cb5cf2b4,
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 8009727818586853621, guid: ebf1975dc5c39b249a99a7f0cb5cf2b4,
type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _texcoord:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AoIntensity: 1
- _BlendMainNormal: 0
- _BlendmodeOverlay: 0
- _Brightness: 1
- _BumpScale: 1
- _ContrastDetailMap: 0
- _Cull: 0
- _Cutoff: 0.5
- _DetailBrightness: 1
- _DetailGlossiness: 0.66
- _DetailNormalMapScale: 1
- _DetailSaturation: 0
- _DetailSource: 0
- _DetailSpecularIntensity: 0.44
- _DstBlend: 0
- _EmissionIntensity: 1
- _EnableDetailMask: 0
- _EnableTriplanarProjection: 1
- _GlossMapScale: 0.255
- _Glossiness: 0.19
- _GlossyReflections: 1
- _IntensityMask: 1
- _InvertABaseColor: 0
- _InvertCutout: 0
- _InvertMask: 0
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Saturation: 0
- _SmoothnessTextureChannel: 0
- _Source: 0
- _SpecularHighlights: 1
- _SpecularIntensity: 0.16
- _SpreadDetailMap: 0
- _SrcBlend: 1
- _TriplanarFalloff: 20
- _TriplanarSpaceProjection: 0
- _UVSec: 0
- _UseAoFromMainProperties: 1
- _UseBaseColorAlpha: 0
- _UseEmissionFromMainProperties: 1
- _VisualizeMask: 0
- _ZTest: 4
- _ZWrite: 1
- __dirty: 1
m_Colors:
- _Color: {r: 0.23584908, g: 0.23584908, b: 0.23584908, a: 1}
- _DetailColor: {r: 1, g: 1, b: 1, a: 0}
- _DetailSpecularColor: {r: 1, g: 1, b: 1, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _GlobalXYTilingXYZWOffsetXY: {r: 1, g: 1, b: 0, a: 0}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 0}
- _TriplanarXYTilingXYZWOffsetXY1: {r: 1, g: 1, b: 0, a: 0}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c3161690b1d88424c8ed61ee08581e77
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -121,3 +121,97 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &1701854318
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1701854322}
- component: {fileID: 1701854321}
- component: {fileID: 1701854320}
- component: {fileID: 1701854319}
m_Layer: 0
m_Name: Plaftond
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!64 &1701854319
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1701854318}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 4
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &1701854320
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1701854318}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &1701854321
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1701854318}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &1701854322
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1701854318}
m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 5210.995, y: 500, z: 4570.676}
m_LocalScale: {x: 1000, y: 1000, z: 100}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 3fe8a5c54a85a2a498f6204e4eb349a7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5de633e1dec981a4b844e292b1e53a2f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 6429e538656a08d41a3e02460c8dfc13
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 44acd9955fdd76a49a648d7c2272bd69
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: da9a02b3f70624049ae0f5179eb30676
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 801840c41f3ecb94b9f3c0edee270680
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: d9c54628f9fbc9f4ca99e3cebc8eccd4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1636c5cfede58da4582e750104094eb9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ae3332787e54a364d926abe74ae8f72b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: f8eb33243268cac44b59c53b980c24a2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 561885dd3e9e0b0439f2284ec0b19014
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bfba18e94636b5349b8614132b6ca8e0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b8e7e17c9cb754d4b89cf3ab3b88ae1e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: e675c36829bfc3549981e25a5a318596
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 5a565ba4c5263aa4f974ea7a0fb9b57d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6865f4caefa164e47b61c13d99fcdaee
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 63f1bda1a18818142888d31287a12e69
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5d4724db919f2904d8d8152931c323d4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 11ba0db2c577eb14e8bbbe984957830b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 938e2dcc42841d643b95ea2d1a2d494a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 43f56178b416de24bb93f748770935bb
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 481af3608ff2c6c4e85a33123e61d79c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 36ea8970f1c99a244a43b28b89cf3b10
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8be791b00ceb93e49b76f819edc73dee
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 300eafb06a4dab646b73203f5cecd058
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fe15ba39ac792bc4393a76aebb9abb97
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d1019eab04adc6c4f921ead3acd5196f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fe3ae520e85334b47ac63f177e5248e8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 15600000
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show More