留个档,一篇Shader,物体坐标移动获得世界坐标下的颜色渐变

物体坐标移动获得世界坐标下的颜色渐变

这个东西,东拼西凑写出来的。
我不懂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 神一般的狄狄

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值