Add project files.

This commit is contained in:
2023-10-08 18:51:40 +02:00
commit 51cc9df14f
2249 changed files with 636804 additions and 0 deletions

View File

@@ -0,0 +1,164 @@
Shader "FGO_CH/AlphaBlendSingleFlat" {
Properties{
_Alpha("Alpha", 2D) = "white" {}
_Color ("Main Color", Color) = (1,1,1,1)
_AddColor ("Add Color", Color) = (0,0,0,0)
_MainTex ("Base (RGBA)", 2D) = "white" { }
_Cutoff ("Base Alpha cutoff", Range(0, 1)) = 0.9
}
SubShader{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Pass //Opaque Character
{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION0;
float2 uv : TEXCOORD0;
float4 color : COLOR0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : POSITION0;
float4 color : COLOR0;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _Color;
fixed4 _AddColor;
float4 u_xlat0;
float4 u_xlat1;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.color = v.color;
o.uv = v.uv;
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
col = _Color * col + _AddColor;
clip(col.a - 0.99);
return col;
}
ENDCG
}
//Pass //Line 428 Cutoff Transparency (0.5)
//{
// Tags { "IGNOREPROJECTOR" = "true" "RenderType" = "TransparentCutout" }
// Cull Off
// ColorMask 0
// CGPROGRAM
// #pragma vertex vert
// #pragma fragment frag
// #include "UnityCG.cginc"
// struct appdata
// {
// float4 vertex : POSITION0;
// float2 uv : TEXCOORD0;
// float4 color : COLOR0;
// };
// struct v2f
// {
// float2 uv : TEXCOORD0;
// float4 vertex : POSITION0;
// float4 color : COLOR0;
// };
// sampler2D _MainTex;
// sampler2D _Alpha;
// fixed4 _Color;
// fixed4 _AddColor;
// float _Cutoff;
// float4 u_xlat0;
// float4 u_xlat1;
// v2f vert(appdata v)
// {
// v2f o;
// o.color = fixed4(0,0,0,1);
// o.uv = v.uv;
// u_xlat0 = mul(unity_ObjectToWorld, v.vertex.xyz);
// o.vertex = UnityObjectToClipPos(u_xlat0);
// return o;
// }
// fixed4 frag(v2f i) : SV_Target
// {
// fixed4 col = tex2D(_MainTex, i.uv);
// col = _Color * col + _AddColor;
// clip(col.a - _Cutoff);
// return col;
// }
// ENDCG
//}
Pass //ADD COLORS
{
Cull Off // make double sided
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _ColorTint;
float _Cutoff;
float4 u_xlat0;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv; // just pass through with no scale/offset
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
clip(col.a - (1-_Cutoff));
return col;
}
ENDCG
}
}
}

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 68e6e7e6b211e00498a1dedc6543e36e
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,114 @@
Shader "FateScreenshotShaderCompatible" {
Properties{
_Alpha("Alpha", 2D) = "white" {}
_Color ("Main Color", Color) = (1,1,1,1)
_AddColor ("Add Color", Color) = (0,0,0,0)
_MainTex ("Base (RGB) Alpha (A)", 2D) = "white" { }
_Cutoff ("Base Alpha cutoff", Range(0, 0.9)) = 0.9
}
SubShader{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Pass //Opaque Character
{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION0;
float2 uv : TEXCOORD0;
float4 color : COLOR0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : POSITION0;
float4 color : COLOR0;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _Color;
fixed4 _AddColor;
float4 u_xlat0;
float4 u_xlat1;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.color = v.color;
o.uv = v.uv;
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
clip(col.a - 1);
col = fixed4(1,1,1,1);
return col;
}
ENDCG
}
Pass //ADD COLORS
{
Cull Off // make double sided
Blend SrcAlpha OneMinusSrcAlpha
BlendOp Max
AlphaToMask On
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _ColorTint;
float4 u_xlat0;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv; // just pass through with no scale/offset
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
col = fixed4(col.a,col.a,col.a,col.a);
return col;
}
ENDCG
}
}
}

View File

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

View File

@@ -0,0 +1,164 @@
Shader "FateShader3Compatible" {
Properties{
_Alpha("Alpha", 2D) = "white" {}
_Color ("Main Color", Color) = (1,1,1,1)
_AddColor ("Add Color", Color) = (0,0,0,0)
_MainTex ("Base (RGBA)", 2D) = "white" { }
_Cutoff ("Base Alpha cutoff", Range(0, 1)) = 0.9
}
SubShader{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Pass //Opaque Character
{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION0;
float2 uv : TEXCOORD0;
float4 color : COLOR0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : POSITION0;
float4 color : COLOR0;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _Color;
fixed4 _AddColor;
float4 u_xlat0;
float4 u_xlat1;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.color = v.color;
o.uv = v.uv;
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
col = _Color * col + _AddColor;
clip(col.a - 0.99);
return col;
}
ENDCG
}
//Pass //Line 428 Cutoff Transparency (0.5)
//{
// Tags { "IGNOREPROJECTOR" = "true" "RenderType" = "TransparentCutout" }
// Cull Off
// ColorMask 0
// CGPROGRAM
// #pragma vertex vert
// #pragma fragment frag
// #include "UnityCG.cginc"
// struct appdata
// {
// float4 vertex : POSITION0;
// float2 uv : TEXCOORD0;
// float4 color : COLOR0;
// };
// struct v2f
// {
// float2 uv : TEXCOORD0;
// float4 vertex : POSITION0;
// float4 color : COLOR0;
// };
// sampler2D _MainTex;
// sampler2D _Alpha;
// fixed4 _Color;
// fixed4 _AddColor;
// float _Cutoff;
// float4 u_xlat0;
// float4 u_xlat1;
// v2f vert(appdata v)
// {
// v2f o;
// o.color = fixed4(0,0,0,1);
// o.uv = v.uv;
// u_xlat0 = mul(unity_ObjectToWorld, v.vertex.xyz);
// o.vertex = UnityObjectToClipPos(u_xlat0);
// return o;
// }
// fixed4 frag(v2f i) : SV_Target
// {
// fixed4 col = tex2D(_MainTex, i.uv);
// col = _Color * col + _AddColor;
// clip(col.a - _Cutoff);
// return col;
// }
// ENDCG
//}
Pass //ADD COLORS
{
Cull Off // make double sided
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _ColorTint;
float _Cutoff;
float4 u_xlat0;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv; // just pass through with no scale/offset
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
clip(col.a - (1-_Cutoff));
return col;
}
ENDCG
}
}
}

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 5a9b49c038bab704fac0a72147cedf26
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,106 @@
Shader "FateStgShader" {
Properties{
_MainTex("Albedo (RGB)", 2D) = "white" {}
_AlphaTex("Alpha", 2D) = "white" {}
_SubTex("Albedo (RGB)", 2D) = "white" {}
_SubAlphaTex("Alpha", 2D) = "white" {}
}
// multiple render passes, in order to write to the zbuffer before drawing visible surfaces
SubShader{
Tags {
"Queue" = "Transparent"
}
Pass {
ZWrite On
Cull Off // make double sided
ColorMask 0 // don't draw any color
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
sampler2D _AlphaTex;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv; // just pass through with no scale/offset
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_AlphaTex, i.uv);
col.a *= alph.r;
clip(col.a - .97); // remove non-opaque pixels from writing to zbuffer
return col;
}
ENDCG
}
Pass
{
ZWrite Off
Cull Off // make double sided
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
sampler2D _AlphaTex;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv; // just pass through with no scale/offset
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_AlphaTex, i.uv);
col.a = alph.r;
return col;
}
ENDCG
}
}
}

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 8866c8b500689aa4abd43e534223bd07
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,164 @@
Shader "FGO_Noble/Base" {
Properties{
_Alpha("Alpha", 2D) = "white" {}
_Color ("Main Color", Color) = (1,1,1,1)
_AddColor ("Add Color", Color) = (0,0,0,0)
_MainTex ("Base (RGBA)", 2D) = "white" { }
_Cutoff ("Base Alpha cutoff", Range(0, 1)) = 0.9
}
SubShader{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Pass //Opaque Character
{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION0;
float2 uv : TEXCOORD0;
float4 color : COLOR0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : POSITION0;
float4 color : COLOR0;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _Color;
fixed4 _AddColor;
float4 u_xlat0;
float4 u_xlat1;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.color = v.color;
o.uv = v.uv;
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
col = _Color * col + _AddColor;
clip(col.a - 0.99);
return col;
}
ENDCG
}
//Pass //Line 428 Cutoff Transparency (0.5)
//{
// Tags { "IGNOREPROJECTOR" = "true" "RenderType" = "TransparentCutout" }
// Cull Off
// ColorMask 0
// CGPROGRAM
// #pragma vertex vert
// #pragma fragment frag
// #include "UnityCG.cginc"
// struct appdata
// {
// float4 vertex : POSITION0;
// float2 uv : TEXCOORD0;
// float4 color : COLOR0;
// };
// struct v2f
// {
// float2 uv : TEXCOORD0;
// float4 vertex : POSITION0;
// float4 color : COLOR0;
// };
// sampler2D _MainTex;
// sampler2D _Alpha;
// fixed4 _Color;
// fixed4 _AddColor;
// float _Cutoff;
// float4 u_xlat0;
// float4 u_xlat1;
// v2f vert(appdata v)
// {
// v2f o;
// o.color = fixed4(0,0,0,1);
// o.uv = v.uv;
// u_xlat0 = mul(unity_ObjectToWorld, v.vertex.xyz);
// o.vertex = UnityObjectToClipPos(u_xlat0);
// return o;
// }
// fixed4 frag(v2f i) : SV_Target
// {
// fixed4 col = tex2D(_MainTex, i.uv);
// col = _Color * col + _AddColor;
// clip(col.a - _Cutoff);
// return col;
// }
// ENDCG
//}
Pass //ADD COLORS
{
Cull Off // make double sided
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _ColorTint;
float _Cutoff;
float4 u_xlat0;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv; // just pass through with no scale/offset
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
clip(col.a - (1-_Cutoff));
return col;
}
ENDCG
}
}
}

View File

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

8
Assets/Shader/old.meta Normal file
View File

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

View File

@@ -0,0 +1,25 @@
Shader "Custom/BufferRender" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
}
SubShader {
Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
LOD 200
Cull Off
// paste in forward rendering passes from Transparent/Diffuse
UsePass "Transparent/Diffuse/FORWARD"
}
}

View File

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

View File

@@ -0,0 +1,82 @@
%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: BufferWrite
m_Shader: {fileID: 4800000, guid: c2d51c56945abba488d0cd3408dda26b, type: 3}
m_ShaderKeywords: _CUTOUT_ON _OPACITY_ON
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _Alpha:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
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}
- _EmissionMap:
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}
- _MetallicGlossMap:
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}
m_Floats:
- _BumpScale: 1
- _Cutoff: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

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

View File

@@ -0,0 +1,23 @@
Shader "Custom/BufferWrite" {
SubShader {
Tags {"Queue"="Transparent-1" "IgnoreProjector"="True" "RenderType"="Transparent"}
LOD 200
// extra pass that renders to depth buffer only
Pass {
ZWrite On
ColorMask 0
}
}
}

View File

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

View File

@@ -0,0 +1,116 @@
Shader "FateScreenshotShader" {
Properties{
_Alpha("Alpha", 2D) = "white" {}
_Color ("Main Color", Color) = (1,1,1,1)
_AddColor ("Add Color", Color) = (0,0,0,0)
_MainTex ("Base (RGB) Alpha (A)", 2D) = "white" { }
_Cutoff ("Base Alpha cutoff", Range(0, 0.9)) = 0.9
}
SubShader{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Pass //Opaque Character
{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION0;
float2 uv : TEXCOORD0;
float4 color : COLOR0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : POSITION0;
float4 color : COLOR0;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _Color;
fixed4 _AddColor;
float4 u_xlat0;
float4 u_xlat1;
v2f vert(appdata v)
{
v2f o;
u_xlat0 = mul(unity_ObjectToWorld, v.vertex.xyz);
o.vertex = UnityObjectToClipPos(u_xlat0);
o.color = v.color;
o.uv = v.uv;
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
clip(col.a - 1);
col = fixed4(1,1,1,1);
return col;
}
ENDCG
}
Pass //ADD COLORS
{
Cull Off // make double sided
Blend SrcAlpha OneMinusSrcAlpha
BlendOp Max
AlphaToMask On
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _ColorTint;
float4 u_xlat0;
v2f vert(appdata v)
{
v2f o;
u_xlat0 = mul(unity_ObjectToWorld, v.vertex.xyz);
o.vertex = UnityObjectToClipPos(u_xlat0);
o.uv = v.uv; // just pass through with no scale/offset
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
col = fixed4(col.a,col.a,col.a,col.a);
return col;
}
ENDCG
}
}
}

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 08b6da75c53d5734baf63769f7737deb
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,102 @@
// Made with Amplify Shader Editor
// Available at the Unity Asset Store - http://u3d.as/y3X
Shader "FateShader"
{
Properties
{
_MainTex("MainTex", 2D) = "white" {}
_Cutoff( "Mask Clip Value", Float ) = 0.66
_Alpha("Alpha", 2D) = "white" {}
[Toggle]_Opacity("Opacity", Float) = 1
[Toggle]_Cutout("Cutout", Float) = 0
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Transparent" "Queue" = "AlphaTest+0" "IgnoreProjector" = "True" "IsEmissive" = "true" }
Cull Off
AlphaToMask On
CGPROGRAM
#pragma target 3.0
#pragma surface surf Unlit keepalpha noshadow
struct Input
{
float2 uv_texcoord;
};
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float _Opacity;
uniform sampler2D _Alpha;
uniform float4 _Alpha_ST;
uniform float _Cutout;
uniform float _Cutoff = 0.66;
inline half4 LightingUnlit( SurfaceOutput s, half3 lightDir, half atten )
{
return half4 ( 0, 0, 0, s.Alpha );
}
void surf( Input i , inout SurfaceOutput o )
{
float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
float4 tex2DNode1 = tex2D( _MainTex, uv_MainTex );
o.Emission = tex2DNode1.rgb;
float2 uv_Alpha = i.uv_texcoord * _Alpha_ST.xy + _Alpha_ST.zw;
float Opacity6 = ( tex2DNode1.a * tex2D( _Alpha, uv_Alpha ).r );
o.Alpha = (( _Opacity )?( Opacity6 ):( 1.0 ));
clip( (( _Cutout )?( Opacity6 ):( 1.0 )) - _Cutoff );
}
ENDCG
}
CustomEditor "ASEMaterialInspector"
}
/*ASEBEGIN
Version=18900
1038;137;1147;471;923.4102;277.0058;1.480406;True;False
Node;AmplifyShaderEditor.SamplerNode;1;-991.8311,-313.1321;Inherit;True;Property;_MainTex;MainTex;0;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SamplerNode;3;-1063.475,-110.5453;Inherit;True;Property;_Alpha;Alpha;2;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;4;-758.9771,-77.15388;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RegisterLocalVarNode;6;-627.9411,-58.70366;Inherit;False;Opacity;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;25;-534.9466,76.17107;Inherit;False;Constant;_Float1;Float 1;5;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.GetLocalVarNode;9;-1008,560;Inherit;False;6;Opacity;1;0;OBJECT;;False;1;FLOAT;0
Node;AmplifyShaderEditor.FWidthOpNode;7;-832,560;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;2;-992,480;Inherit;False;Property;_Cutoff;Cutoff;1;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.GetLocalVarNode;5;-944,384;Inherit;False;6;Opacity;1;0;OBJECT;;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMaxOpNode;11;-640,560;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0.0001;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleSubtractOpNode;8;-688,400;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;13;-528,576;Inherit;False;Constant;_Float0;Float 0;4;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.ToggleSwitchNode;24;-358.3005,49.15369;Inherit;False;Property;_Opacity;Opacity;3;0;Create;True;0;0;0;False;0;False;1;True;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleAddOpNode;12;-384,528;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SaturateNode;14;-240,592;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.ToggleSwitchNode;26;-353.7239,139.012;Inherit;False;Property;_Cutout;Cutout;4;0;Create;True;0;0;0;False;0;False;0;True;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RegisterLocalVarNode;15;-79.95943,586.6773;Inherit;False;a2c;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.GetLocalVarNode;16;-380.7186,282.1119;Inherit;False;15;a2c;1;0;OBJECT;;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleDivideOpNode;10;-512,496;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;102.3322,-143.1352;Float;False;True;-1;2;ASEMaterialInspector;0;0;Unlit;FateShader;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Off;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;3;Custom;0.66;True;False;0;True;Transparent;;AlphaTest;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;False;0;5;False;-1;10;False;-1;0;5;False;-1;7;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;1;-1;-1;-1;0;True;0;0;False;-1;-1;0;False;2;0;0;0;False;0.1;False;-1;0;False;-1;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
WireConnection;4;0;1;4
WireConnection;4;1;3;1
WireConnection;6;0;4;0
WireConnection;7;0;9;0
WireConnection;11;0;7;0
WireConnection;8;0;5;0
WireConnection;8;1;2;0
WireConnection;24;0;25;0
WireConnection;24;1;6;0
WireConnection;12;0;10;0
WireConnection;12;1;13;0
WireConnection;14;0;12;0
WireConnection;26;0;25;0
WireConnection;26;1;6;0
WireConnection;15;0;14;0
WireConnection;10;0;8;0
WireConnection;10;1;11;0
WireConnection;0;2;1;0
WireConnection;0;9;24;0
WireConnection;0;10;26;0
ASEEND*/
//CHKSM=747079D4FF5A0CD3EB6DF34E7C6FCD2FAD18D42F

View File

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

View File

@@ -0,0 +1,106 @@
Shader "FateShader2" {
Properties{
[NoScaleOffset] _MainTex("Albedo (RGB)", 2D) = "white" {}
_Alpha("Alpha", 2D) = "white" {}
_Cutoff ("Base Alpha cutoff", Range(0, 1)) = 0.91
_ColorTint ("Tint", Color) = (0,0,0,0)
}
// multiple render passes, in order to write to the zbuffer before drawing visible surfaces
SubShader{
Tags {
"Queue" = "Transparent"
}
Pass {
ZWrite On
Cull Off // make double sided
ColorMask 0 // don't draw any color
AlphaToMask On
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
sampler2D _Alpha;
float _Cutoff;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv; // just pass through with no scale/offset
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
clip(col.a - _Cutoff); // remove non-opaque pixels from writing to zbuffer
return col;
}
ENDCG
}
Pass
{
ZWrite Off
Cull Off // make double sided
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
fixed4 _ColorTint;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv; // just pass through with no scale/offset
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
return col;
}
ENDCG
}
}
}

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 313eb9c8d46a2fb419d708a03cf7fde1
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,166 @@
Shader "FateShader3" {
Properties{
_Alpha("Alpha", 2D) = "white" {}
_Color ("Main Color", Color) = (1,1,1,1)
_AddColor ("Add Color", Color) = (0,0,0,0)
_MainTex ("Base (RGB) Alpha (A)", 2D) = "white" { }
_Cutoff ("Base Alpha cutoff", Range(0, 0.9)) = 0.9
}
SubShader{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Pass //Opaque Character
{
Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "TransparentCutout" }
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION0;
float2 uv : TEXCOORD0;
float4 color : COLOR0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : POSITION0;
float4 color : COLOR0;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _Color;
fixed4 _AddColor;
float4 u_xlat0;
float4 u_xlat1;
v2f vert(appdata v)
{
v2f o;
o.vertex = mul(unity_ObjectToWorld, v.vertex);
o.vertex = UnityObjectToClipPos(o.vertex);
o.color = v.color;
o.uv = v.uv;
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
col = _Color * col + _AddColor;
clip(col.a - 0.99);
return col;
}
ENDCG
}
//Pass //Line 428 Cutoff Transparency (0.5)
//{
// Tags { "IGNOREPROJECTOR" = "true" "RenderType" = "TransparentCutout" }
// Cull Off
// ColorMask 0
// CGPROGRAM
// #pragma vertex vert
// #pragma fragment frag
// #include "UnityCG.cginc"
// struct appdata
// {
// float4 vertex : POSITION0;
// float2 uv : TEXCOORD0;
// float4 color : COLOR0;
// };
// struct v2f
// {
// float2 uv : TEXCOORD0;
// float4 vertex : POSITION0;
// float4 color : COLOR0;
// };
// sampler2D _MainTex;
// sampler2D _Alpha;
// fixed4 _Color;
// fixed4 _AddColor;
// float _Cutoff;
// float4 u_xlat0;
// float4 u_xlat1;
// v2f vert(appdata v)
// {
// v2f o;
// o.color = fixed4(0,0,0,1);
// o.uv = v.uv;
// u_xlat0 = mul(unity_ObjectToWorld, v.vertex.xyz);
// o.vertex = UnityObjectToClipPos(u_xlat0);
// return o;
// }
// fixed4 frag(v2f i) : SV_Target
// {
// fixed4 col = tex2D(_MainTex, i.uv);
// col = _Color * col + _AddColor;
// clip(col.a - _Cutoff);
// return col;
// }
// ENDCG
//}
Pass //ADD COLORS
{
Cull Off // make double sided
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
sampler2D _Alpha;
fixed4 _ColorTint;
float _Cutoff;
float4 u_xlat0;
v2f vert(appdata v)
{
v2f o;
o.vertex = mul(unity_ObjectToWorld, v.vertex);
o.vertex = UnityObjectToClipPos(o.vertex);
o.uv = v.uv; // just pass through with no scale/offset
return o;
}
fixed4 frag(v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv);
fixed4 alph = tex2D(_Alpha, i.uv);
col.a *= alph.r;
clip(col.a - (1-_Cutoff));
return col;
}
ENDCG
}
}
}

View File

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