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

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

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

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

一、簡單介紹

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

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

二、實(shí)現(xiàn)原理

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

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

三、注意事項(xiàng)

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

四、效果預(yù)覽

五、實(shí)現(xiàn)步驟

1、打開Unity,新建一個(gè)工程

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

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

4、場景中添加一個(gè) 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)文章

最新評論

舞阳县| 酒泉市| 元江| 时尚| 巍山| 北碚区| 阜新市| 普陀区| 新竹县| 泽库县| 禹州市| 秦安县| 娄底市| 博客| 海阳市| 神池县| 安阳市| 措勤县| 岱山县| 修文县| 麻栗坡县| 新乡县| 东乡族自治县| 和龙市| 威信县| 韶关市| 阳东县| 竹溪县| 章丘市| 偃师市| 上饶市| 汪清县| 华池县| 理塘县| 泰顺县| 论坛| 丹巴县| 无为县| 陇南市| 四平市| 巴东县|