참고자료 셈플프로젝트+설명

http://ozlael.tistory.com/31

 

- Parts Color Shader -

이런 식으로 팀 구분 컬러로 사용 가능함,

 

RGB텍스처에 남는 알파 채널을 이용해 색을 변경함.

 

텍스처를 포토샵으로 열어보면 알파채널에 색을 변경할 부위가 정해져 있다.

정해진 부분을 쉐이더로 선택한 색으로 변경 해준다.

하지만 이 방법은 알파 채널밖에 변경이 불가능해 단색밖에 안된다.

그렇다면 여러 색을 변경하고 싶다면? 마스크 텍스처를 넣으면 된다.

마스크 텍스처는 RGBA채널 색을 넣어서 변경할 수 있게 해주면 사용자는 4가지 색을 바꿀 수 있다.

 

메인 RGB텍스처는 그냥 사용하고 마스크 텍스처 RGBA채널들을 사용해 4개 색 사용 가능 변경하고 싶은 그림 위치에 색을 넣으면 됨.

 

- 쉐이더 코드 -

 

 

d.a = 1-d.a; 알파값을 반전 시키고

d.rgb = saturate(d.rgb - d.a); saturate = -가 되면 절삭 하고 0~1로 나오게 해줌.

float sum =  d.r+d.g+d.b+d.a; 정규화를 위한 값.

 

lerp(from, to, 현재)

그냥 sum을안 나누고 현재 r값 g값 b값 a값 넣어도 됨.

근데 마스크 텍스처 색상에 RPG로 딱 돼 있는 게 아니고 혼합된 색이 있으면 검은색으로 그려짐.

r,g,b,a를 정규화해주면 보간된 색이 나온다.

 

정규화해주지 않으면

검은색으로 표현되어 버림.

 

정규화해주면

노란색으로 표현됨.

끝.

 

결과 동영상.

 

반응형