diff options
Diffstat (limited to 'VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2')
8 files changed, 1067 insertions, 0 deletions
diff --git a/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/PoiShatterHelpers.cginc b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/PoiShatterHelpers.cginc new file mode 100644 index 00000000..e9f80a54 --- /dev/null +++ b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/PoiShatterHelpers.cginc @@ -0,0 +1,20 @@ + + +float2 getMatcapUV(float3 viewDirection, float3 normalDirection) +{ + half3 worldViewUp = normalize(half3(0, 1, 0) - viewDirection * dot(viewDirection, half3(0, 1, 0))); + half3 worldViewRight = normalize(cross(viewDirection, worldViewUp)); + half2 matcapUV = half2(dot(worldViewRight, normalDirection), dot(worldViewUp, normalDirection)) * 0.5 + 0.5; + return matcapUV; +} + +float3 CreateBinormal(float3 normal, float3 tangent, float binormalSign) +{ + return cross(normal, tangent.xyz) * + (binormalSign * unity_WorldTransformParams.w); +} + +float random(in float3 st) +{ + return frac(cos(dot(st.xyz, float3(12.9898, 78.233, 123.691))) * 43758.5453123); +}
\ No newline at end of file diff --git a/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/PoiShatterHelpers.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/PoiShatterHelpers.cginc.meta new file mode 100644 index 00000000..86915e07 --- /dev/null +++ b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/PoiShatterHelpers.cginc.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5bcdb4bafbb424d4c957bdde3305b07c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/Shatter.mat b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/Shatter.mat new file mode 100644 index 00000000..516b3bf0 --- /dev/null +++ b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/Shatter.mat @@ -0,0 +1,220 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Shatter + m_Shader: {fileID: 4800000, guid: 53331eb0f5c357448b7969f013d8cf5f, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AdditiveRamp: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 2, y: 2} + m_Offset: {x: 0, y: 0} + - _CubeMap: + m_Texture: {fileID: 8900000, guid: a0fde614a95c2d44ca3dec1fba756a6f, type: 3} + 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} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Matcap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MatcapMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicMap: + m_Texture: {fileID: 0} + 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} + - _Ramp: + m_Texture: {fileID: 2800000, guid: 2b2456e68290a8847a6903bc0005d58f, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _RimTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _RoughnessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _UnderWaveTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 20, y: 20} + m_Offset: {x: 0, y: 0} + - _WaveTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AddMatcap: 0 + - _AdditiveClearCoat: 0 + - _AdditiveOffset: 0 + - _AdditiveSoftness: 0.05 + - _BumpScale: 0.28 + - _Clip: 0.5 + - _Cull: 2 + - _Cutoff: 0.5 + - _Desaturation: 0 + - _DestinationBlend: 10 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionStrength: 0 + - _EmissiveBlink_Max: 1 + - _EmissiveBlink_Min: 1 + - _EmissiveBlink_Velocity: 4 + - _EmissiveScroll_Interval: 20 + - _EmissiveScroll_Velocity: 10 + - _EmissiveScroll_Width: 10 + - _FlatOrFullAmbientLighting: 0 + - _ForceLightDirection: 0 + - _ForceShadowStrength: 0 + - _Gloss: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _HardSpecular: 0 + - _HeightThreshold: 0.944 + - _MatcapStrength: 1 + - _MaxDirectionalIntensity: 1 + - _Metallic: 1 + - _MinBrightness: 0 + - _Mode: 0 + - _MultiplyMatcap: 0 + - _OcclusionStrength: 1 + - _OutlineStencilCompareFunction: 8 + - _OutlineStencilFailOp: 0 + - _OutlineStencilPassOp: 0 + - _OutlineStencilReadMaskRef: 0 + - _OutlineStencilRef: 0 + - _OutlineStencilWriteMaskRef: 0 + - _OutlineStencilZFailOp: 0 + - _Parallax: 0.02 + - _PurelyAdditive: 0 + - _ReplaceWithMatcap: 0 + - _RimLightColorBias: 0 + - _RimSharpness: 0.25 + - _RimStrength: 0 + - _RimWidth: 0.8 + - _Roughness: 1 + - _SampleWorld: 0 + - _ScrollingEmission: 0 + - _ShadowOffset: 0 + - _ShadowStrength: 1 + - _ShowUnderWave: 1 + - _SmoothnessTextureChannel: 0 + - _SourceBlend: 5 + - _SpecularBias: 0 + - _SpecularHighlights: 1 + - _SpecularSize: 0.005 + - _SpecularStrength: 0 + - _SrcBlend: 1 + - _StencilCompareFunction: 8 + - _StencilFailOp: 0 + - _StencilPassOp: 0 + - _StencilReadMaskRef: 0 + - _StencilRef: 0 + - _StencilWriteMaskRef: 0 + - _StencilZFailOp: 0 + - _UVSec: 0 + - _UnderWaveEmission: 3 + - _WaveEmission: 0 + - _WaveHeight: 0.03 + - _ZTest: 4 + - _ZWrite: 1 + - footer_discord: 0 + - footer_donate: 0 + - footer_github: 0 + - footer_patreon: 0 + - m_StencilPassOptions: 0 + - m_emissionOptions: 0 + - m_end_OutlineStencil: 0 + - m_end_blinkingEmissionOptions: 0 + - m_end_mainAdvanced: 0 + - m_end_scrollingEmissionOptions: 0 + - m_fakeLightingOptions: 0 + - m_mainOptions: 1 + - m_matcapOptions: 0 + - m_metallicOptions: 1 + - m_miscOptions: 0 + - m_rimLightOptions: 0 + - m_shatterWave: 0 + - m_specularHighlightsOptions: 0 + - m_start_OutlineStencil: 0 + - m_start_blinkingEmissionOptions: 0 + - m_start_mainAdvanced: 0 + - m_start_scrollingEmissionOptions: 0 + - shader_is_using_thry_editor: 69.12 + - shader_master_label: 0 + - shader_presets: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissionScrollSpeed: {r: 0, g: 0, b: 0, a: 0} + - _EmissiveScroll_Direction: {r: 0, g: -10, b: 0, a: 0} + - _LightDirection: {r: 0, g: 1, b: 0, a: 0} + - _MatcapColor: {r: 1, g: 1, b: 1, a: 1} + - _RimLightColor: {r: 1, g: 1, b: 1, a: 1} + - _RimTexPanSpeed: {r: 0, g: 0, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _WaveColor: {r: 1, g: 1, b: 1, a: 1} + - _WaveDensity: {r: 10, g: 8, b: 9, a: 0} + - _WaveSlope: {r: 2, g: 2, b: 2, a: 0} + - _WaveSpeed: {r: 0.5, g: 0.6, b: 0.7, a: 0} + - _underWaveColor: {r: 1, g: 0.47586215, b: 0, a: 1} diff --git a/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/Shatter.mat.meta b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/Shatter.mat.meta new file mode 100644 index 00000000..39734e33 --- /dev/null +++ b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/Shatter.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bb9bb81b164ff1b4d8a18130851a284d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterPass.cginc b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterPass.cginc new file mode 100644 index 00000000..ea28b3e8 --- /dev/null +++ b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterPass.cginc @@ -0,0 +1,517 @@ + +#if !defined(MY_LIGHTING_INCLUDED) + #define MY_LIGHTING_INCLUDED + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + #include "PoiShatterHelpers.cginc" + + //Structs + struct appdata + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float2 texcoord: TEXCOORD0; + float2 texcoord1: TEXCOORD1; + }; + + struct v2g + { + float2 uv: TEXCOORD0; + float3 normal: TEXCOORD1; + #if defined(BINORMAL_PER_FRAGMENT) + float4 tangent: TEXCOORD2; + #else + float3 tangent: TEXCOORD2; + float3 binormal: TEXCOORD3; + #endif + float4 pos: SV_POSITION; + float4 worldPos: TEXCOORD4; + float4 localPos: TEXCOORD5; + SHADOW_COORDS(6) + }; + + struct g2f + { + float2 uv: TEXCOORD0; + float3 normal: TEXCOORD1; + #if defined(BINORMAL_PER_FRAGMENT) + float4 tangent: TEXCOORD2; + #else + float3 tangent: TEXCOORD2; + float3 binormal: TEXCOORD3; + #endif + float4 pos: SV_POSITION; + float4 worldPos: TEXCOORD4; + float4 localPos: TEXCOORD5; + float4 waveSettings: TEXCOORD6; + SHADOW_COORDS(7) + }; + + //Properties + float4 _Color; + float _Desaturation; + sampler2D _MainTex; float4 _MainTex_ST; + sampler2D _BumpMap; float4 _BumpMap_ST; + sampler2D _DetailNormalMap; float4 _DetailNormalMap_ST; + float _BumpScale; + float _DetailNormalMapScale; + + sampler2D _WaveTexture; float4 _WaveTexture_ST; + sampler2D _UnderWaveTexture; float4 _UnderWaveTexture_ST; + float _ShowUnderWave; + float4 _WaveSpeed; + float4 _WaveSlope; + float4 _WaveDensity; + + float _HeightThreshold; + float4 _WaveColor; + float _WaveEmission; + float _UnderWaveEmission; + float4 _underWaveColor; + float _WaveHeight; + + samplerCUBE _CubeMap; + float _SampleWorld; + float _AdditiveClearCoat; + float _PurelyAdditive; + sampler2D _MetallicMap; float4 _MetallicMap_ST; + float _Metallic; + sampler2D _RoughnessMap; float4 _RoughnessMap_ST; + float _Roughness; + + sampler2D _Matcap; + sampler2D _MatcapMap; float4 _MatcapMap_ST; + float4 _MatcapColor; + float _MatcapStrength; + float _ReplaceWithMatcap; + float _MultiplyMatcap; + float _AddMatcap; + + sampler2D _SpecularMap; float4 _SpecularMap_ST; + float _Gloss; + float4 _EmissionColor; + sampler2D _EmissionMap; float4 _EmissionMap_ST; + sampler2D _EmissionMask; float4 _EmissionMask_ST; + float _EmissionStrength; + + float4 _EmissiveScroll_Direction; + float4 _EmissionScrollSpeed; + float _EmissiveScroll_Width; + float _EmissiveScroll_Velocity; + float _EmissiveScroll_Interval; + float _EmissiveBlink_Min; + float _EmissiveBlink_Max; + float _EmissiveBlink_Velocity; + float _ScrollingEmission; + + sampler2D _Ramp; + float _ForceLightDirection; + float _ShadowStrength; + float _ShadowOffset; + float3 _LightDirection; + float _ForceShadowStrength; + float _MinBrightness; + float _MaxDirectionalIntensity; + sampler2D _AdditiveRamp; + float _FlatOrFullAmbientLighting; + + float4 _SpecularColor; + float _SpecularBias; + float _SpecularStrength; + float _SpecularSize; + float _HardSpecular; + + float4 _RimLightColor; + float _RimWidth; + float _RimStrength; + float _RimSharpness; + float _RimLightColorBias; + float4 _RimTexPanSpeed; + sampler2D _RimTex; float4 _RimTex_ST; + + float _Clip; + + float3 getCameraPosition() + { + #ifdef USING_STEREO_MATRICES + return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); + #endif + return _WorldSpaceCameraPos; + } + + float3 getCameraForward() + { + #if UNITY_SINGLE_PASS_STEREO + float3 p1 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 1, 1)); + float3 p2 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 0, 1)); + #else + float3 p1 = mul(unity_CameraToWorld, float4(0, 0, 1, 1)); + float3 p2 = mul(unity_CameraToWorld, float4(0, 0, 0, 1)); + #endif + return normalize(p2 - p1); + } + + v2g vert(appdata v) + { + v2g o; + TANGENT_SPACE_ROTATION; + o.localPos = v.vertex; + o.pos = UnityObjectToClipPos(v.vertex); + o.worldPos = mul(unity_ObjectToWorld, v.vertex); + o.uv = v.texcoord.xy; + o.normal = UnityObjectToWorldNormal(v.normal); + + #if defined(BINORMAL_PER_FRAGMENT) + o.tangent = float4(UnityObjectToWorldDir(v.tangent.xyz), v.tangent.w); + #else + o.tangent = UnityObjectToWorldDir(v.tangent.xyz); + o.binormal = CreateBinormal(o.normal, o.tangent, v.tangent.w); + #endif + + TRANSFER_SHADOW(i); + return o; + } + + float3 WaveHeight(float3 position) + { + return(sin( + 2 * pow(((sin((position.x + _Time.x * _WaveSpeed.x) * _WaveDensity.x + sin(_Time.y * _WaveSpeed.x)) + 1) / 2), _WaveSlope.x) + + 2 * pow(((sin((position.y + _Time.x * _WaveSpeed.y) * _WaveDensity.y + sin(_Time.y * _WaveSpeed.y)) + 1) / 2), _WaveSlope.y) + + 2 * pow(((sin((position.z + _Time.x * _WaveSpeed.z) * _WaveDensity.z + sin(_Time.y * _WaveSpeed.z)) + 1) / 2), _WaveSlope.z) + ) + 1) / 2; + } + + [maxvertexcount(6)] + void geom(triangle v2g IN[3], inout TriangleStream < g2f > tristream) + { + float4 mid = (IN[0].localPos + IN[1].localPos + IN[2].localPos) / 3; + float4 objectPosition = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + float4 WavePosition = objectPosition; + + float hash = random(mid); + + float distanceToWave = clamp(WaveHeight(mid.xyz), 0, 1); + if (distanceToWave <= _HeightThreshold) + { + distanceToWave = 0; + } + + float range = 1 - _HeightThreshold; + float delta = 1 - distanceToWave; + float percent = delta / range; + percent = saturate(percent); + + if(percent == 0) + return; + + g2f o; + g2f milk[3]; + float count = 0; + + float3 edgeA = IN[1].localPos - IN[0].localPos; + float3 edgeB = IN[2].localPos - IN[0].localPos; + float3 c = cross(edgeA, edgeB); + float3 outDir = normalize(c); + float3 normalDir = normalize(c); + float4 pos = float4(0, 0, 0, 0); + + float3 over = cos(IN[1].localPos * 1234.56); + for (int i = 0; i < 3; i ++) + { + if(percent < .5) + { + over = normalize(over); + pos.xyz = (lerp(over, 0, percent * 2) + normalDir) * _WaveHeight; + } + else + { + pos.xyz = normalDir * _WaveHeight * (1 - percent) * 2 ; + } + o.localPos = IN[i].localPos + pos; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + o.pos = UnityObjectToClipPos(IN[i].localPos + pos); + o.uv = IN[i].uv; + // r = wave height percentage + // g = isUnderside? + o.waveSettings = float4(0, 0, 0, 0); + + o.normal = IN[i].normal; + #if defined(BINORMAL_PER_FRAGMENT) + o.tangent = IN[i].tangent; + #else + o.tangent = IN[i].tangent; + o.binormal = IN[i].binormal; + #endif + + if (distanceToWave > 0) + { + o.waveSettings = float4(1-percent, 0, 0, 0); + + milk[i].binormal = IN[i].binormal; + milk[i].localPos = IN[i].localPos; + milk[i].normal = IN[i].normal; + milk[i].pos = IN[i].pos; + milk[i].tangent = IN[i].tangent; + milk[i].uv = IN[i].uv; + if(distanceToWave > 0) + { + milk[i].waveSettings = float4(1-percent, 1, 0, 0); + } + milk[i].worldPos = IN[i].worldPos; + count ++ ; + } + tristream.Append(o); + } + if(_ShowUnderWave) + { + tristream.RestartStrip(); + if(count == 3) + { + for (int i = 0; i < 3; i ++) + { + for (int i = 0; i < 3; i ++) + { + tristream.Append(milk[i]); + } + } + } + } + tristream.RestartStrip(); + } + + void InitializeFragmentNormal(inout g2f i) + { + float3 mainNormal = UnpackScaleNormal(tex2D(_BumpMap, TRANSFORM_TEX(i.uv, _BumpMap)), _BumpScale); + float3 detailNormal = UnpackScaleNormal(tex2D(_DetailNormalMap, TRANSFORM_TEX(i.uv, _DetailNormalMap)), _DetailNormalMapScale); + float3 tangentSpaceNormal = BlendNormals(mainNormal, detailNormal); + + #if defined(BINORMAL_PER_FRAGMENT) + float3 binormal = CreateBinormal(i.normal, i.tangent.xyz, i.tangent.w); + #else + float3 binormal = i.binormal; + #endif + + i.normal = normalize( + tangentSpaceNormal.x * i.tangent + + tangentSpaceNormal.y * binormal + + tangentSpaceNormal.z * i.normal + ); + } + + float4 frag(g2f i, float facing: VFACE): SV_Target + { + float Pi = 3.141592654; + #ifdef FORWARD_BASE_PASS + float3 _light_direction_var = normalize(_LightDirection); + if(!any(_WorldSpaceLightPos0) == 0 && _ForceLightDirection == 0) + { + + _light_direction_var = _WorldSpaceLightPos0; + } + #else + #if defined(POINT) || defined(SPOT) + float3 _light_direction_var = normalize(_WorldSpaceLightPos0.xyz - i.worldPos); + #elif defined(DIRECTIONAL) + return 0; + float3 _light_direction_var = _WorldSpaceLightPos0; + #endif + #endif + + // diffuse + float4 _main_tex_var = tex2D(_MainTex, TRANSFORM_TEX(i.uv, _MainTex)); + float4 _diffuse_var = float4(lerp(_main_tex_var.rgb, dot(_main_tex_var.rgb, float3(0.3, 0.59, 0.11)), _Desaturation) * _Color.rgb, _main_tex_var.a * _Color.a); + float4 _underwave_tex_var = tex2D(_UnderWaveTexture, TRANSFORM_TEX(i.uv, _UnderWaveTexture)) * _underWaveColor; + + // cutout + #ifndef TRANSPARENT + clip(_diffuse_var.a - _Clip); + #endif + + // shatterDiffuse + float4 _wave_tex_var = tex2D(_WaveTexture, TRANSFORM_TEX(i.uv, _WaveTexture)) * _WaveColor; + if (i.waveSettings.r > 0) + { + _diffuse_var = lerp(_diffuse_var, _wave_tex_var, i.waveSettings.r); + } + // math + InitializeFragmentNormal(i); + float3 _camera_to_vert_var = normalize(getCameraPosition() - i.worldPos); + float3 _camera_to_vert_vr_var = normalize(_WorldSpaceCameraPos - i.worldPos); + float3 _camera_vert_dot_var = abs(dot(_camera_to_vert_var, i.normal)); + + // metal + float _metallic_map_var = tex2D(_MetallicMap, TRANSFORM_TEX(i.uv, _MetallicMap)); + float _final_metalic_var = _metallic_map_var * _Metallic; + float _roughness_map_var = tex2D(_RoughnessMap, TRANSFORM_TEX(i.uv, _RoughnessMap)); + float roughness = (1 - _final_metalic_var * _Roughness * _roughness_map_var); + roughness *= 1.7 - 0.7 * roughness; + float3 reflectedDir = reflect(-_camera_to_vert_vr_var, i.normal); + float3 reflection = float3(0, 0, 0); + + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + + float interpolator = unity_SpecCube0_BoxMin.w; + UNITY_BRANCH + if (interpolator < 0.99999) + { + //Probe 1 + float4 reflectionData0 = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor0 = DecodeHDR(reflectionData0, unity_SpecCube0_HDR); + + //Probe 2 + float4 reflectionData1 = UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(unity_SpecCube1, unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor1 = DecodeHDR(reflectionData1, unity_SpecCube1_HDR); + + reflection = lerp(reflectionColor1, reflectionColor0, interpolator); + } + else + { + float4 reflectionData = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + reflection = DecodeHDR(reflectionData, unity_SpecCube0_HDR); + } + + + bool no_probe = unity_SpecCube0_HDR.a == 0 && envSample.a == 0; + float lighty_boy_uwu_var = 0; + if (no_probe || _SampleWorld) + { + lighty_boy_uwu_var = 1; + reflection = texCUBElod(_CubeMap, float4(reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + } + + // matcap / spehere textures + half2 matcapUV = getMatcapUV(_camera_to_vert_vr_var, i.normal); + float _matcapMap_var = tex2D(_MatcapMap, TRANSFORM_TEX(i.uv, _MatcapMap)); + float3 _matcap_var = tex2D(_Matcap, matcapUV) * _MatcapColor * _MatcapStrength; + + //rim lighting + float4 rimColor = tex2D(_RimTex, TRANSFORM_TEX(i.uv, _RimTex) + (_Time.y * _RimTexPanSpeed.xy)) * _RimLightColor; + float rim = pow((1 - _camera_vert_dot_var), (1 - _RimWidth) * 10); + _RimSharpness /= 2; + rim = (smoothstep(_RimSharpness, 1 - _RimSharpness, rim)); + + // lighting + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz); + float nDotL = dot(i.normal, _light_direction_var); + float fakeLight = clamp((nDotL + 1) / 2 + _ShadowOffset, 0, 1); + float4 LightingRamp = tex2D(_Ramp, float2(fakeLight, fakeLight)); + #if defined(FORWARD_BASE_PASS) + //return float4(ShadeSH9(half4(0.0, 0.0, 0.0, 1.0)),1); + float3 _flat_lighting_var = 1; + float3 ambient = ShadeSH9(float4(i.normal * _FlatOrFullAmbientLighting, 1)); + if (any(_LightColor0.rgb)) + { + float4 lightZero = min(_LightColor0, _MaxDirectionalIntensity); + + if(_ForceShadowStrength == 0) + { + _flat_lighting_var = ambient + lightZero.rgb * lerp(1, LightingRamp, _ShadowStrength); + _flat_lighting_var = clamp(_flat_lighting_var, _MinBrightness, max(lightZero.a, ambient)); + } + else + { + _flat_lighting_var = (ambient + lightZero.rgb) * lerp(1, LightingRamp, _ShadowStrength); + _flat_lighting_var = clamp(_flat_lighting_var, _MinBrightness, max(lightZero.a, ambient)); + } + } + else + { + _flat_lighting_var = clamp(ambient + ambient * lerp(1, LightingRamp, _ShadowStrength) - ambient * (_ShadowStrength * lerp(.75, 1, _ForceShadowStrength)), _MinBrightness, ambient); + } + //return float4(_flat_lighting_var, 1); + #else + float3 _flat_lighting_var = _LightColor0.rgb * attenuation * tex2D(_AdditiveRamp, .5 * nDotL + .5); + #endif + + + + // emission + float4 _Emissive_Tex_var = tex2D(_EmissionMap, TRANSFORM_TEX(i.uv, _EmissionMap) + _Time.y * _EmissionScrollSpeed); + /// + float4 _emission_var = _Emissive_Tex_var * _EmissionColor * _EmissionStrength; + + // scrolling emission + if (_ScrollingEmission == 1) + { + float phase = dot(i.localPos, _EmissiveScroll_Direction); + phase -= _Time.y * _EmissiveScroll_Velocity; + phase /= _EmissiveScroll_Interval; + phase -= floor(phase); + float width = _EmissiveScroll_Width; + phase = (pow(phase, width) + pow(1 - phase, width * 4)) * 0.5; + _emission_var *= phase; + } + + + + // blinking emission + float amplitude = (_EmissiveBlink_Max - _EmissiveBlink_Min) * 0.5f; + float base = _EmissiveBlink_Min + amplitude; + float emissiveBlink = sin(_Time.y * _EmissiveBlink_Velocity) * amplitude + base; + _emission_var *= emissiveBlink; + + float _Emission_mask_var = tex2D(_EmissionMask, TRANSFORM_TEX(i.uv, _EmissionMask)); + _emission_var *= _Emission_mask_var; + + // add it all up + float4 finalColor = _diffuse_var; + + float3 _rim_color_var = lerp(finalColor.rgb, rimColor, _RimLightColorBias); + + finalColor.rgb = lerp(finalColor.rgb, _rim_color_var, rim * _RimLightColor.a * rimColor.a); + + + finalColor.rgb = lerp(finalColor, _matcap_var, _ReplaceWithMatcap * _matcapMap_var); + finalColor.rgb *= lerp(1, _matcap_var, _MultiplyMatcap * _matcapMap_var); + finalColor.rgb += _matcap_var * _AddMatcap * _matcapMap_var; + float4 finalColorBeforeLighting = finalColor; + + finalColor.rgb *= _flat_lighting_var; + #ifdef FORWARD_BASE_PASS + float3 finalreflections = reflection.rgb * lerp(finalColorBeforeLighting.rgb, 1, _PurelyAdditive); + finalColor.rgb = finalColor.rgb * lerp((1 - _final_metalic_var), 1, _AdditiveClearCoat); + finalColor.rgb += (finalreflections * ((1 - roughness + _final_metalic_var) / 2)) * lerp(1, _flat_lighting_var, lighty_boy_uwu_var); + #endif + // specular + #if (defined(POINT) || defined(SPOT)) + _SpecularColor.rgb = _LightColor0.rgb; + _SpecularBias = 0; + #endif + float specular_map_var = tex2D(_SpecularMap, TRANSFORM_TEX(i.uv, _SpecularMap)); + float3 specularColor = ((finalColor.a * _SpecularStrength) * lerp(finalColor.rgb * _LightColor0.rgb, _SpecularColor.rgb, _SpecularBias)); + float specPow = exp2(_Gloss * 20.0 + 1.0); + float normTerm = (specPow + 10) / (10 * Pi); + float3 halfDirection = normalize(_camera_to_vert_vr_var + _light_direction_var); + float3 _specular_var = float3(0, 0, 0); + if(_HardSpecular == 1) + { + _specular_var = step(1 - (.5 * dot(halfDirection, i.normal) + .5), _SpecularSize) * _SpecularColor * _SpecularBias * specular_map_var; + } + else + { + _specular_var = pow(max(0, dot(halfDirection, i.normal)), specPow) * normTerm * specularColor * _SpecularStrength * specular_map_var; + } + + #if defined(FORWARD_BASE_PASS) + finalColor.rgb += _specular_var * _flat_lighting_var; + finalColor.rgb += lerp(_emission_var, _wave_tex_var * _WaveEmission, i.waveSettings.r) + ((rim * _rim_color_var * _RimStrength) * rimColor.a); + if(i.waveSettings.g > 0) + { + finalColor.rgb = _underwave_tex_var.rgb * _flat_lighting_var; + finalColor.rgb += _underwave_tex_var.rgb * _UnderWaveEmission; + } + #else + finalColor.rgb += _specular_var; + #endif + + #if(defined(POINT) || defined(SPOT)) + finalColor *= (1 - _final_metalic_var); + #endif + + return finalColor; + } +#endif
\ No newline at end of file diff --git a/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterPass.cginc.meta b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterPass.cginc.meta new file mode 100644 index 00000000..2ba6772c --- /dev/null +++ b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterPass.cginc.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 236d1f882f98e3a4dbe00bdcb170aee6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterWave2.shader b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterWave2.shader new file mode 100644 index 00000000..934eb6db --- /dev/null +++ b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterWave2.shader @@ -0,0 +1,264 @@ +Shader ".poiyomi/Patreon/ShatterWave2" +{ + Properties + { + [HideInInspector] shader_is_using_thry_editor("", Float)=0 + + [HideInInspector] shader_master_label("<color=#008080>❤ Poiyomi Shatter Wave V2.0 ❤</color>", Float) = 0 + [HideInInspector] shader_presets("poiToonPresets", Float) = 0 + + + [HideInInspector] footer_youtube ("youtube footer button", Float) = 0 + [HideInInspector] footer_twitter ("twitter footer button", Float) = 0 + [HideInInspector] footer_patreon ("patreon footer button", Float) = 0 + [HideInInspector] footer_discord ("discord footer button", Float) = 0 + [HideInInspector] footer_github ("github footer button", Float) = 0 + + [HideInInspector] m_mainOptions ("Main", Float) = 0 + _Color ("Color", Color) = (1, 1, 1, 1) + _Desaturation ("Desaturation", Range(-1, 1)) = 0 + _MainTex ("Texture", 2D) = "white" { } + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainTextureUV ("Tex UV#", Int) = 0 + [Normal]_BumpMap ("Normal Map", 2D) = "bump" { } + _BumpScale ("Normal Intensity", Range(0, 10)) = 1 + _Clip ("Alpha Cuttoff", Range(0, 1.001)) = 0.5 + [HideInInspector] m_start_mainAdvanced ("Advanced", Float) = 0 + [Normal]_DetailNormalMap ("Detail Map", 2D) = "bump" { } + _DetailNormalMapScale ("Detail Intensity", Range(0, 10)) = 1 + [HideInInspector] m_end_mainAdvanced ("Advanced", Float) = 0 + + [HideInInspector] m_shatterWave ("Shatter Wave", Float) = 0 + [ToggleUI]_ShowUnderWave ("Show Under Wave?", Range(0, 1)) = 1 + _WaveColor ("Wave Color", Color) = (1,1,1,1) + _WaveTexture ("Wave Texture", 2D) = "white" {} + _WaveEmission ("Wave Emission", Range(0, 10)) = 2 + _underWaveColor ("Under Wave Color", Color) = (1,1,1,1) + _UnderWaveTexture ("Under Wave Texture", 2D) = "white" {} + _UnderWaveEmission ("Under Wave Emission", Range(0, 10)) = 2 + _WaveSpeed ("Wave Speed X Y Z", Vector) = (.5,.6,.7,0) + _WaveSlope ("Wave Slope X Y Z", Vector) = (2,2,2,0) + _WaveDensity ("Wave Density X Y Z", Vector) = (10,8,9,0) + _HeightThreshold ("WaveWidth", Range(0, 1)) = .98 + _WaveHeight ("Wave Height", Range(0,50)) = .01 + + [HideInInspector] m_metallicOptions ("Metallic", Float) = 0 + _CubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_SampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _AdditiveClearCoat ("Additive Clear Coat", Range(0, 1)) = 0 + _PurelyAdditive ("Purely Additive", Range(0, 1)) = 0 + _MetallicMap ("Metallic Map", 2D) = "white" { } + _Metallic ("Metallic", Range(0, 1)) = 0 + _RoughnessMap ("Roughness Map", 2D) = "white" { } + _Roughness ("Smoothness", Range(0, 1)) = 0 + + [HideInInspector] m_matcapOptions ("Matcap / Sphere Textures", Float) = 0 + _Matcap ("Matcap", 2D) = "white" { } + _MatcapMap ("Matcap Map", 2D) = "white" { } + _MatcapColor ("Matcap Color", Color) = (1, 1, 1, 1) + _MatcapStrength ("Matcap Strength", Range(0, 20)) = 1 + _ReplaceWithMatcap ("Replace With Matcap", Range(0, 1)) = 0 + _MultiplyMatcap ("Multiply Matcap", Range(0, 1)) = 0 + _AddMatcap ("Add Matcap", Range(0, 1)) = 0 + + [HideInInspector] m_emissionOptions ("Emission", Float) = 0 + [HDR]_EmissionColor ("Emission Color", Color) = (1, 1, 1, 1) + _EmissionMap ("Emission Map", 2D) = "white" { } + _EmissionMask ("Emission Mask", 2D) = "white" { } + _EmissionScrollSpeed ("Emission Scroll Speed", Vector) = (0, 0, 0, 0) + _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + + [HideInInspector] m_start_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + _EmissiveBlink_Min ("Emissive Blink Min", Float) = 1 + _EmissiveBlink_Max ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity ("Emissive Blink Velocity", Float) = 4 + [HideInInspector] m_end_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + + [HideInInspector] m_start_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [ToggleUI] _ScrollingEmission ("Enable Scrolling Emission", Float) = 0 + _EmissiveScroll_Direction ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width ("Width", Float) = 10 + _EmissiveScroll_Velocity ("Velocity", Float) = 10 + _EmissiveScroll_Interval ("Interval", Float) = 20 + [HideInInspector] m_end_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + + [HideInInspector] m_fakeLightingOptions ("Lighting", Float) = 0 + [NoScaleOffset]_Ramp ("Lighting Ramp", 2D) = "white" { } + _ShadowStrength ("Shadow Strength", Range(0, 1)) = 1 + _ShadowOffset ("Shadow Offset", Range(-1, 1)) = 0 + [ToggleUI] _ForceLightDirection ("Force Light Direction", Range(0, 1)) = 0 + [ToggleUI] _ForceShadowStrength ("Force Shadow Strength", Range(0, 1)) = 0 + _LightDirection ("Fake Light Direction", Vector) = (0, 1, 0, 0) + _MinBrightness ("Min Brightness", Range(0, 1)) = 0 + _MaxDirectionalIntensity ("Max Directional Intensity", Float) = 1 + [NoScaleOffset]_AdditiveRamp ("Additive Ramp", 2D) = "white" { } + _FlatOrFullAmbientLighting ("Flat or Full Ambient Lighting", Range(0, 1)) = 0 + + [HideInInspector] m_specularHighlightsOptions ("Specular Highlights", Float) = 0 + _SpecularMap ("Specular Map", 2D) = "white" { } + _Gloss ("Glossiness", Range(0, 1)) = 0 + _SpecularColor ("Specular Color", Color) = (1, 1, 1, 1) + _SpecularBias ("Specular Color Bias", Range(0, 1)) = 0 + _SpecularStrength ("Specular Strength", Range(0, 5)) = 0 + [ToggleUI]_HardSpecular ("Enable Hard Specular", Float) = 0 + _SpecularSize ("Hard Specular Size", Range(0, 1)) = .005 + + [HideInInspector] m_rimLightOptions ("Rim Lighting", Float) = 0 + _RimLightColor ("Rim Color", Color) = (1, 1, 1, 1) + _RimWidth ("Rim Width", Range(0, 1)) = 0.8 + _RimStrength ("Rim Emission", Range(0, 20)) = 0 + _RimSharpness ("Rim Sharpness", Range(0, 1)) = .25 + _RimLightColorBias ("Rim Color Bias", Range(0, 1)) = 0 + _RimTex ("Rim Texture", 2D) = "white" { } + _RimTexPanSpeed ("Rim Texture Pan Speed", Vector) = (0, 0, 0, 0) + + [HideInInspector] m_StencilPassOptions ("Stencil", Float) = 0 + [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _StencilReadMaskRef ("Stencil ReadMask Value", Range(0, 255)) = 0 + [IntRange] _StencilWriteMaskRef ("Stencil WriteMask Value", Range(0, 255)) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function", Float) = 8 + + [HideInInspector] m_start_OutlineStencil ("Outline Stencil", Float) = 0 + [IntRange] _OutlineStencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _OutlineStencilReadMaskRef ("Stencil ReadMask Value", Range(0, 255)) = 0 + [IntRange] _OutlineStencilWriteMaskRef ("Stencil WriteMask Value", Range(0, 255)) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_OutlineStencil ("Outline Stencil", Float) = 0 + + [HideInInspector] m_miscOptions ("Misc", Float) = 0 + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 + [Enum(UnityEngine.Rendering.BlendMode)] _SourceBlend ("Source Blend", Float) = 5 + [Enum(UnityEngine.Rendering.BlendMode)] _DestinationBlend ("Destination Blend", Float) = 10 + } + + //originalEditorCustomEditor "PoiShatter" +CustomEditor "Thry.ShaderEditor" + SubShader + { + Tags { "RenderType" = "TransparentCutout" "Queue" = "AlphaTest" } + + + Pass + { + Name "MainPass" + Tags { "LightMode" = "ForwardBase" } + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMaskRef] + WriteMask [_StencilWriteMaskRef] + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + Cull [_Cull] + ZTest [_ZTest] + CGPROGRAM + + #pragma target 5.0 + #pragma vertex vert + #pragma fragment frag + #pragma geometry geom + #define FORWARD_BASE_PASS + #include "ShatterPass.cginc" + ENDCG + + } + + Pass + { + Tags { "LightMode" = "ForwardAdd" } + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMaskRef] + WriteMask [_StencilWriteMaskRef] + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + ZWrite Off Blend One One + Cull [_Cull] + ZTest [_ZTest] + CGPROGRAM + + #pragma target 5.0 + #pragma multi_compile DIRECTIONAL POINT SPOT + #pragma vertex vert + #pragma fragment frag + #include "ShatterPass.cginc" + ENDCG + + } + Pass + { + Tags { "LightMode" = "ShadowCaster" } + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMaskRef] + WriteMask [_StencilWriteMaskRef] + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + CGPROGRAM + + #pragma target 5.0 + #pragma multi_compile_shadowcaster + #pragma vertex MyShadowVertexProgram + #pragma fragment MyShadowFragmentProgram + #include "UnityCG.cginc" + + struct VertexData { + float4 position : POSITION; + float3 normal : NORMAL; + }; + + #if defined(SHADOWS_CUBE) + struct Interpolators { + float4 position : SV_POSITION; + float3 lightVec : TEXCOORD0; + }; + + Interpolators MyShadowVertexProgram (VertexData v) { + Interpolators i; + i.position = UnityObjectToClipPos(v.position); + i.lightVec = + mul(unity_ObjectToWorld, v.position).xyz - _LightPositionRange.xyz; + return i; + } + + float4 MyShadowFragmentProgram (Interpolators i) : SV_TARGET { + float depth = length(i.lightVec) + unity_LightShadowBias.x; + depth *= _LightPositionRange.w; + return UnityEncodeCubeShadowDepth(depth); + } + #else + float4 MyShadowVertexProgram (VertexData v) : SV_POSITION { + float4 position = + UnityClipSpaceShadowCasterPos(v.position.xyz, v.normal); + return UnityApplyLinearShadowBias(position); + } + + half4 MyShadowFragmentProgram () : SV_TARGET { + return 0; + } + #endif + ENDCG + + } + } +}
\ No newline at end of file diff --git a/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterWave2.shader.meta b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterWave2.shader.meta new file mode 100644 index 00000000..03b7291a --- /dev/null +++ b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Patreon/ShatterWave2/ShatterWave2.shader.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 53331eb0f5c357448b7969f013d8cf5f +ShaderImporter: + externalObjects: {} + defaultTextures: + - _MainTex: {instanceID: 0} + - _BumpMap: {instanceID: 0} + - _CubeMap: {fileID: 8900000, guid: a0fde614a95c2d44ca3dec1fba756a6f, type: 3} + - _MetallicMap: {instanceID: 0} + - _RoughnessMap: {instanceID: 0} + - _Matcap: {instanceID: 0} + - _MatcapMap: {instanceID: 0} + - _OutlineTexture: {instanceID: 0} + - _EmissionMap: {instanceID: 0} + - _EmissionMask: {instanceID: 0} + - _Ramp: {fileID: 2800000, guid: 2b2456e68290a8847a6903bc0005d58f, type: 3} + - _AdditiveRamp: {fileID: 2800000, guid: 2b2456e68290a8847a6903bc0005d58f, type: 3} + - _SpecularMap: {instanceID: 0} + - _RimTex: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: |