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

Самый простой шейдер

СообщениеДобавлено: 15 ноя 2019, 12:50
denprox
Доброго времени суток! Подскажите, как в данном примере добавить возможность изменять цвет :

Синтаксис:
Используется csharp
Shader "Custom/Backobject" {
        Properties
        {
                _Color("Main Color", Color) = (1,1,1,1)
        }

        SubShader{
                Pass{
                        Stencil{
                                Ref 1
                                Comp Equal
                        }
                }
        }
        //Fallback "Diffuse"
}
 

Re: Самый простой шейдер

СообщениеДобавлено: 15 ноя 2019, 15:33
denprox
Делаю так, но тогда не выполняются параметры Stencil

Синтаксис:
Используется csharp
Shader "Custom/Backobj_2" {
        Properties
        {
                _Color("Main Color", Color) = (1,0.5,0.5,1)
        }
                SubShader{
                        Pass{
                        Stencil{

                        Ref 1
                        Comp Equal
                }
                        Tags{ "RenderType" = "Opaque" }
                        LOD 200
                }
                                CGPROGRAM
                                #pragma surface surf Standard fullforwardshadows

                                #pragma target 3.0

                        struct Input
                        {
                                float4 color : COLOR;
                        };

                        fixed4 _Color;

                        void surf(Input IN, inout SurfaceOutputStandard o)
                        {
                                fixed4 c = _Color;
                                o.Albedo = c.rgb;
                        }
                       
                        ENDCG
        }
                //Fallback "Diffuse"
}
 

Re: Самый простой шейдер

СообщениеДобавлено: 12 дек 2019, 07:27
jetyb
1. Попробовать перенести блок
Stencil
в блок SubShader (где стоит #pragma surface surf). Сейчас он в другом блоке Pass.
2. Если не сработает, то создать Unlit shader с 1 блоком Pass и туда вставить блок Stencil.