- Home /
How do I combine these two shaders?
        #include "UnityCG.cginc"
             #pragma glsl_no_auto_normalizationShader "TSF/Base1" 
{ Properties { [MaterialToggle(_TEX_ON)] _DetailTex ("Enable Detail texture", Float) = 0 //1 _MainTex ("Detail", 2D) = "white" {} //2 _ToonShade ("Shade", 2D) = "white" {} //3 [MaterialToggle(_COLOR_ON)] _TintColor ("Enable Color Tint", Float) = 0 //4 _Color ("Base Color", Color) = (1,1,1,1) //5 
 [MaterialToggle(_VCOLOR_ON)] _VertexColor ("Enable Vertex Color", Float) = 0//6 
 _Brightness ("Brightness 1 = neutral", Float) = 1.0 //7 
 }
 Subshader 
 {
     Tags { "RenderType"="Opaque" }
     LOD 250
     ZWrite On
        Cull Back
     Lighting Off
     Fog { Mode Off }
     
     Pass 
     {
         Name "BASE"
         CGPROGRAM
             #pragma vertex vert
             #pragma fragment frag
             #pragma fragmentoption ARB_precision_hint_fastest
             #pragma multi_compile _TEX_OFF _TEX_ON
             #pragma multi_compile _COLOR_OFF _COLOR_ON
             
             #if _TEX_ON
             sampler2D _MainTex;
             half4 _MainTex_ST;
             #endif
             
             struct appdata_base0 
             {
                 float4 vertex : POSITION;
                 float3 normal : NORMAL;
                 float4 texcoord : TEXCOORD0;
             };
             
              struct v2f 
              {
                 float4 pos : SV_POSITION;
                 #if _TEX_ON
                 half2 uv : TEXCOORD0;
                 #endif
                 half2 uvn : TEXCOORD1;
              };
            
             v2f vert (appdata_base0 v)
             {
                 v2f o;
                 o.pos = UnityObjectToClipPos ( v.vertex );
                 float3 n = mul((float3x3)UNITY_MATRIX_IT_MV, normalize(v.normal));
                 normalize(n);
                 n = n * float3(0.5,0.5,0.5) + float3(0.5,0.5,0.5);
                 o.uvn = n.xy;
                  #if _TEX_ON
                 o.uv = TRANSFORM_TEX ( v.texcoord, _MainTex );
                 #endif
                 return o;
             }
               sampler2D _ToonShade;
             fixed _Brightness;
             
             #if _COLOR_ON
             fixed4 _Color;
             #endif
             
             fixed4 frag (v2f i) : COLOR
             {
                 #if _COLOR_ON
                 fixed4 toonShade = tex2D( _ToonShade, i.uvn )*_Color;
                 #else
                 fixed4 toonShade = tex2D( _ToonShade, i.uvn );
                 #endif
                 
                 #if _TEX_ON
                 fixed4 detail = tex2D ( _MainTex, i.uv );
                 return  toonShade * detail*_Brightness;
                 #else
                 return  toonShade * _Brightness;
                 #endif
             }
         ENDCG
     }
 }
 Fallback "Legacy Shaders/Diffuse"
}
Shader "TeleportFade/Standerd" { Properties { _Color("Color", Color) = (1,1,1,1) _MainTex("Albedo (RGB)", 2D) = "white" {} _Glossiness("Smoothness", Range(0,1)) = 0.5 _Metallic("Metallic", Range(0,1)) = 0.0 _FadeTex("Fade Texture", 2D) = "white" {} _RisePower("Rise Power", Float) = 0.1 _TwistPower("Twist Power", Float) = 0.0 _SpreadPower("Spread Power", Float) = 1.0 _Brightness ("Brightness 1 = neutral", Float) = 1.0 
 _ParticleColor("Particle Color", Color) = (0.0,0.3,0.8,1) _FadeRate("Fade Rate", Range(0, 1)) = 0.5 _ObjectHeight("Object Height", Float) = 2.0 _ObjectFadeHeight("Object Fade Height", Float) = 0.2 _ObjectBasePos("Object Base Position", Vector) = (0,0,0,0) } SubShader { Tags { "RenderType"="Opaque" } LOD 200
     CGPROGRAM
     // Physically based Standard lighting model, and enable shadows on all light types
     #pragma surface surf Standard fullforwardshadows vertex:vert
     // Use shader model 3.0 target, to get nicer looking lighting
     #pragma target 3.0
     sampler2D _MainTex;
     sampler2D _FadeTex;
     struct Input {
         float2 uv_MainTex;
         float4 packedData;
     };
     half _Glossiness;
     half _Metallic;
     fixed4 _Color;
     half _FadeRate;
     half _ObjectFadeHeight;
     half _RisePower;
     half _SpreadPower;
     half _TwistPower;
     fixed4 _ParticleColor;
     half _ObjectHeight;
     float4 _ObjectBasePos;
     void vert(inout appdata_full v, out Input data)
     {
         UNITY_INITIALIZE_OUTPUT(Input, data);
         float4 worldPos = mul(unity_ObjectToWorld, v.vertex);
         float height = lerp(_ObjectHeight, -_ObjectFadeHeight, _FadeRate);
         float warpRate = saturate((worldPos.y - (height + _ObjectBasePos.y)) / _ObjectFadeHeight);
         warpRate *= warpRate;
         worldPos.y += warpRate * _RisePower;
         float2 dir = worldPos.xz - _ObjectBasePos.xz;
         float rot = warpRate * _TwistPower;
         worldPos.x = cos(rot) * dir.x - sin(rot) * dir.y;
         worldPos.z = sin(rot) * dir.x + cos(rot) * dir.y;
         worldPos.xz *= _SpreadPower * warpRate + 1.0;
         worldPos.xz += _ObjectBasePos.xz;
         v.vertex = mul(unity_WorldToObject, worldPos);
         data.packedData.z = warpRate;
         data.packedData.xw = UnityObjectToClipPos(v.vertex).xw;
     }
     void surf (Input IN, inout SurfaceOutputStandard o) {
         half2 uv;
         uv.x = _ScreenParams.x * IN.packedData.x / IN.packedData.w / 128.0;
         uv.y = saturate(IN.packedData.z - 0.01);
         fixed4 fadeColor = tex2D(_FadeTex, uv);
         clip(fadeColor.r - 0.1);
         // Albedo comes from a texture tinted by color
         fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
         o.Albedo = c.rgb;
         // Metallic and smoothness come from slider variables
         o.Metallic = _Metallic;
         o.Smoothness = _Glossiness;
         o.Emission = _ParticleColor.rgb * _ParticleColor.a * saturate(IN.packedData.z * 2.0);
         o.Alpha = c.a;
     }
     ENDCG
 }
 FallBack "Diffuse"
}
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                