物体坐标移动获得世界坐标下的颜色渐变
这个东西,东拼西凑写出来的。
我不懂shader,但是知道原理。
就各种百度东拼西凑,结果看上去还不错。
Shader "Custom/ColorTransFromTo"
{
Properties
{
_Color("Color", Color) = (1,1,1,1)
_Color2("Color2", Color) = (1,1,1,1)
_MainTex("Albedo (RGB)", 2D) = "white" {}
_Glossiness("Smoothness", Range(0,1)) = 0.5
_Metallic("Metallic", Range(0,1)) = 0.0
_MinY("MinY", float) = 0.0
_MaxY("MaxY", float) = 0.0
}
SubShader
{
Tags { "RenderType" = "Opaque" }
LOD 200
CGPROGRAM
#pragma surface surf Standard fullforwardshadows
#pragma target 3.0
sampler2D _MainTex;
struct Input {
float2 uv_MainTex;
float3 worldPos;
};
half _Glossiness;
half _Metallic;
fixed4 _Color;
fixed4 _Color2;
float _MinY;
float _MaxY;
void surf(Input IN, inout SurfaceOutputStandard o)
{
fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
fixed4 c2 = tex2D(_MainTex, IN.uv_MainTex) * _Color2;
float npct = saturate((IN.worldPos.y - _MinY) / (_MaxY - _MinY));
fixed4 tc = lerp(c, c2, npct);
o.Albedo = tc;
o.Metallic = _Metallic;
o.Smoothness = _Glossiness;
o.Alpha = c.a;
o.Emission = o.Albedo;
}
ENDCG
}
FallBack "Diffuse"
}
程序学无止尽。
欢迎大家沟通,有啥不明确的,或者不对的,也可以和我私聊
我的QQ 334524067 神一般的狄狄