Skip to content

Commit

Permalink
Added UniversalToon.shader ,UnvivarsalToonHead.cginc and UniversalToo…
Browse files Browse the repository at this point in the history
…nBody.cginc.
  • Loading branch information
H3idi-X committed Oct 18, 2019
1 parent 59422ce commit 7ae2f23
Show file tree
Hide file tree
Showing 7 changed files with 1,196 additions and 1 deletion.
315 changes: 315 additions & 0 deletions Assets/Toon(Universal)/Shaders/UniversalToon.shader
Original file line number Diff line number Diff line change
@@ -0,0 +1,315 @@
//Unitychan Toon Shader ver.2.0
//v.2.0.7.5
//nobuyuki@unity3d.com
//toshiyuki@unity3d.com (LWRP)
//https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project
//(C)Unity Technologies Japan/UCL
Shader "Universal Render Pipeline/Toon" {
Properties {
[HideInInspector] _simpleUI ("SimpleUI", Int ) = 0
[HideInInspector] _utsVersion ("Version", Float ) = 2.07
[HideInInspector] _utsTechnique ("Technique", int ) = 0 //DWF
[Enum(OFF,0,FRONT,1,BACK,2)] _CullMode("Cull Mode", int) = 2 //OFF/FRONT/BACK
_MainTex ("BaseMap", 2D) = "white" {}
[HideInInspector] _BaseMap ("BaseMap", 2D) = "white" {}
_BaseColor ("BaseColor", Color) = (1,1,1,1)
//v.2.0.5 : Clipping/TransClipping for SSAO Problems in PostProcessing Stack.
//If you want to go back the former SSAO results, comment out the below line.
[HideInInspector] _Color ("Color", Color) = (1,1,1,1)
//
[Toggle(_)] _Is_LightColor_Base ("Is_LightColor_Base", Float ) = 1
_1st_ShadeMap ("1st_ShadeMap", 2D) = "white" {}
//v.2.0.5
[Toggle(_)] _Use_BaseAs1st ("Use BaseMap as 1st_ShadeMap", Float ) = 0
_1st_ShadeColor ("1st_ShadeColor", Color) = (1,1,1,1)
[Toggle(_)] _Is_LightColor_1st_Shade ("Is_LightColor_1st_Shade", Float ) = 1
_2nd_ShadeMap ("2nd_ShadeMap", 2D) = "white" {}
//v.2.0.5
[Toggle(_)] _Use_1stAs2nd ("Use 1st_ShadeMap as 2nd_ShadeMap", Float ) = 0
_2nd_ShadeColor ("2nd_ShadeColor", Color) = (1,1,1,1)
[Toggle(_)] _Is_LightColor_2nd_Shade ("Is_LightColor_2nd_Shade", Float ) = 1
_NormalMap ("NormalMap", 2D) = "bump" {}
_BumpScale ("Normal Scale", Range(0, 1)) = 1
[Toggle(_)] _Is_NormalMapToBase ("Is_NormalMapToBase", Float ) = 0
//v.2.0.4.4
[Toggle(_)] _Set_SystemShadowsToBase ("Set_SystemShadowsToBase", Float ) = 1
_Tweak_SystemShadowsLevel ("Tweak_SystemShadowsLevel", Range(-0.5, 0.5)) = 0
//v.2.0.6
_BaseColor_Step ("BaseColor_Step", Range(0, 1)) = 0.5
_BaseShade_Feather ("Base/Shade_Feather", Range(0.0001, 1)) = 0.0001
_ShadeColor_Step ("ShadeColor_Step", Range(0, 1)) = 0
_1st2nd_Shades_Feather ("1st/2nd_Shades_Feather", Range(0.0001, 1)) = 0.0001
[HideInInspector] _1st_ShadeColor_Step ("1st_ShadeColor_Step", Range(0, 1)) = 0.5
[HideInInspector] _1st_ShadeColor_Feather ("1st_ShadeColor_Feather", Range(0.0001, 1)) = 0.0001
[HideInInspector] _2nd_ShadeColor_Step ("2nd_ShadeColor_Step", Range(0, 1)) = 0
[HideInInspector] _2nd_ShadeColor_Feather ("2nd_ShadeColor_Feather", Range(0.0001, 1)) = 0.0001
//v.2.0.5
_StepOffset ("Step_Offset (ForwardAdd Only)", Range(-0.5, 0.5)) = 0
[Toggle(_)] _Is_Filter_HiCutPointLightColor ("PointLights HiCut_Filter (ForwardAdd Only)", Float ) = 1
//
_Set_1st_ShadePosition ("Set_1st_ShadePosition", 2D) = "white" {}
_Set_2nd_ShadePosition ("Set_2nd_ShadePosition", 2D) = "white" {}
//
_HighColor ("HighColor", Color) = (0,0,0,1)
//v.2.0.4 HighColor_Tex
_HighColor_Tex ("HighColor_Tex", 2D) = "white" {}
[Toggle(_)] _Is_LightColor_HighColor ("Is_LightColor_HighColor", Float ) = 1
[Toggle(_)] _Is_NormalMapToHighColor ("Is_NormalMapToHighColor", Float ) = 0
_HighColor_Power ("HighColor_Power", Range(0, 1)) = 0
[Toggle(_)] _Is_SpecularToHighColor ("Is_SpecularToHighColor", Float ) = 0
[Toggle(_)] _Is_BlendAddToHiColor ("Is_BlendAddToHiColor", Float ) = 0
[Toggle(_)] _Is_UseTweakHighColorOnShadow ("Is_UseTweakHighColorOnShadow", Float ) = 0
_TweakHighColorOnShadow ("TweakHighColorOnShadow", Range(0, 1)) = 0
//ハイカラーマスク.
_Set_HighColorMask ("Set_HighColorMask", 2D) = "white" {}
_Tweak_HighColorMaskLevel ("Tweak_HighColorMaskLevel", Range(-1, 1)) = 0
[Toggle(_)] _RimLight ("RimLight", Float ) = 0
_RimLightColor ("RimLightColor", Color) = (1,1,1,1)
[Toggle(_)] _Is_LightColor_RimLight ("Is_LightColor_RimLight", Float ) = 1
[Toggle(_)] _Is_NormalMapToRimLight ("Is_NormalMapToRimLight", Float ) = 0
_RimLight_Power ("RimLight_Power", Range(0, 1)) = 0.1
_RimLight_InsideMask ("RimLight_InsideMask", Range(0.0001, 1)) = 0.0001
[Toggle(_)] _RimLight_FeatherOff ("RimLight_FeatherOff", Float ) = 0
//リムライト追加プロパティ.
[Toggle(_)] _LightDirection_MaskOn ("LightDirection_MaskOn", Float ) = 0
_Tweak_LightDirection_MaskLevel ("Tweak_LightDirection_MaskLevel", Range(0, 0.5)) = 0
[Toggle(_)] _Add_Antipodean_RimLight ("Add_Antipodean_RimLight", Float ) = 0
_Ap_RimLightColor ("Ap_RimLightColor", Color) = (1,1,1,1)
[Toggle(_)] _Is_LightColor_Ap_RimLight ("Is_LightColor_Ap_RimLight", Float ) = 1
_Ap_RimLight_Power ("Ap_RimLight_Power", Range(0, 1)) = 0.1
[Toggle(_)] _Ap_RimLight_FeatherOff ("Ap_RimLight_FeatherOff", Float ) = 0
//リムライトマスク.
_Set_RimLightMask ("Set_RimLightMask", 2D) = "white" {}
_Tweak_RimLightMaskLevel ("Tweak_RimLightMaskLevel", Range(-1, 1)) = 0
//ここまで.
[Toggle(_)] _MatCap ("MatCap", Float ) = 0
_MatCap_Sampler ("MatCap_Sampler", 2D) = "black" {}
//v.2.0.6
_BlurLevelMatcap ("Blur Level of MatCap_Sampler", Range(0, 10)) = 0
_MatCapColor ("MatCapColor", Color) = (1,1,1,1)
[Toggle(_)] _Is_LightColor_MatCap ("Is_LightColor_MatCap", Float ) = 1
[Toggle(_)] _Is_BlendAddToMatCap ("Is_BlendAddToMatCap", Float ) = 1
_Tweak_MatCapUV ("Tweak_MatCapUV", Range(-0.5, 0.5)) = 0
_Rotate_MatCapUV ("Rotate_MatCapUV", Range(-1, 1)) = 0
//v.2.0.6
[Toggle(_)] _CameraRolling_Stabilizer ("Activate CameraRolling_Stabilizer", Float ) = 0
[Toggle(_)] _Is_NormalMapForMatCap ("Is_NormalMapForMatCap", Float ) = 0
_NormalMapForMatCap ("NormalMapForMatCap", 2D) = "bump" {}
_BumpScaleMatcap ("Scale for NormalMapforMatCap", Range(0, 1)) = 1
_Rotate_NormalMapForMatCapUV ("Rotate_NormalMapForMatCapUV", Range(-1, 1)) = 0
[Toggle(_)] _Is_UseTweakMatCapOnShadow ("Is_UseTweakMatCapOnShadow", Float ) = 0
_TweakMatCapOnShadow ("TweakMatCapOnShadow", Range(0, 1)) = 0
//MatcapMask
_Set_MatcapMask ("Set_MatcapMask", 2D) = "white" {}
_Tweak_MatcapMaskLevel ("Tweak_MatcapMaskLevel", Range(-1, 1)) = 0
[Toggle(_)] _Inverse_MatcapMask ("Inverse_MatcapMask", Float ) = 0
//v.2.0.5
[Toggle(_)] _Is_Ortho ("Orthographic Projection for MatCap", Float ) = 0
//v.2.0.7 Emissive
[KeywordEnum(SIMPLE,ANIMATION)] _EMISSIVE("EMISSIVE MODE", Float) = 0
_Emissive_Tex ("Emissive_Tex", 2D) = "white" {}
[HDR]_Emissive_Color ("Emissive_Color", Color) = (0,0,0,1)
_Base_Speed ("Base_Speed", Float ) = 0
_Scroll_EmissiveU ("Scroll_EmissiveU", Range(-1, 1)) = 0
_Scroll_EmissiveV ("Scroll_EmissiveV", Range(-1, 1)) = 0
_Rotate_EmissiveUV ("Rotate_EmissiveUV", Float ) = 0
[Toggle(_)] _Is_PingPong_Base ("Is_PingPong_Base", Float ) = 0
[Toggle(_)] _Is_ColorShift ("Activate ColorShift", Float ) = 0
[HDR]_ColorShift ("ColorSift", Color) = (0,0,0,1)
_ColorShift_Speed ("ColorShift_Speed", Float ) = 0
[Toggle(_)] _Is_ViewShift ("Activate ViewShift", Float ) = 0
[HDR]_ViewShift ("ViewSift", Color) = (0,0,0,1)
[Toggle(_)] _Is_ViewCoord_Scroll ("Is_ViewCoord_Scroll", Float ) = 0
//
//Outline
[KeywordEnum(NML,POS)] _OUTLINE("OUTLINE MODE", Float) = 0
_Outline_Width ("Outline_Width", Float ) = 0
_Farthest_Distance ("Farthest_Distance", Float ) = 100
_Nearest_Distance ("Nearest_Distance", Float ) = 0.5
_Outline_Sampler ("Outline_Sampler", 2D) = "white" {}
_Outline_Color ("Outline_Color", Color) = (0.5,0.5,0.5,1)
[Toggle(_)] _Is_BlendBaseColor ("Is_BlendBaseColor", Float ) = 0
[Toggle(_)] _Is_LightColor_Outline ("Is_LightColor_Outline", Float ) = 1
//v.2.0.4
[Toggle(_)] _Is_OutlineTex ("Is_OutlineTex", Float ) = 0
_OutlineTex ("OutlineTex", 2D) = "white" {}
//Offset parameter
_Offset_Z ("Offset_Camera_Z", Float) = 0
//v.2.0.4.3 Baked Nrmal Texture for Outline
[Toggle(_)] _Is_BakedNormal ("Is_BakedNormal", Float ) = 0
_BakedNormal ("Baked Normal for Outline", 2D) = "white" {}
//GI Intensity
_GI_Intensity ("GI_Intensity", Range(0, 1)) = 0
//For VR Chat under No effective light objects
_Unlit_Intensity ("Unlit_Intensity", Range(0.001, 4)) = 1
//v.2.0.5
[Toggle(_)] _Is_Filter_LightColor ("VRChat : SceneLights HiCut_Filter", Float ) = 0
//Built-in Light Direction
[Toggle(_)] _Is_BLD ("Advanced : Activate Built-in Light Direction", Float ) = 0
_Offset_X_Axis_BLD (" Offset X-Axis (Built-in Light Direction)", Range(-1, 1)) = -0.05
_Offset_Y_Axis_BLD (" Offset Y-Axis (Built-in Light Direction)", Range(-1, 1)) = 0.09
[Toggle(_)] _Inverse_Z_Axis_BLD (" Inverse Z-Axis (Built-in Light Direction)", Float ) = 1
}
SubShader {
Tags {
"RenderType"="Opaque"
}
Pass {
Name "Outline"
Tags {
"LightMode" = "SRPDefaultUnlit"
}
Cull Front

CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
//#pragma fragmentoption ARB_precision_hint_fastest
//#pragma multi_compile_shadowcaster
//#pragma multi_compile_fog
#pragma only_renderers d3d9 d3d11 glcore gles gles3 metal xboxone ps4 switch
#pragma target 3.0
//V.2.0.4
#pragma multi_compile _IS_OUTLINE_CLIPPING_NO
#pragma multi_compile _OUTLINE_NML _OUTLINE_POS
//アウトライン処理はUTS_Outline.cgincへ.
#include "../../Toon/Shader/UCTS_Outline.cginc"
ENDCG
}
//ToonCoreStart
Pass {
Name "FORWARD"
Tags {
"LightMode"="LightweightForward"
}

Cull[_CullMode]

HLSLPROGRAM
#pragma prefer_hlslcc gles
#pragma exclude_renderers d3d11_9x
#pragma target 3.0

#pragma vertex vert
#pragma fragment frag
//#define UNITY_PASS_FORWARDBASE
#if 1


//v.2.0.4
#pragma multi_compile _IS_CLIPPING_OFF
#pragma multi_compile _IS_PASS_FWDBASE
#endif
// -------------------------------------
// Material Keywords
// -------------------------------------
// Material Keywords
#pragma shader_feature _NORMALMAP
#pragma shader_feature _ALPHATEST_ON
#pragma shader_feature _ALPHAPREMULTIPLY_ON
#pragma shader_feature _EMISSION
#pragma shader_feature _METALLICSPECGLOSSMAP
#pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
#pragma shader_feature _OCCLUSIONMAP

#pragma shader_feature _SPECULARHIGHLIGHTS_OFF
#pragma shader_feature _ENVIRONMENTREFLECTIONS_OFF
#pragma shader_feature _SPECULAR_SETUP
#pragma shader_feature _RECEIVE_SHADOWS_OFF

// -------------------------------------
// Lightweight Pipeline keywords
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
#pragma multi_compile _ _SHADOWS_SOFT

#pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE
// -------------------------------------
// Unity defined keywords
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
#pragma multi_compile _ LIGHTMAP_ON
#pragma multi_compile_fog

#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Shaders/LitForwardPass.hlsl"

#include "UniversalToonHead.cginc"
#include "UniversalToonBody.cginc"

ENDHLSL

}

Pass
{
Name "ShadowCaster"
Tags{"LightMode" = "ShadowCaster"}

ZWrite On
ZTest LEqual
Cull[_Cull]

HLSLPROGRAM
// Required to compile gles 2.0 with standard srp library
#pragma prefer_hlslcc gles
#pragma exclude_renderers d3d11_9x
#pragma target 2.0

// -------------------------------------
// Material Keywords
#pragma shader_feature _ALPHATEST_ON

//--------------------------------------
// GPU Instancing
#pragma multi_compile_instancing
#pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A

#pragma vertex ShadowPassVertex
#pragma fragment ShadowPassFragment

#include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Shaders/ShadowCasterPass.hlsl"
ENDHLSL
}

Pass
{
Name "DepthOnly"
Tags{"LightMode" = "DepthOnly"}

ZWrite On
ColorMask 0
Cull[_Cull]

HLSLPROGRAM
// Required to compile gles 2.0 with standard srp library
#pragma prefer_hlslcc gles
#pragma exclude_renderers d3d11_9x
#pragma target 2.0

#pragma vertex DepthOnlyVertex
#pragma fragment DepthOnlyFragment

// -------------------------------------
// Material Keywords
#pragma shader_feature _ALPHATEST_ON
#pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A

//--------------------------------------
// GPU Instancing
#pragma multi_compile_instancing

#include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Shaders/DepthOnlyPass.hlsl"
ENDHLSL
}

//ToonCoreEnd
}
CustomEditor "UnityChan.UTS2GUI"
}
9 changes: 9 additions & 0 deletions Assets/Toon(Universal)/Shaders/UniversalToon.shader.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 7ae2f23

Please sign in to comment.