纳金网
标题:
边缘高光shader
[打印本页]
作者:
狂风大尉
时间:
2014-7-31 21:12
标题:
边缘高光shader
感觉一个游戏要想做的绚丽多彩,让人一看就觉得很高档的样子。shader的使用不可缺少,下面就与大家分享下这个物体边缘会产生高光效果的shader,本人最近也在学习这方面的知识,希望与各位大牛讨论学习。哈哈。
Shader "Toon/Basic Outline" {
Properties {
_Color ("Main Color", Color) = (.5,.5,.5,1)
_OutlineColor ("Outline Color", Color) = (0,1,0,1)
_Outline ("Outline width", Range (0.005, 0.01)) = .001
_MainTex ("Texture", 2D) = "white" {}
_BumpMap ("Bumpmap", 2D) = "bump" {}
}
CGINCLUDE
#include "UnityCG.cginc"
struct appdata {
float4 vertex : POSITION;
float3 normal : NORMAL;
};
struct v2f {
float4 pos : POSITION;
float4 color : COLOR;
};
uniform float _Outline;
uniform float4 _OutlineColor;
v2f vert(appdata v) {
v2f o;
o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
float3 norm = mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal);
float2 offset = TransformViewToProjection(norm.xy);
o.pos.xy += offset * o.pos.z * _Outline;
o.color = _OutlineColor;
return o;
}
ENDCG
SubShader {
Tags { "RenderType"="Opaque" }
UsePass "Toon/Basic/BASE"
Pass {
Name "OUTLINE"
Tags { "LightMode" = "Always" }
Cull Front
ZWrite On
ColorMask RGB
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
half4 frag(v2f i) :COLOR { return i.color; }
ENDCG
}
}
SubShader {
Tags { "RenderType"="Opaque" }
UsePass "Toon/Basic/BASE"
Pass {
Name "OUTLINE"
Tags { "LightMode" = "Always" }
Cull Front
ZWrite On
ColorMask RGB
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma exclude_renderers shaderonly
ENDCG
SetTexture [_MainTex] { combine primary }
}
}
SubShader {
Tags { "RenderType" = "Opaque" }
CGPROGRAM
#pragma surface surf Lambert
struct Input {
float2 uv_MainTex;
float2 uv_BumpMap;
};
sampler2D _MainTex;
sampler2D _BumpMap;
void surf (Input IN, inout SurfaceOutput o) {
o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;
o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap));
}
ENDCG
}
Fallback "Diffuse"
}
转自:http://blog.sina.com.cn/s/blog_6e08905d0101d5xm.html
作者:
HIDEOKOJIMA
时间:
2014-7-31 22:06
Thanks for sharing this one!
作者:
hyui
时间:
2014-7-31 22:14
Thanks for sharing this !
作者:
我不再年轻
时间:
2014-8-1 11:06
很有用的shader, 多谢!
作者:
bitgold
时间:
2014-8-1 11:50
有示例图就好了,嘿嘿
作者:
ku
时间:
2014-8-1 12:01
我试了一下,根本没有效果
作者:
冰月宫主
时间:
2014-8-6 17:55
Thanks for sharing this !
作者:
humazi
时间:
2014-12-26 15:32
不错哟,学习下也是好的。
作者:
bolemax
时间:
2015-1-12 16:32
感谢分享!!!
作者:
xizhenlong
时间:
2015-1-16 14:26
谢谢楼主的分享
作者:
kikkik7000
时间:
2015-1-18 20:29
Thanks for sharing this !
作者:
蜗牛
时间:
2015-2-3 13:34
Thanks for sharing this !
作者:
eoyanglei
时间:
2015-9-30 13:05
unity自带的包里就有
欢迎光临 纳金网 (http://rs.narkii.com/club/)
Powered by Discuz! X2.5