ユニティシェーダ熱変形(リアスクリーン処理)

 

効果:

 

 

 

C#の

使用してシステムを。
使用にSystem.Collectionsを。
使用してSystem.Collections.Genericを。
使用してUnityEngineを。

// 编辑模式可见
[ExecuteInEditMode]
 パブリック クラスTestImageEffect:MonoBehaviour 
{ 
    公共素材EffectMaterial。
    
    // 最初のフレームを更新する前にスタートが呼び出され
    、ボイドスタート()
    { 
        
    } 

    // 更新をフレームごとに一度と呼ばれる
    ボイドアップデート()
    { 
        
    } 

    プライベート 無効OnRenderImage(RenderTexture SRC、RenderTexture DEST)
    {
        Graphics.Blit(SRC、DEST、EffectMaterial)。
    } 
}

 

 

シェーダ

テンプレート画像効果を使用します

シェーダ" カスタム/ TestImageEffectShader " 
{ 
    プロパティ
    { 
        _MainTex(" テクスチャ"、2D)= " " {} 
        _DisplaceTex(" 変位"、2D)= " " {} // 噪点图 
        _Magnitude(" 大きさ"、範囲(00.1))= 1 // 偏移强度 
        _Strength(" "、範囲( 01))= 1 // 流动速度
    } 
    SubShader 
    { 
        // なしカリングまたは深
        カルオフZWRITEオフZTEST常に

        パス
        { 
            CGPROGRAM 
            の#pragma頂点VERT
             の#pragmaフラグメントフラグ・

            の#include " UnityCG.cginc " 

            構造体APPDATA 
            { 
                するfloat4頂点:POSITION。
                するfloat2 UV:TEXCOORD0。
            }。

            構造体V2F 
            {  
                するfloat2 UV:TEXCOORD0。
                するfloat4頂点:SV_POSITION。
            }; 

            V2Fヴェール(のAppData V)
            { 
                V2F O; 
                o.vertex = UnityObjectToClipPos(v.vertex); 
                o.uv = v.uv;
                 戻りO; 
            } 

            sampler2D _MainTex; 
            sampler2D _DisplaceTex; 
            フロート_Magnitude;
             フロート_Strength; 

            fixed4 FRAG( I V2F):SV_Target 
            {                 
                // テクスチャサンプリング、XY; i.uv - _Time.xyが流れを感知するように 
                するfloat2 DISP = tex2D(_DisplaceTex、i.uv - _Time.xy * _Strength).xyという形式;
                 // 0-1の範囲でDISPは、この操作は、になるため-1 1パラメータを乗じて許容される 
                DISP =((DISP * 2) - 1)* _Magnitude;
                 // UVシフト座標 
                tex2D COL =(_MainTex、i.uv +のfloat4 ; DISP)
                 戻りCOLを; 
            } 
            ENDCG 
        } 
    } 
}

 

雑音指数

 

おすすめ

転載: www.cnblogs.com/sanyejun/p/11601048.html