Unity3D基于几何生成方法的描边效果

本文要实现的内容是一个很常见的描边效果。

现在就可以把这个效果展示出来了。虽然写两个pass,但是可以先实现一个pass,把模型正常的绘制出来即可。

 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// 第一个pass用来渲染正常的模型
    Pass
    {
        CGPROGRAM
        #pragma vertex vert
        #pragma fragment frag
 
        #include "UnityCG.cginc"
 
        struct appdata
        {
            float4 vertex : POSITION;
            float2 uv : TEXCOORD0;
        };
 
        struct v2f
        {
            float2 uv : TEXCOORD0;
            float4 vertex : SV_POSITION;
        };
 
        sampler2D _MainTex;
        float4 _MainTex_ST;
 
        v2f vert (appdata v)
        {
            v2f o;
            o.vertex = UnityObjectToClipPos(v.vertex);
            o.uv = TRANSFORM_TEX(v.uv, _MainTex);
            return o;
        }
 
        fixed4 frag (v2f i) : SV_Target
        {
            fixed4 col = tex2D(_MainTex, i.uv);
            return col;
        }
        ENDCG
实现了一次绘制,所以模型正常的出来了。

然后我们来说说为什么要打开正面剔除,因为没有正面剔除会出现颜色错误的模型现象

就像这样:


学习游戏开发,进入高薪行业!

点击「阅读原文」报名免费课程

号主说

    如果你想详细学习游戏开发,我为你准备了非常详细的教程和学习资料,在本公众号后台回复「教程」,可直接获取下载地址。

  • 《Unity游戏设计与实现-南梦宫》后台回复「设计」下载,

  • 《3D数学基础:图形与游戏开发》后台回复「数学」下载

  • 《游戏改变世界》后台回复回复「改变」下载

  • 《Unity官方案例精讲》后台回复「案例」下载

    更多资料、更多问题请后台详聊小新新。

注:baidu网盘文件总是被删,我重新生成了链接,你们试试,再不行给我后台留言吧,我也很无奈啊~~

Unity3D游戏开发主程,入门游戏开发必备!

↑↑长按二维码关注我