Shader 섹션 41Image 구성 요소의 색상 변경에 해당되는 Shader
쉐더를 할 시간이 얼마 안 남았어요.
하마터면 Shader를 할 뻔했다.쉐더를 할 시간이 많지 않을 것 같아서요.
100부까지 열심히 하겠습니다.10년이 걸려도 돼요.
100편의 글을 배웠다면 초보자라도 이해할 수 있을 것 같아요.
이렇게 하는 거야.
※ 초보자는 필기 레벨로 기록
기술 보도로는 도움이 안 될 것 같습니다.
미리 준비하다
아래 참조
Shader 파트 1Unite 2017 애니메이션을 볼 때가 많지 않아요. (기초지식~종이 스크레이퍼로 색깔 바꾸기)
데모
우선 문제의 정의다.
Unlit/Texture
Shader용 Material을 준비합니다.그 Material은 Image 어셈블리의 Material에 적용됩니다.
적용 후 Color를 변경하는 것은 다음 GIF입니다.
색깔을 바꿔도 반응이 없다.
Shader에 대해 적절히 기술하면 잘 될 거야.
다음 GIF는 Material만 첨부된 경우와 Sprite만 첨부된 경우를 비교합니다.
소재만 부착된 Image 어셈블리의 Color의 변경 스프릿과 마찬가지로 잘 반영됐다.
Shader 샘플
Shader "Custom/WorkOnImageComponent"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
}
SubShader
{
Tags
{
"RenderType"="Tranparent"
}
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
float4 color : COLOR;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
float4 color : COLOR;
};
sampler2D _MainTex;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
o.color = v.color;
return o;
}
fixed4 frag(v2f i) : SV_Target
{
float4 finalColor = tex2D(_MainTex,i.uv);
//頂点カラーを使用する
float4 vertexColor = i.color;
return finalColor * vertexColor;
}
ENDCG
}
}
}
하는 일은 매우 간단하다. 단지 정점 색깔을 종이 파쇄기에 사용해서 최종 출력의 픽셀과 곱할 뿐이다.Image 어셈블리의 Color가 교점 색상을 변경했습니다.
참조 링크
Access UI Image Color in Shader
Reference
이 문제에 관하여(Shader 섹션 41Image 구성 요소의 색상 변경에 해당되는 Shader), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kento_o/articles/6fb06d0c1f64e5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)