Взял за основу FourSplit и хотелось бы чтобы все 4 слоя поддерживали Tiling и Offset. Собственно сам шейдер:
SubShader {
Tags { "RenderType"="Opaque" }
LOD 200
CGPROGRAM
// Physically based Standard lighting model, and enable shadows on all light types
#pragma surface surf Standard
// Use shader model 3.0 target, to get nicer looking lighting
#pragma target 2.0
sampler2D _TileTextureR;
sampler2D _TileTextureG;
sampler2D _TileTextureB;
sampler2D _TileTextureA;
sampler2D _BlendTex;
struct Input {
float2 uv_TileTextureR;
float2 uv_TileTextureG;
float2 uv_TileTextureB;
float2 uv_TileTextureA;
float2 uv_BlendTex;
};
void surf (Input IN, inout SurfaceOutputStandard o)
{
fixed4 blend = tex2D(_BlendTex, IN.uv_BlendTex);
fixed4 c =
tex2D(_TileTextureR, IN.uv_TileTextureR) * blend.r +
tex2D(_TileTextureG, IN.uv_TileTextureG) * blend.g +
tex2D(_TileTextureB, IN.uv_TileTextureB) * blend.b +
tex2D(_TileTextureA, IN.uv_TileTextureB) * abs(1 - blend.a);
o.Albedo = c.rgb;
}
ENDCG
}
Стоит заменить
tex2D(_TileTextureA, IN.uv_TileTextureB) * abs(1 - blend.a);
на
tex2D(_TileTextureA, IN.uv_TileTextureA) * abs(1 - blend.a);
Выходит ошибка:
"Too many texture interpolations ... (11 out of max 10)"
В шейдерах не силен, что в коде нужно исправить, чтобы обойти это ограничение?