저번시간까지 텍스쳐를 만졌으니... 우리는 이제 이걸 이용해서 프로퍼티 만들고~ 노드 만들고~ 뭔가 그럴듯하게 시각적인 결과는 낼 수 있는것 같다. 이미지 만지작은 끝났으니, 이제 두 이미지(텍스쳐)를 전환시키는 전용 함수 lerp를 이용해보자. Linear Interpolation 선형보간? 이거 그래픽스 과목에서 들었던.. 분명 이미지나 누락된 데이터들을 부드럽게 이어주는 기술이었던것 같다..? 아무튼 이론만 알던 것을 실제로 사용해보게 되다니 감회가 새롭다. 우선 프로퍼티에서 텍스쳐를 두 개 만들고, 각각에 이미지를 따로 적용시켜주자. 준비는 끝났다. 이제 lerp노드를 꺼내서 연결해주자 여기서 A, B 각각에 텍스쳐를 연결해주고, T에는 float 노드 하나 만들어서 연결해주자 그럼 이제.. fl..
텍스쳐가 출력되려면 텍스쳐 오브젝트, 샘플러, UV 이 3개가 필요하다. 텍스쳐 오브젝트는 그냥 텍스쳐고, 샘플러는 텍스쳐를 어떻게 불러들일지 결정하는 설정하는 것, UV는 일반적으로 텍스처 좌표(UV Coordinates)"를 나타냅니다. 이는 3D 모델의 표면에 텍스처를 매핑할 때 사용되는 좌표 시스템입니다. 각 정점(Vertex)은 UV 좌표를 가지며, 이 좌표는 텍스처 이미지 상에서 해당 정점이 어디에 매핑되어야 하는지를 결정합니다. UV 좌표는 (0,0)에서 (1,1) 사이의 값으로 표현되며, 이를 통해 텍스처를 정확하게 모델에 매핑하여 시각적 효과를 얻을 수 있습니다. 아무튼 이 3개가 조합되어야 텍스쳐가 나온다. sample texture 2d 노드를 보면 역시 입력받는 노드를 보면 위의 3..
전 포스팅에서 linear와 gamma에 대해 알아봤다. 여기에 이어 이번엔 유니티 셰이더 그래프에서 노드 조작을 통해 색을 출력해보자. 두 가지의 노드를 만들어서 회색을 표현해봤다. 하나는 color 노드, 하나는 vector3노드로. 이 회색 노드를 복사하고 더하여 흰 색을 만들어보자. 0.5값이 들어있는 vector3 노드를 두 번 더하면 흰색이 만들어진다. 하지만 회색 color노드를 더하면 흰색이 안나온다!! 왜지?? >> 데이터는 정확한 값 입력으로 우리 눈에 보이는 색과 상관없는 계산을 하지만, 데이터가 아닌 지금 우리가 만든 color노드는 우리 눈에 보이는 색을 기준으로 계산된다. (여기서 칼라 노드는 linear가 아니라 sRGB상태이므로 엔진에 들어와 있는 상태는 우리 눈에 보이는 색..
shader graph에서 노드조작을 하기 전, 감마에 대해 알아보자 베버의 법칙이란 것이 있다. 이것은 어두운 공간에서 조그마한 하나의 빛이 생기면 커다란 영향을 미치지만 이미 수십개의 빛이 있는 상황에서 하나의 빛이 추가되는 경우는 크게 영향이 없다는 것을 말한다. (어두운 곳에서의 자극은 민감하고 밝은 부분의 자극은 둔감) 즉, 자극이 없는 상황에서 추가된 작은 자극은 민감하게 느끼지만 이미 많은 자극이 있는 상태에서 추가되는 자극은 둔감하게 느낀다. 이러한 법칙에 따라 모니터는 우리 눈이 더 민감하게 반응할 수 있도록 출력을 어둡게 한다. 모니터에 출력될 때 어두워지므로, 하드디스크에 이미지가 저장될 때 순간적으로 밝기가 올라간 상태로 저장된다. (sRGB영역에) 이런 과정을 거쳐서 우리 눈에 보..
셰이더는 3D 모델의 표면을 렌더링하고 빛을 계산하며, 재질의 시각적 효과를 제어하고 그래픽 프로그래밍에서 사용된다. 이것은 그래픽 처리 장치(GPU)에서 실행된다. 앞서 대마왕J님의 티스토리에 올린 튜토리얼을 보다가 URP라는 들어보지 못한 새로운 개념이 나와서 검색해봤다. URP(Universal Render Pipeline) 셰이더는 Unity의 URP를 사용하는 프로젝트에서 사용되는 셰이더이다. 간단하게 URP는 Unity의 새로운 렌더링 파이프라인 중 하나이다. (URP 이전에는 Built-in 렌더링 파이프라인(레거시)에서 사용되는 셰이더가 있었다. 이것은 이전 버전의 Unity에서 기본적으로 제공되는 렌더링 파이프라인이며, 새로운 그래픽 기능 및 최적화가 URP와 같은 새로운 렌더링 파이프라..