Shader graph (텍스쳐 출력/ 조작하기)

텍스쳐가 출력되려면 텍스쳐 오브젝트, 샘플러, UV 이 3개가 필요하다.

텍스쳐 오브젝트는 그냥 텍스쳐고, 샘플러는 텍스쳐를 어떻게 불러들일지 결정하는 설정하는 것,

UV는 일반적으로 텍스처 좌표(UV Coordinates)"를 나타냅니다. 이는 3D 모델의 표면에 텍스처를 매핑할 때 사용되는 좌표 시스템입니다. 각 정점(Vertex)은 UV 좌표를 가지며, 이 좌표는 텍스처 이미지 상에서 해당 정점이 어디에 매핑되어야 하는지를 결정합니다. UV 좌표는 (0,0)에서 (1,1) 사이의 값으로 표현되며, 이를 통해 텍스처를 정확하게 모델에 매핑하여 시각적 효과를 얻을 수 있습니다.

 

아무튼 이 3개가 조합되어야 텍스쳐가 나온다.

sample texture 2d 노드를 보면 역시 입력받는 노드를 보면 위의 3가지를 확인할 수 있다.

 

이 중 샘플러는 어차피 알아서 잘 가져오게 되어있기 때문에 신경쓰지 않아도 괜찮다.하지만 텍스쳐와 UV는 넣어야 하는데 여기서 UV는 안넣어줘도 알아서 0번 UV가 들어간다.결국 텍스쳐만 넣으면 얼추 되긴 한다.근데 텍스쳐 조차 프로퍼티에서 받아오므로, 프로퍼티에서 하나 생성한 후 연결하는게 더 좋다.

 

블랙보드에서 texture2D 라는 프로퍼티를 하나 생성하고, 드래그로 그래프쪽에 빼서 sample texture2d 노드에 연결해준다.

UV랑 샘플러는 일단 알아서 들어간다.그러면 인터페이스에

 

texture2d가 추가된다.

 

이렇게만 하면 uv랑 샘플러는 알아서 들어간다. 저기 select를 눌러서 원하는 텍스쳐를 입혀주자.

ㅋㅋ 이쁘다.

여기에 추가로 이전에 했던 연산과 스위즐링을 해보자.

 

 

texture2d를 프로퍼티에 추가했던 것과 똑같이 color 프로퍼티를 추가해서 연결해준다.

 

 

이제 저장하기 잊지말고 나와서 색깔을 바꿔주면 

오.. 너무 밝은데? 사실 밝아지는게 당연하다.

색 데이터값에 다른 데이터 값을 더해준 것이니 색 데이터값은 커졌고, 색은 커질수록 밝아진다.

 

그럼 이번엔 더하기 말고 곱해볼까

곱하니까 어두워졌다. 뭔가 우중충해졌네.. 확실히 다른 연산이 적용된 것 같다.

 

이제 본격적으로 스위즐링을 사용하여 섞어보자.

split으로 나눠주고 combine으로 묶어서 fragment에 연결해주자.

 

 

그런데 저기.. 저 texture2d에 있는 자그마한 uv..

이걸 만져주면 어떻게 되는걸까

이것을 조작하기 위해선 Tilling and Offset이란 노드를 만들어 연결해주어야 한다.

그럼 output 연결구멍 말고 input의 tilling 구멍에 또 무언가 연결해야 할 텐데.. 프로퍼티에서 vector2노드를 만들어 꺼내주고 각각 연결해주자.

 

 

와~ 길다 길어 이제 해치웠나..

 

 

?

 

내 구름 어디갔어

뭔가 이상함을 느끼고 다시 보면.. 타일링 값은 0이 되면 안된다. 이거야 뭐 기본값을 1로 설정해주면 되고...

다른 문제는 vector2인데 프로퍼티엔 vector4가 나온다는 것이다.. 뭐에 뭘 넣어야 하는지 어렵다..

이 문제를 해결하기 위해 Vector4 프로퍼티를 만들어주고, 그래프 인스펙터에서 기본값을 1 1 0 0으로 초기화시켜주자.

ㅋㅋㅋㅋㅋ

아직 튜토리얼 단계인데 왜이렇게 복잡해보이지? 시각적으로?

아무튼 이렇게 Vector4에 있는 RG와 BA 각각을 따로 묶어서 Vector2처럼 사용해주고 그걸 다시 연결해줬다.

그러면..

방사능 구름 완성!

그래그래 방사능 구름이라도 뭔가 나와주니 기쁘구나. 아예 없는것보단 낫다 싶어 그래그래

이렇게 출력실습 튜토리얼 끝~