From b4ab653b7471ca87bb5366dba2610d68d026e77a Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 2 Apr 2018 20:24:19 +0900 Subject: [PATCH] add VRM Unlit Shaders --- Shaders/VRMShaders.shadervariants | Bin 321 -> 4224 bytes Shaders/VRMUnlitCutout.shader | 58 +++++++++++++++++ Shaders/VRMUnlitCutout.shader.meta | 9 +++ Shaders/VRMUnlitTexture.shader | 61 ++++++++++++++++++ Shaders/VRMUnlitTexture.shader.meta | 9 +++ Shaders/VRMUnlitTransparent.shader | 60 +++++++++++++++++ Shaders/VRMUnlitTransparent.shader.meta | 9 +++ Shaders/VRMUnlitTransparentZWrite.shader | 57 ++++++++++++++++ Shaders/VRMUnlitTransparentZWrite.shader.meta | 9 +++ 9 files changed, 272 insertions(+) create mode 100644 Shaders/VRMUnlitCutout.shader create mode 100644 Shaders/VRMUnlitCutout.shader.meta create mode 100644 Shaders/VRMUnlitTexture.shader create mode 100644 Shaders/VRMUnlitTexture.shader.meta create mode 100644 Shaders/VRMUnlitTransparent.shader create mode 100644 Shaders/VRMUnlitTransparent.shader.meta create mode 100644 Shaders/VRMUnlitTransparentZWrite.shader create mode 100644 Shaders/VRMUnlitTransparentZWrite.shader.meta diff --git a/Shaders/VRMShaders.shadervariants b/Shaders/VRMShaders.shadervariants index 894f514e281f9dbbd61322a7704e794a5fdb8503..9df453611cbced0e6116fef6ca12ede674d79c94 100644 GIT binary patch literal 4224 zcmeH~&1(}u7{=etN0UaYjT*n|$H9W9hQ`kxBt*1oBBiaB7QIL`tBH+C$S$@yIVy^R z2T>HEQV58p_D~ToR=xG0CqWQz^&*};D0&ifecqYPvWtI$JMd=a{mtw%?>xIX3{faZ z)G3H4jvgJ+?&O~2&RUB8SeB(}0B@LD*0<^C(~mpm0$;3KCziIqIJp`0CW4o6+e;+y zh$R!jT%*T963;XeAwXWILZkH zKY^6>`P)#u-J`z&Sot6G=x<~$Bj)kH%i&SEULX%4HX*o;6!QhWKANwW@)h$ywOrQE zn5AlkhK9`gzWzeVtk(M{O}%0Ors=||L#48wJ&3_j-Ym+2QZUpLDoNY2*~-}}T~yiz z*_%i>t~VyC^@2gQykQ(~)O1-q7u1vDW5_1#o;&`osoB{7`BBeI=EnbetRs}r)V?s@WEteOYZ*VT{nItI)5qJJ-e-U;m*Co&4qLGSM;M{ zMSqXXcJvjy2j+Y4CVswp`Cd^e?*I4>_zw6E_zw6E_zw6E_zw6E_zwI(4#aTO(PIOx gOOCvU$O}q3>zKfIcXH+O`ryj>zU7{mcNy3GUp2thJpcdz literal 321 zcmZWkO-sW-5WVlOm>%jWDZA-P?B0r^7OWO41rd=+b~dgg8`*4xBK~(biHCx780O=> zd2i;=>+Kzgg<$ii^$pDW83e3U?`$|O^`dN>B;!ITmZs^j%{Yg%n8slHchuw$=q zdu&L-;c+_|=tk0CJ&31Ztnb1JQC^IW6R3Kt6$o7ALQ0aTvmCiZG&<)dFIM8bBwZvB aj-OFtIrstSsBE1cE)VfF{Tn}ed1b#id|%uE diff --git a/Shaders/VRMUnlitCutout.shader b/Shaders/VRMUnlitCutout.shader new file mode 100644 index 000000000..edb666f9b --- /dev/null +++ b/Shaders/VRMUnlitCutout.shader @@ -0,0 +1,58 @@ +Shader "VRM/UnlitTexture" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + // make fog work + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + UNITY_FOG_COORDS(1) + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + // sample the texture + fixed4 col = tex2D(_MainTex, i.uv); + // apply fog + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } + } +} diff --git a/Shaders/VRMUnlitCutout.shader.meta b/Shaders/VRMUnlitCutout.shader.meta new file mode 100644 index 000000000..b53679264 --- /dev/null +++ b/Shaders/VRMUnlitCutout.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1a70c9898704e1a4691843883f5101af +timeCreated: 1522661614 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/VRMUnlitTexture.shader b/Shaders/VRMUnlitTexture.shader new file mode 100644 index 000000000..33052c9b3 --- /dev/null +++ b/Shaders/VRMUnlitTexture.shader @@ -0,0 +1,61 @@ +Shader "VRM/UnlitCutout" +{ +Properties { + _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} + _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 +} +SubShader { + Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"} + LOD 100 + + Lighting Off + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f { + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD0; + UNITY_FOG_COORDS(1) + UNITY_VERTEX_OUTPUT_STEREO + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + fixed _Cutoff; + + v2f vert (appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + fixed4 col = tex2D(_MainTex, i.texcoord); + clip(col.a - _Cutoff); + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } +} + +} diff --git a/Shaders/VRMUnlitTexture.shader.meta b/Shaders/VRMUnlitTexture.shader.meta new file mode 100644 index 000000000..aefa97566 --- /dev/null +++ b/Shaders/VRMUnlitTexture.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4c9ce97af40038f45811fc4b0975a483 +timeCreated: 1522661614 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/VRMUnlitTransparent.shader b/Shaders/VRMUnlitTransparent.shader new file mode 100644 index 000000000..e6d9ea0c3 --- /dev/null +++ b/Shaders/VRMUnlitTransparent.shader @@ -0,0 +1,60 @@ +Shader "VRM/UnlitTransparent" +{ +Properties { + _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} +} + +SubShader { + Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"} + LOD 100 + + ZWrite Off + Blend SrcAlpha OneMinusSrcAlpha + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f { + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD0; + UNITY_FOG_COORDS(1) + UNITY_VERTEX_OUTPUT_STEREO + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + fixed4 col = tex2D(_MainTex, i.texcoord); + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } +} + +} diff --git a/Shaders/VRMUnlitTransparent.shader.meta b/Shaders/VRMUnlitTransparent.shader.meta new file mode 100644 index 000000000..a2e35ec09 --- /dev/null +++ b/Shaders/VRMUnlitTransparent.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: df359ad0838642d4fa0339514fcbbb2d +timeCreated: 1522661614 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/VRMUnlitTransparentZWrite.shader b/Shaders/VRMUnlitTransparentZWrite.shader new file mode 100644 index 000000000..1e95e40c9 --- /dev/null +++ b/Shaders/VRMUnlitTransparentZWrite.shader @@ -0,0 +1,57 @@ +Shader "VRM/UnlitTransparentZWrite" { Properties { + _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} +} + +SubShader { + Tags {"Queue"="AlphaTest+150" "IgnoreProjector"="True" "RenderType"="Transparent"} + LOD 100 + + ZWrite On + Blend SrcAlpha OneMinusSrcAlpha + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f { + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD0; + UNITY_FOG_COORDS(1) + UNITY_VERTEX_OUTPUT_STEREO + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + fixed4 col = tex2D(_MainTex, i.texcoord); + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } +} + } \ No newline at end of file diff --git a/Shaders/VRMUnlitTransparentZWrite.shader.meta b/Shaders/VRMUnlitTransparentZWrite.shader.meta new file mode 100644 index 000000000..b7cb6fe16 --- /dev/null +++ b/Shaders/VRMUnlitTransparentZWrite.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 429a3203ab2959741aab76fa2856b450 +timeCreated: 1522661614 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: