Lightning strike is finally mostly functional, save for a mystery trigger box.
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
|
||||
|
||||
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
|
||||
|
||||
// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
|
||||
|
||||
// Simplified Diffuse shader. Differences from regular Diffuse one:
|
||||
// - no Main Color
|
||||
// - fully supports only 1 directional light. Other lights can affect it, but it will be per-vertex/SH.
|
||||
|
||||
|
||||
Shader "Carmen/Noise Particle"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
// [Toggle(_VERTEX_COLORS)] _VertexColors ("Vertex Colors", Float) = 0
|
||||
|
||||
_MainTex ("Noise", 2D) = "white" {}
|
||||
_Color ("Colour", Color) = (1.0, 1.0, 1.0, 1.0)
|
||||
|
||||
_MaskWobble ("Mask", 2D) = "white" {}
|
||||
_MaskFadePower ("Fade Power", Range(0.1, 5.0)) = 1.0
|
||||
_MaskWobbleAmount ("Wobble Amount", Range(0.0, 1.0)) = 1.0
|
||||
}
|
||||
SubShader
|
||||
{
|
||||
Tags { "Queue"="Transparent" "RenderType"="Transparent" "CanUseSpriteAtlas"="True" }
|
||||
LOD 200
|
||||
|
||||
Pass {
|
||||
Cull Back
|
||||
Lighting Off
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
CGPROGRAM
|
||||
#include "UnityCG.cginc"
|
||||
#pragma target 4.5
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#pragma shader_feature _VERTEX_COLORS
|
||||
|
||||
UNITY_DECLARE_TEX2D(_MainTex);
|
||||
fixed4 _MainTex_ST;
|
||||
half4 _Color;
|
||||
|
||||
UNITY_DECLARE_TEX2D(_MaskWobble);
|
||||
fixed4 _MaskWobble_ST;
|
||||
half _MaskFadePower;
|
||||
half _MaskWobbleAmount;
|
||||
|
||||
struct Data
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float4 vertex_colour : COLOR;
|
||||
float2 uv : TEXCOORD0;
|
||||
float2 uv_mask : TEXCOORD1;
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
};
|
||||
|
||||
struct V2F
|
||||
{
|
||||
float4 position : SV_POSITION;
|
||||
// #if defined(_VERTEX_COLORS)
|
||||
float4 vertex_colour : VAR_COLOR;
|
||||
// #endif
|
||||
float2 uv : TEXCOORD0;
|
||||
float2 uv_mask : TEXCOORD1;
|
||||
};
|
||||
|
||||
V2F vert(Data v)
|
||||
{
|
||||
V2F o;
|
||||
o.position = UnityObjectToClipPos(v.vertex);
|
||||
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
|
||||
|
||||
o.uv_mask = TRANSFORM_TEX(v.uv_mask, _MaskWobble);
|
||||
|
||||
// #if defined(_VERTEX_COLORS)
|
||||
o.vertex_colour = v.vertex_colour;
|
||||
// #endif
|
||||
|
||||
return o;
|
||||
}
|
||||
|
||||
fixed4 frag(V2F i) : SV_TARGET
|
||||
{
|
||||
half3 colour = UNITY_SAMPLE_TEX2D(_MainTex, i.uv) * _Color;
|
||||
half mask_wobble = UNITY_SAMPLE_TEX2D(_MaskWobble, i.uv_mask);
|
||||
|
||||
half mask = pow(1.0 - (distance(i.uv / _MainTex_ST.rg, half2(0.5, 0.5)) * 2.0), _MaskFadePower);
|
||||
mask += ((mask_wobble - 0.5) * 2.0) * _MaskWobbleAmount;
|
||||
|
||||
// #if defined(_VERTEX_COLORS)
|
||||
colour *= i.vertex_colour.rgb;
|
||||
mask *= i.vertex_colour.a;
|
||||
// #endif
|
||||
|
||||
return fixed4(saturate(colour).rgb, saturate(mask).r);
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
FallBack "Diffuse"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf55aec5866db7546a76e2e6f4bd2f45
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user