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

Unity中Shader的混合模式Blend

這篇具有很好參考價值的文章主要介紹了Unity中Shader的混合模式Blend。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

Unity中Shader的混合模式Blend


一、混合的作用就是實現(xiàn)各種半透明效果

這里用PS里的混合作為例子

沒選擇混合效果前,顯示的效果是這樣
unity blend,Unity,unity,游戲引擎

選擇了混合效果后,顯示的效果就是這樣
unity blend,Unity,unity,游戲引擎

二、混合操作

unity blend,Unity,unity,游戲引擎

之前代碼中寫的 Blend one one

第一個 one 代表源顏色
第二個 one 代表目標顏色
BlendOP默認是 + (Add)

混合因子
One:源或目標的完整值
Zero:0
SrcColor:源的顏色值
SrcAlpha:源的Alpha值
DstColor:目標的顏色值
DstAlpha:目標的Alpha值
OneMinusSrcColor:1-源顏色得到的值
OneMinusSrcAlpha:1-源Alpha得到的值
OneMinusDstColor:1-目標顏色得到的值
OneMinusDstAlpha:1-目標Alpha得到的值

常用的幾種混合類型
Blend SrcAlpha OneMinusSrcAlpha// Traditional transparency
Blend One OneMinusSrcAlpha// Premultiplied transparency
Blend One One
Blend OneMinusDstColor One // Soft Additive
Blend DstColor Zero // Multiplicative
Blend DstColor SrcColor // 2x Multiplicative

常用的混合操作符有:
Add:源+目標
Sub:源-目標
RevSub:目標-源
Min:源與目標中最小值
Max:源與目標中最大值

隨便拿一個混合模式測試一下
Blend SrcAlpha OneMinusSrcAlpha

unity blend,Unity,unity,游戲引擎

三、在 Shader 中暴露兩個屬性 來調節(jié) 混合的效果

暴露的兩個屬性分別代表:源混合模式 和 目標混合模式
//源混合類型
[Enum(UnityEngine.Rendering.BlendMode)]
_SrcBlend(“Src Blend”,int) = 0
//目標混合類型
[Enum(UnityEngine.Rendering.BlendMode)]
_DstBlend(“DstBlend”,int) = 0

測試代碼

Shader "MyShader/P0_9_3"
{
    Properties
    
    {
        //暴露兩個屬性,分別對應 源混合類型 和 目標混合類型

        //源混合類型
        [Enum(UnityEngine.Rendering.BlendMode)]
        _SrcBlend("Src Blend",int) = 0
        //目標混合類型
        [Enum(UnityEngine.Rendering.BlendMode)]
        _DstBlend("DstBlend",int) = 0

        _MainTex ("Texture", 2D) = "white" {}
    }
    SubShader
    {
        Tags{"Queue" = "Transparent"}

        //混合
        Blend [_SrcBlend][_DstBlend]
        
        

        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #include "UnityCG.cginc"
            
            sampler2D _MainTex;
            float4 _MainTex_ST;
            int _SrcBlend;
            int _DstBlend;
            
            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                UNITY_FOG_COORDS(1)
                float4 vertex : SV_POSITION;
            };

           

            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 blend,Unity,unity,游戲引擎文章來源地址http://www.zghlxwxcb.cn/news/detail-851964.html

到了這里,關于Unity中Shader的混合模式Blend的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

  • 十八、Unity游戲引擎入門

    十八、Unity游戲引擎入門

    1、下載 ?? ?首先需要下載Unity Hub,下載網址:https://unity.com/cn。 ?? ?然后在其中下載Unity編輯器并安裝,可選擇最新版本。 ?? ?接著需要選擇適合的開發(fā)環(huán)境,例如Android Studio或Xcode,以便進行手機游戲開發(fā)。在安裝完Unity后,需要根據項目需求下載對應的模塊和插件,例

    2024年02月16日
    瀏覽(117)
  • 【游戲開發(fā)小技】Unity通過UI全屏圖來模糊場景畫面(Shader | 模糊 | 濾鏡 | Blur)

    【游戲開發(fā)小技】Unity通過UI全屏圖來模糊場景畫面(Shader | 模糊 | 濾鏡 | Blur)

    一、前言 嗨,大家好,我是新發(fā)。 以前我寫文章都是很長很長,接下來我會嘗試用新的方式來寫博客,盡量簡短,以實用為主。同時也是作為自己零碎的一些記錄,方便查閱。 本文我要說的是在 Unity 中通過 UI 全屏圖來模糊場景畫面的效果。 二、效果演示 這是沒用模糊效果

    2024年02月05日
    瀏覽(22)
  • 【unity實踐記錄】動畫層的順序和混合模式Override/Additive

    【unity實踐記錄】動畫層的順序和混合模式Override/Additive

    手冊上關于 層順序 的介紹基本沒有,只是一個不明所以的QA一帶而過: 層的排序是否重要? 是的。層的優(yōu)先級是按順序從上到下的。層設置為? override ?將始終覆蓋先前的層(如果層有遮罩,則基于其遮罩)。 基礎層的權重值是否應始終設置為 1?或者在使用其他層時權重

    2024年02月04日
    瀏覽(17)
  • 使用團結引擎開發(fā)Unity 3D射擊游戲

    使用團結引擎開發(fā)Unity 3D射擊游戲

    ? ? ? ?本案例是初級案例,意在引導想使用unity的初級開發(fā)者能較快的入門,體驗unity開發(fā)的方便性和簡易性能。 ? ? ? 本次我們將使用團結引擎進行開發(fā),幫助想體驗團結引擎的入門開發(fā)者進行較快的環(huán)境熟悉。 ? ? ?本游戲是一個俯視角度的射擊游戲。主角始終位于屏幕

    2024年01月19日
    瀏覽(110)
  • unity - Blend Shape - 變形器 - 實踐

    unity - Blend Shape - 變形器 - 實踐

    拾遺,備份 blend shape 基于: vertex number, vertex sn 相同,才能正常混合、播放 也就是 vertex buffer 的頂點數量一樣,還有 triangles 的 index 要一致 這樣 blend shape 才能逐個頂點計算 計算公式:使用一張大佬整理的圖,大佬的文章:BlendShapes基礎與拓展練習(面捕與物體變形) Shift

    2024年04月14日
    瀏覽(15)
  • Unity、UE、Cocos游戲開發(fā)引擎的區(qū)別

    Unity、Unreal Engine(UE)和Cocos引擎是三個常用的游戲開發(fā)引擎,它們在功能和特性上有一些區(qū)別。以下是它們之間的主要區(qū)別: 編程語言:Unity使用C#作為主要的編程語言,開發(fā)者可以使用C#腳本進行游戲邏輯編寫。Unreal Engine主要使用C++作為編程語言,但也支持藍圖系統(tǒng),允許

    2024年02月22日
    瀏覽(99)
  • Unity vs Godot :哪個游戲引擎更適合你?

    Unity vs Godot :哪個游戲引擎更適合你?

    游戲引擎的選擇對開發(fā)過程和最終產品質量有著重大影響。近年來,Godot和Unity這兩款引擎受到廣泛關注。本文將從多個維度對兩者進行比較,以期為開發(fā)者提供正確的選擇建議。 Godot和Unity都有各自的優(yōu)勢,沒有絕對的好壞之分。Godot開源免費,上手簡單,更適合2D和小型游戲

    2024年01月23日
    瀏覽(106)
  • 30分鐘了解所有引擎組件,132個Unity 游戲引擎組件速通!【收藏 == 學會】

    30分鐘了解所有引擎組件,132個Unity 游戲引擎組件速通!【收藏 == 學會】

    ?? 博客主頁:https://xiaoy.blog.csdn.net ?? 本文由 呆呆敲代碼的小Y 原創(chuàng),首發(fā)于 CSDN ?? ?? 學習專欄推薦:Unity系統(tǒng)學習專欄 ?? 游戲制作專欄推薦:游戲制作 ??Unity實戰(zhàn)100例專欄推薦:Unity 實戰(zhàn)100例 教程 ?? 歡迎點贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正! ?? 未來很長

    2024年02月11日
    瀏覽(130)
  • Unity Physics2D 2d物理引擎游戲 筆記

    Unity Physics2D 2d物理引擎游戲 筆記

    2d 材質 里面可以設置 摩擦力 和 彈力 Simulated:是否在當前的物理環(huán)境中模擬,取消勾選該框類似于Disable Rigidbody,但使用這個參數更加高效,因為Disable會銷毀內部產生的GameObject,而取消勾選Simulated只是禁用。 Kinematic 動力學剛體 動力學剛體不受重力和力的影響,而受用戶的

    2023年04月24日
    瀏覽(92)
  • Unity和UE4兩大游戲引擎,你該如何選擇?

    Unity和UE4兩大游戲引擎,你該如何選擇?

    目錄 游戲引擎 2 —— 難易區(qū)別 編程語言 3 —— 游戲產品 UE4制作的游戲產品? Unity制作的游戲產品? 產品類型 5 —— 資源商店 6 —— 人才需求 平均薪資 總結 ?????Unity和UE4都是游戲引擎,所謂游戲引擎就是集成了復雜功能的游戲開發(fā)軟件,他們幫我們實現(xiàn)了復雜的底層邏

    2023年04月08日
    瀏覽(95)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包