Как прописать полупрозрачность в шейдере
Добавлено: 17 апр 2018, 15:23
Написал код который передает альфа канал цвета в альфа шейдера ; В итоге объект становится прозрачным но появилась другая проблема - объекты находящиеся сзади теперь отображаются поверх "полупрозрачного" объекта. Думал это может помочь https://docs.unity3d.com/ru/520/Manual/SL-Blend.html но так и не понял как с этим работать ; Помогите с кодингом шейдеров ранее не сталкивался
Синтаксис:
Используется csharp
Shader "Custom/Px1" {
Properties {
_Col ("_ColorAmb", Color) = (1,1,1,1)
}
SubShader {
Tags { "RenderType"="Opaque" }
Pass {
#pragma surface surf BlinnPhong alpha
CGPROGRAM
struct Input
{
float4 color : COLOR;
};
fixed4 _Col;
void surf (Input IN, inout SurfaceOutput o)
{
o.Albedo = _Col.rgb;
o.Alpha = _Col.a;
}
ENDCG
}
}
}
Properties {
_Col ("_ColorAmb", Color) = (1,1,1,1)
}
SubShader {
Tags { "RenderType"="Opaque" }
Pass {
#pragma surface surf BlinnPhong alpha
CGPROGRAM
struct Input
{
float4 color : COLOR;
};
fixed4 _Col;
void surf (Input IN, inout SurfaceOutput o)
{
o.Albedo = _Col.rgb;
o.Alpha = _Col.a;
}
ENDCG
}
}
}