Страница 1 из 1

Sepia

СообщениеДобавлено: 05 ноя 2010, 06:07
gnoblin
Sepia (эффект старой пленки? :) )
speia.jpg


Синтаксис:
Используется glsl
Shader "Sepia" {
        Properties {
                _MainTex ("Base (RGB)", 2D) = "white" {}
        }
        SubShader {
                Tags { "RenderType"="Opaque" }
                LOD 200
               
                CGPROGRAM
                #pragma surface surf Lambert

                sampler2D _MainTex;

                struct Input {
                        float2 uv_MainTex;
                };

                void surf (Input IN, inout SurfaceOutput o) {
                        half4 c = tex2D (_MainTex, IN.uv_MainTex);
                       
                        float3 IntensityConverter = float3(0.299, 0.587, 0.114);
                        float Y = dot(IntensityConverter, c.rgb);
                       
                        float3 sepiaConvert = float3(0.191, -0.054,-0.221);
                        c.rgb = float3(Y, Y, Y) + sepiaConvert;

                       
                        o.Albedo = c.rgb;
                        o.Alpha = c.a;
                }
                ENDCG
        }
        FallBack "Diffuse"
}
 

Re: Sepia

СообщениеДобавлено: 05 ноя 2010, 14:13
bgeyts667
Так ведь в третьей юнити есть среди image effect-ов скрипт sepia. А если надо этот цвет для конкретного объекта - можно отрегулировать main color в diffuse шейдере.

Re: Sepia

СообщениеДобавлено: 05 ноя 2010, 14:29
gnoblin
Ага, есть.

+ изменение мейнколора это не совсем то что делает этот шейдер.