альфа канал, прозрачность материала

Шейдеры и все-все-все.

альфа канал, прозрачность материала

Сообщение egoded 22 окт 2015, 21:42

есть шейдер, он обьеденяет цвета текстуры согласно альфаканалу. При этом сам альфа канал теряется. Как получить тоже самое, но что бы альфа канал влиял на прозрачность материала в самой игре?

Синтаксис:
Используется csharp
Shader "Custom/NewShader" {
        Properties {
                _MainTex ("Base (RGB A-mask)", 2D) = "white" {}
                _SecondTex ("Base (RGB)", 2D) = "white" {}
                _Threshold ("Threshold", Range(0,1))=0.5
        }
        SubShader
        {
                Tags { "RenderType"="Opaque" }
                LOD 200
               
                CGPROGRAM
                #pragma surface surf Lambert

                sampler2D _MainTex;
                sampler2D _SecondTex;
                fixed _Threshold;

                struct Input
                {
                        float2 uv_MainTex;
                };

                void surf (Input IN, inout SurfaceOutput o)
                {
                        fixed4 c = tex2D (_MainTex, IN.uv_MainTex);
                        fixed4 c1 = tex2D (_SecondTex, IN.uv_MainTex);

                        if(c.a>_Threshold) c=c1;

                        o.Albedo = c.rgb;
                        o.Alpha = c.a;
                }
                ENDCG
        }
        FallBack "Diffuse"
}
egoded
UNITрон
 
Сообщения: 313
Зарегистрирован: 14 июл 2012, 08:47

Re: альфа канал, прозрачность материала

Сообщение Paul Siberdt 22 окт 2015, 21:59

Tags { "RenderType"="Opaque" }

Это ни что иное, как маркер о непрозрачности материала. :)

Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
Blend SrcAlpha OneMinusSrcAlpha
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: альфа канал, прозрачность материала

Сообщение egoded 22 окт 2015, 23:00

получилось! спасибо!
egoded
UNITрон
 
Сообщения: 313
Зарегистрирован: 14 июл 2012, 08:47

Re: альфа канал, прозрачность материала

Сообщение egoded 23 окт 2015, 16:01

блин, в Unity3d 5 перестало работать. Хотя на четвёрке всё ок.
egoded
UNITрон
 
Сообщения: 313
Зарегистрирован: 14 июл 2012, 08:47


Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3