12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 4478|回复: 12
打印 上一主题 下一主题

[Shaders] 边缘高光shader

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-7-31 21:12:31 |只看该作者 |倒序浏览

感觉一个游戏要想做的绚丽多彩,让人一看就觉得很高档的样子。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
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

115

主题

3

听众

5676

积分

高级设计师

Rank: 6Rank: 6

纳金币
7268
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-7-31 22:06:01 |只看该作者

Thanks for sharing this one!
回复

使用道具 举报

hyui    

1

主题

2

听众

6671

积分

高级设计师

Rank: 6Rank: 6

纳金币
2715
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2014-7-31 22:14:08 |只看该作者
Thanks for sharing this !
回复

使用道具 举报

16

主题

1

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
3
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2014-8-1 11:06:23 |只看该作者
很有用的shader, 多谢!
回复

使用道具 举报

0

主题

1

听众

461

积分

设计实习生

Rank: 2

纳金币
10
精华
0

最佳新人

5#
发表于 2014-8-1 11:50:19 |只看该作者
有示例图就好了,嘿嘿
回复

使用道具 举报

ku 智囊团   

89

主题

2

听众

5万

积分

首席设计师

Rank: 8Rank: 8

纳金币
25
精华
1

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2014-8-1 12:01:55 |只看该作者
我试了一下,根本没有效果
回复

使用道具 举报

0

主题

1

听众

512

积分

初级设计师

Rank: 3Rank: 3

纳金币
63
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2014-8-6 17:55:56 |只看该作者
Thanks for sharing this !
回复

使用道具 举报

1

主题

1

听众

743

积分

初级设计师

Rank: 3Rank: 3

纳金币
105
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2014-12-26 15:32:28 |只看该作者
不错哟,学习下也是好的。
回复

使用道具 举报

0

主题

1

听众

70

积分

设计初学者

Rank: 1

纳金币
0
精华
0
9#
发表于 2015-1-12 16:32:03 |只看该作者
感谢分享!!!
回复

使用道具 举报

0

主题

1

听众

939

积分

初级设计师

Rank: 3Rank: 3

纳金币
330
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

10#
发表于 2015-1-16 14:26:53 |只看该作者
谢谢楼主的分享                     
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-28 20:48 , Processed in 0.097840 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部