首页 > 其他 > 详细

【Shader】人物选中高亮状态

时间:2017-08-05 13:40:23      阅读:278      评论:0      收藏:0      [点我收藏+]
Shader
"OutLine/RedOutLine"
{
	Properties
	{
		_Switch("Value",Range(0,1)) = 0
		_MainTex("Texture",2D) = "white"{}
		_BumpMap("Bumpmap",2D) = "bump" {}
		_RimColor("RimColor",Color) = (0.26,0.19,0.16,0.0)
		_RimPower("RimPower",Range(0.5,8.0)) = 3.0
	}
		SubShader
	{
		Tags{
		"RenderType" = "Opaque"
	}
		CGPROGRAM

#pragma surface surf Lambert

	struct
		Input {
		float2 uv_MainTex;
		float2 uv_BumpMap;
		float3 viewDir;
	};
	sampler2D _MainTex;
	sampler2D _BumpMap;
	float4 _RimColor;
	float _RimPower;
	float _Switch;
	void
		surf(Input IN, inout SurfaceOutput o) {
		o.Albedo =
			tex2D(_MainTex, IN.uv_MainTex).rgb;
		o.Normal =
			UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));
		half rim = 0;
		if (_Switch != 0)
		{
			 rim = 1.0 - saturate(dot(normalize(IN.viewDir), o.Normal));
		}
		
		

		
		
		//saturate
		//限制值于[0,1]之间
			o.Emission = _RimColor.rgb * pow(rim, _RimPower);
	}
	ENDCG
	}

		Fallback "Diffuse"
}

【Shader】人物选中高亮状态

原文:http://www.cnblogs.com/jhcelue/p/7289999.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!