- C++ 코드카타
- TA 강의 수강
- Ch3 개인 프로젝트
UV를 따로 마스킹을 해서 추출하면 다음과 같은 화면이 나타난다.
(Mask 노드로 특정 값만 빼올 수 있다.)

여기서 R을 마스킹 한 것과 G를 마스킹 한 것에 대한 색상이 같은데, 그 이유는 R->G->B 순서로 레이어가 쌓이기 때문이다.
그리고 자세히 보면 U(R), V(G)의 프리뷰 모습이 조금씩 다르다.
헷갈리면 안되는 점은, Base Color는 Vector3를 받기 때문에 빨간색(float1)만 넣으면 나머지 G, B값도 해당 값으로 들어가서 검/흰 으로 표현된다는 것이다.
이를 활용해서 다음과 같이 응용을 할 수 있다.

첫 번째 Texture Sample이 원본 텍스처이고, Mask(R)을 UV로 넣어주면 가로 방향의 색은 다르고, 세로 방향의 색은 같음을 보여준다.
Mask(G)를 UV로 넣어주면 위에서 언급했듯, 가로 방향의 색은 같고, 세로 방향의 색은 다름을 볼 수 있다.

여기서 유의할 점은, Append의 값이 0.0이 아닌 이유는 Binary Filtering 때문에 맨 윗 픽셀과 맨 아래 픽셀이 섞이는 현상이 생겨서 이를 방지하고자 한 것이며, 사실상 0.0이라 생각하고 접근하면 된다.
또한 Append된 위치에 따라서 같은 마스킹 값이라도 다른 결과가 나올 수 있음을 생각해야 한다.
위에서는 float1 값이 A에 들어갔지만, 아래에서는 float1 값이 B에 들어가서 가로 줄에 있는 텍스처가 Mask(G)의 패턴을 따라감을 볼 수 있다.

또 다른 응용으로 다음 화면을 볼 수 있다.

왜 절반이 밀린걸까? 내용을 천천히 따라가보면
그림으로 표현하면 다음과 같이 요약된다.

이제, Texture 값을 Texture UV로 활용한 예시를 보자.

이번에는 기존의 격자타일이 사라지고 UV값으로 넣은 Texture의 형태를 그대로 띄고 있다.
왜 이러한 형태를 띄는지 좀 더 자세히 살펴보기 위해 Mask로 따로 떼어보았다.

앞서 언급 했듯, 흰색 텍스처는 RGB값 모두에 의해 표현된 것이기 때문에, R만 떼어내면 검은 부분을 제외한 모든 곳에 빨간색이 덮혀져있는 것을 볼 수 있다.

이때, Mask(R)은 float1 값이고 UV는 float2 값이기 때문에 V값이 복사가되어서 U, V 각각이 노이즈 값이 된다.
그래서 결과를 정리하면 다음과 같이 된다.
즉, 노이즈가 색상을 지정하는 틀이 됨을 알 수 있다.