国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity用Shader實現(xiàn)邊緣光效果

這篇具有很好參考價值的文章主要介紹了Unity用Shader實現(xiàn)邊緣光效果。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

《自學(xué)記錄》

1、先創(chuàng)建一個Cube,再創(chuàng)建兩個材質(zhì)球Cube、Unilt

2、再創(chuàng)建一個shader代碼UniltShader【Project右鍵Create->Shader->NewSurfaceShader】把里面原來的代碼刪除,寫入下面的代碼

Shader "Custom/highlight "{
    //屬性  
    Properties{
        _Diffuse("Diffuse", Color) = (1,1,1,1)
        _OutlineCol("OutlineCol", Color) = (1,0,0,1)
        _OutlineFactor("OutlineFactor", Range(0,1)) = 0.1
        _MainTex("Base 2D", 2D) = "white"{}
    }

        //子著色器    
        SubShader
    {

        //描邊使用兩個Pass,第一個pass沿法線擠出一點,只輸出描邊的顏色  
        Pass
        {
            //剔除正面,只渲染背面,對于大多數(shù)模型適用,不過如果需要背面的,就有問題了  
            Cull Front

            CGPROGRAM
            #include "UnityCG.cginc"  
            fixed4 _OutlineCol;
            float _OutlineFactor;

            struct v2f
            {
                float4 pos : SV_POSITION;
            };

            v2f vert(appdata_full v)
            {
                v2f o;
                //在vertex階段,每個頂點按照法線的方向偏移一部分,不過這種會造成近大遠(yuǎn)小的透視問題  
                //v.vertex.xyz += v.normal * _OutlineFactor;  
                o.pos = UnityObjectToClipPos(v.vertex);
                //將法線方向轉(zhuǎn)換到視空間  
                float3 vnormal = mul((float3x3)UNITY_MATRIX_IT_MV, v.normal);
                //將視空間法線xy坐標(biāo)轉(zhuǎn)化到投影空間,只有xy需要,z深度不需要了  
                float2 offset = TransformViewToProjection(vnormal.xy);
                //在最終投影階段輸出進(jìn)行偏移操作  
                o.pos.xy += offset * _OutlineFactor;
                return o;
            }

            fixed4 frag(v2f i) : SV_Target
            {
                //這個Pass直接輸出描邊顏色  
                return _OutlineCol;
            }

                //使用vert函數(shù)和frag函數(shù)  
                #pragma vertex vert  
                #pragma fragment frag  
                ENDCG
            }
    }
        //前面的Shader失效的話,使用默認(rèn)的Diffuse  
                FallBack "Diffuse"
}

3、把shader?UniltShader拖給材質(zhì)球Unilt

unity 外發(fā)光shader,unity,Powered by 金山文檔

4、把Cube的Mesh?Renderer中Materials的Size改為2,然后把材質(zhì)球Cube、Unilt分別拖到Element0和Element1中,如下圖

unity 外發(fā)光shader,unity,Powered by 金山文檔

自己修改想要的邊緣顏色(修改Unilt)

最終效果文章來源地址http://www.zghlxwxcb.cn/news/detail-720254.html

unity 外發(fā)光shader,unity,Powered by 金山文檔

到了這里,關(guān)于Unity用Shader實現(xiàn)邊緣光效果的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【unity實戰(zhàn)】使用shader和shader Graph實現(xiàn)2d圖片描邊效果(附源碼)

    【unity實戰(zhàn)】使用shader和shader Graph實現(xiàn)2d圖片描邊效果(附源碼)

    最近在學(xué)習(xí)shader Graph相關(guān)內(nèi)容,其實關(guān)于實現(xiàn)2d圖片描邊效果,網(wǎng)上可以看到很多教程,但是我發(fā)現(xiàn)大多數(shù)都是基于比較老舊的2018unity版本,可是我們實際開發(fā)使用可能是比較新的2021及以上版本,差別還是有的,實際在升級或者使用過程中,會遇到諸多問題,而且也很少有人

    2024年02月16日
    瀏覽(98)
  • Unity中Shader抓取屏幕并實現(xiàn)扭曲效果(優(yōu)化)

    Unity中Shader抓取屏幕并實現(xiàn)扭曲效果(優(yōu)化)

    對上一篇中實現(xiàn)的shader進(jìn)行優(yōu)化 1、定義結(jié)構(gòu)體用于傳入頂點坐標(biāo)系 struct appdata { float4 vertex : POSITION; //從應(yīng)用程序階段的輸入,多加一個uv,用于對扭曲紋理的采樣 float2 uv : TEXCOORD; }; 2、因為UnityObjectToClipPos是從本地空間轉(zhuǎn)換到裁剪空間,但是沒有進(jìn)行透視除法,所以需要對其

    2024年02月03日
    瀏覽(24)
  • Unity Shader學(xué)習(xí)記錄(11) ——透明效果的實現(xiàn)方式

    Unity Shader學(xué)習(xí)記錄(11) ——透明效果的實現(xiàn)方式

    1 透明效果的兩種方法 透明是游戲中經(jīng)常要使用的一種效果。在實時渲染中要實現(xiàn)透明效果,通常會在渲染模型時控制它的透明通道(Alpha Channel)。當(dāng)開啟透明混合后,當(dāng)一個物體被渲染到屏幕上時,每個片元除了顏色值和深度值之外,它還有另一個屬性一一透明度。 當(dāng)透明度

    2024年02月07日
    瀏覽(24)
  • unity shader 入門 全透明與半透明效果實現(xiàn)

    unity shader 入門 全透明與半透明效果實現(xiàn)

    片元函數(shù)的fixed4類型的返回值的第4位即為阿爾法值,0代表完全不顯示(透明),1代表完全顯示。中間的數(shù)值代表半透明。但只修改這個值是不能直接修改透明度的,因為還要對隊列等進(jìn)行修改。 本文介紹透明度測試與透明度混合,前者只能制作全透明效果,后者可制作半透明

    2024年02月14日
    瀏覽(24)
  • 【實現(xiàn)100個unity特效之2】使用shader和shader Graph實現(xiàn)2d圖片描邊效果(附源碼)

    【實現(xiàn)100個unity特效之2】使用shader和shader Graph實現(xiàn)2d圖片描邊效果(附源碼)

    最近在學(xué)習(xí)shader Graph相關(guān)內(nèi)容,其實關(guān)于實現(xiàn)2d圖片描邊效果,網(wǎng)上可以看到很多教程,但是我發(fā)現(xiàn)大多數(shù)都是基于比較老舊的2018unity版本,可是我們實際開發(fā)使用可能是比較新的2021及以上版本,差別還是有的,實際在升級或者使用過程中,會遇到諸多問題,而且也很少有人

    2024年01月21日
    瀏覽(96)
  • 【實現(xiàn)100個unity特效】shader實現(xiàn)3D物品閃光和描邊效果

    【實現(xiàn)100個unity特效】shader實現(xiàn)3D物品閃光和描邊效果

    線狀映射圖片 配置,按該shader新增材質(zhì) Outline Width控制描邊 Line Speed控制閃光速度 當(dāng)然,還可以修改對應(yīng)的顏色 效果演示 贈人玫瑰,手有余香!如果文章內(nèi)容對你有所幫助,請不要吝嗇你的 點贊評論和關(guān)注 ,以便我第一時間收到反饋,你的每一次 支持 都是我不斷創(chuàng)作的最

    2024年01月25日
    瀏覽(92)
  • 【unity插件】Shader實現(xiàn)UGUI的特效——UIEffect為 Unity UI 提供視覺效果組件

    【unity插件】Shader實現(xiàn)UGUI的特效——UIEffect為 Unity UI 提供視覺效果組件

    一般的shader無法直接使用在UI上,需要在shader中定義特定的面板參數(shù),今天就來推薦github上大佬做的一套開源的一系列UGUI,Shader實現(xiàn)的特效——UIEffect 為 Unity UI 提供視覺效果組件。 https://github.com/Ankh4396/UIEffect 讓我們用效果來裝飾你的UI!您可以根據(jù)需要從腳本和檢查器中控

    2024年02月04日
    瀏覽(60)
  • Unity Shader學(xué)習(xí)3:透明效果

    Unity Shader學(xué)習(xí)3:透明效果

    Unity中的透明效果由透明通道控制(RGBA中的A),其值為0是完全透明,為1時完全不透明。有兩種方法可以實現(xiàn)透明效果: 透明度測試(Alpha Test) 和 透明度混合(Alpha Blend) 。 透明度測試是指通過特定的條件(通常是Alpha通道的值是否超過某個閾值)來判斷片元是否透明,只

    2024年01月19日
    瀏覽(84)
  • Unity Shader入門精要學(xué)習(xí)——透明效果

    Unity Shader入門精要學(xué)習(xí)——透明效果

    要么完全透明,要么完全不透明。 實現(xiàn)簡單,實質(zhì)上是一種剔除機制,通過將不滿足條件(通常使用小于某個閾值來判定,一般使用clip方法)的片元舍棄的方法來達(dá)到完全透明效果。這些被舍棄的片元不會再進(jìn)行任何的處理,也不會對顏色緩沖產(chǎn)生任何影響,其余滿足條件

    2024年02月17日
    瀏覽(22)
  • 學(xué)習(xí)100個Unity Shader (14) ---透明效果

    學(xué)習(xí)100個Unity Shader (14) ---透明效果

    由”Queue“ 標(biāo)簽決定,索引號越小越早被渲染: 名稱 隊列索引號 Background 1000 Geometry 2000 AlphaTest 2450 Transparent 3000 Overlay 4000 某一片元的透明度小于某個閾值,即被舍棄,反之,按非透明物體處理,進(jìn)行正常的深度測試和深度寫入【不需要關(guān)閉深度寫入】。 UnityObjectToClipPos 將頂

    2024年04月29日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包