回答編集履歴
2
クリッピングを忘れました。
    
        answer	
    CHANGED
    
    | 
         @@ -70,7 +70,7 @@ 
     | 
|
| 
       70 
70 
     | 
    
         
             
                            overlayColor.rgb = color.rgb < 0.5 ? 2.0 * color.rgb * overlayColor.rgb : 1.0 - 2.0 * (1.0 - color.rgb) * (1.0 - overlayColor.rgb);
         
     | 
| 
       71 
71 
     | 
    
         | 
| 
       72 
72 
     | 
    
         
             
                            //オーバーレイを重ねた後の画像を合成
         
     | 
| 
       73 
     | 
    
         
            -
                            color.rgb = lerp( color.rgb, overlayColor.rgb, overlayColor.a * _OverlayOpacity);
         
     | 
| 
      
 73 
     | 
    
         
            +
                            color.rgb = lerp( color.rgb, overlayColor.rgb, textureColor.a * overlayColor.a * _OverlayOpacity);
         
     | 
| 
       74 
74 
     | 
    
         | 
| 
       75 
75 
     | 
    
         
             
                            return color;
         
     | 
| 
       76 
76 
     | 
    
         
             
                        }
         
     | 
1
使用法の追記
    
        answer	
    CHANGED
    
    | 
         @@ -1,5 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            塗り%とはレイヤースタイルを残して本体の透明度を下げるものみたいですが、そもそもUnityにレイヤースタイルはないので作る必要があります。
         
     | 
| 
       2 
2 
     | 
    
         
             
            他の画像でオーバーレイをかけるものだと下のようなものになると思います。
         
     | 
| 
      
 3 
     | 
    
         
            +
            (Overlay.shaderというファイル名で保存してマテリアルにドラッグ&ドロップしてください。)
         
     | 
| 
       3 
4 
     | 
    
         | 
| 
       4 
5 
     | 
    
         
             
            ```GLSL
         
     | 
| 
       5 
6 
     | 
    
         
             
            Shader "Overlay"
         
     |