源战役客户端
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 

86 строки
1.9 KiB

// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
Shader "Unlit/DissolveEffect2"
{
Properties
{
_MainTex("Base (RGB)", 2D) = "white" {}
//_ParentAlpha("_ParentAlpha", Float) = 15
_ParentDist("_ParentDist", Float) = 0
_ParentPos("ParentPos", Vector) = (0,0,0,0)
_PlaneDir("PlaneDir", Vector) = (1,-0.6,0,0)
}
SubShader
{
//Tags
//{
//"Queue" = "Transparent"
//"RenderType" = "Transparent"
//}
Pass
{
//Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
sampler2D _MainTex;
float4 _MainTex_ST;
uniform half _ParentDist;
//uniform half _ParentAlpha;
uniform half4 _ParentPos;
uniform half4 _PlaneDir;
struct v2f {
half4 vertex : POSITION;
float2 uv : TEXCOORD0;
float3 posWorld : TEXCOORD1;
};
v2f vert(appdata_base v) {
v2f o;
o.posWorld = mul(unity_ObjectToWorld, v.vertex).xyz;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.texcoord;
return o;
}
fixed4 frag(v2f v) : COLOR
{
_ParentPos.x = -_ParentDist;
half3 viewDirection = normalize(v.posWorld.xyz - _ParentPos.xyz);
half angle = dot(_PlaneDir, viewDirection);
_ParentPos.x = +_ParentDist;
viewDirection = normalize(v.posWorld.xyz - _ParentPos.xyz);
half angle2 = dot(_PlaneDir, viewDirection);
half2 di = half2(_ParentDist/13, 0);
if (angle2 < 0)
{
di.x = -_ParentDist/13;
}
if (angle > 0 && angle2 < 0)
{
clip(-1);
}
else
{
clip(1);
}
float2 uv = v.uv - di;
fixed4 col = tex2D(_MainTex,TRANSFORM_TEX(uv,_MainTex));
//fixed4 col = tex2D(_MainTex, v.uv);
//col.a = 1 - _ParentDist / _ParentAlpha;
return col;
}
ENDCG
}
}
//FallBack "Diffuse"
}