最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Unity Shader實現(xiàn)動態(tài)過場切換圖片效果

 更新時間:2021年07月27日 11:43:51   作者:仙魁XAN  
這篇文章主要為大家詳細(xì)介紹了Unity Shader實現(xiàn)動態(tài)過場切換圖片效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Unity Shader實現(xiàn)動態(tài)過場切換圖片的具體代碼,供大家參考,具體內(nèi)容如下

一、簡單介紹

Shader Language的發(fā)展方向是設(shè)計出在便攜性方面可以和C++、Java等相比的高級語言,“賦予程序員靈活而方便的編程方式”,并“盡可能的控制渲染過程”同時“利用圖形硬件的并行性,提高算法效率”。

本文介紹,如何使用 shader ,動態(tài)過場形式切換圖片的一點簡單效果。

二、實現(xiàn)原理

1、通過時間疊加判斷,當(dāng) 值小于 主圖 uv 的時候,進(jìn)行切換圖的渲染

// 過場切換的位置
float curPos = _Time.y*_Speed;
 
if(curPos < i.uv.x){
 col = tex2D(_CutTex,i.uv);
}

三、注意事項

1、 當(dāng)小于 x,渲染_CutTex(開始都是小于 x的,開始渲染_CutTex), 隨著時間變化,切換為 _MainTex

四、效果預(yù)覽

五、實現(xiàn)步驟

1、打開Unity,新建一個工程

2、導(dǎo)入素材,和新建shader,并對應(yīng)新建材質(zhì)

3、編寫好shader,把材質(zhì)對應(yīng)賦值

4、場景中添加一個 Quad ,并把材質(zhì)賦給Quad,用來顯示

5、運(yùn)行場景,效果如上

六、關(guān)鍵代碼

Shader "Unlit/CutEffect"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
  _CutTex("Cut Tex",2D)="white"{}
 
  // 切換速度
  _Speed("speed",Range(-1,1))=0.2
 
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        LOD 100
 
        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;
   sampler2D _CutTex;
   float _Speed;
 
            v2f vert (appdata v)
            {
                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = v.uv;
  
                return o;
            }
 
            fixed4 frag (v2f i) : SV_Target
            {
                // sample the texture
                fixed4 col = tex2D(_MainTex,i.uv);
                
 
    // 過場切換的位置
    float curPos = _Time.y*_Speed;
    // 當(dāng)小于 x,渲染_CutTex(開始都是小于 x的,開始渲染_CutTex), 
    // 隨著事件變化,切換為 _MainTex
    if(curPos < i.uv.x){
     col = tex2D(_CutTex,i.uv);
    }
    
 
                return col;
            }
            ENDCG
        }
    }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

平度市| 永昌县| 海原县| 乌兰浩特市| 营山县| 英超| 呼伦贝尔市| 灵台县| 醴陵市| 凤凰县| 新兴县| 许昌市| 江陵县| 武平县| 嵊泗县| 中西区| 岳普湖县| 莱阳市| 应城市| 伊吾县| 海阳市| 旺苍县| 柏乡县| 上蔡县| 新安县| 金昌市| 霸州市| 即墨市| 吐鲁番市| 盐城市| 桑植县| 霸州市| 阜宁县| 全南县| 郁南县| 福海县| 河津市| 牡丹江市| 衡水市| 岚皋县| 比如县|