Проблема с маской для спрайта

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

Проблема с маской для спрайта

Сообщение JugadorGL 26 ноя 2017, 20:17

[syntax=][/syntax]Доброе время суток.

Возникла необходимость задействовать маску для спрайта под Андроид. Типа работаем маляром и закрашиваем стену.
Верия юнити 5.4.3. Так надо заказчику.
Нарыл в инете шейдер.
Синтаксис:
  1. Shader "Unlit/PixelColr1" 
  2. Properties 
  3. _MainTex ("Texture", 2D) = "white" {} 
  4. _AddTex ("Texture", 2D) = "white" {} 
  5.  
  6. SubShader 
  7. Tags 
  8. "Queue"="Transparent" 
  9. "IgnoreProjector"="True" 
  10. "RenderType"="Transparent" 
  11. "PreviewType"="Plane" 
  12. "CanUseSpriteAtlas"="True" 
  13.  
  14. Cull Off 
  15. Lighting Off 
  16. ZWrite Off 
  17. Blend SrcAlpha OneMinusSrcAlpha 
  18.  
  19. Pass 
  20. CGPROGRAM 
  21. #pragma vertex vert 
  22. #pragma fragment frag  
  23. #include "UnityCG.cginc" 
  24.  
  25. struct appdata_ 
  26. float4 vertex : POSITION; 
  27. float2 texcoord : TEXCOORD0; 
  28. float2 texcoord1 : TEXCOORD1; 
  29. }; 
  30.  
  31. struct v2f 
  32. float4 vertex : SV_POSITION; 
  33. half2 texcoord : TEXCOORD0; 
  34. half2 texcoord1 : TEXCOORD1; 
  35. }; 
  36.  
  37. v2f vert(appdata_ IN) 
  38. v2f OUT; 
  39. OUT.vertex = mul(UNITY_MATRIX_MVP, IN.vertex); 
  40. OUT.texcoord = IN.texcoord; 
  41. OUT.texcoord1 = IN.texcoord1; 
  42.  
  43. return OUT; 
  44.  
  45. sampler2D _MainTex; 
  46. sampler2D _AddTex; 
  47. fixed4 _Color; 
  48.  
  49. fixed4 frag(v2f IN) : COLOR 
  50. float4 texColor = tex2D( _MainTex, IN.texcoord ); 
  51. float4 texColor2 = tex2D( _AddTex, IN.texcoord1 ); 
  52. texColor = (texColor2.a < 0.1) ? texColor : texColor2; 
  53. return texColor; 
  54. ENDCG 


И вроде всё работало, пока не начал тестировать на различных разрешениях экрана. И тут меня постиг шок. Чем меньше разрешение, тем непредсказуемо работает шейдер. Например на 800-480 вообще ничего не отображается, а на 1024х576 вместо серого получаю чёрный. На 1024х768, уже так как надо. В конце скрина , как должно быть.
Причём даже в самом окне редакторе если камеру редактора удаляю-приближаю, уже начинается такая котовасия.
Помогите плиз, кто с таким сталкивался, куда копать. :-s
Скрин прилагаю:
Скрытый текст:
Изображение
JugadorGL
UNец
 
Сообщения: 35
Зарегистрирован: 27 июн 2010, 00:00

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

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

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


cron