유니티/대마왕URP 16

[불] 불 셰이더 퀄리티 높이기

- UV에 검은색 0값인 R을 더해주면 0이라는 결과값이 나옴- 하지만 여기서 회색(0.5), 흰색(1.0)을 더해준다면 전체 이미지 만큼 왼쪽 아래로 이동해서 원래 이미지와 똑같아 보이게 될 것임 회색으로 바꾼 결과- 실제로 이미지가 살짝 옆으로 움직인 것을 볼 수 있음- 하지만 회색(0.5)만큼 즉, 절반만큼 움직인 것이 아닌 애매하게 움직인 것으로 보임바로 '감마' 때문임, 현재 텍스쳐는 sRGB 상태 이지만 우리는 회색을 원하는 것이 아닌 0.5인 값을 원하는 것이므로, Linear텍스쳐로 만들어 주어야함 이미지 텍스쳐에 sRGB 해제- 더 크게 움직인 것을 볼 수 있게 됨 컬러에 따른 움직임- 컬러에 따라 움직이는 것을 알게 되었으니 아무 이미지를 넣었을때 결과값 곱하기를 이용한 색 조절 흐르면..

[불] UV를 이용해 불 만들기

- 구글에 흘러다니는 불 이미지 다운로드 후 Texture2D에 기본으로 연결 - 반투명한 불을 만들기 위해 다음과 같이 설정- Transparent(투명), Opaque(불투명)을 설정하여 반투명 활성화가 되고 알파 채널을 채울 수 있음- Render Face는 앞면, 뒷면의 어떤 면에 랜더링 되어질지 결정하는 기능이며 이펙트 계열은 대부분 양면 랜더링이기 때문에 Both로 설정 - A를 Alpha에 연결  이미지 흐르게 만들기 - 새로운 이미지를 다운로드 받아 Time과 Negate 및 add 노트들을 이용해 이미지가 위로 흐르는 쉐이더 추가 합치기- Multiple을 이용하여 두 불 텍스쳐를 곱하여 움직이는 불 쉐이더 제작  - Float 노드와 Multiply를 이용해 밝은 색의 불을 만들어준다...

[UV] 숫자 더하기

연산 준비- Split을 이용해 UV를 나눈 후 Combine으로 합쳐 RG(UV는(2)이기 때문에 R,G로도 가능)를 UV에 연결- 나중에 U와 V를 나눠 연산할 수 도 있음 ADD 0.5f- 0.5f씩 더해보니 텍스쳐가 왼쪽 아래로 내려옴왜? 모든 Vertex에 있는 UV값이 0.5씩 증가하여(0.5,1.5) (1.5,1.5)(0.5,0.5) (1.5,0.5) 로 바뀌며 이동된 것 처럼 보임 - Balck Board에 R(Float), G(Float)을 연결하여 인스펙터에서 조절 가능하도록 사용 가능 Multiply- 곱하기를 진행하니 타일링이 됨왜?(0,1) (1,1)                       (0,2) (2,2)(0,0) (1,0)이 기본인데    (0,0) (2,0) 으로 이 되었..

[UV] 기본개념

UV- UV는 Vector2(Float2)로 이뤄진 숫자- 2차원 좌표이므로 Vector2이고, 범위는 0~1까지 표현- 어떤 이미지라도 저 단위 안에 넣을 수 있고, 어떤 사이즈의 이미지라고 해도 가로세로 0~100% 사이 정의 가능즉, UV에서 0~1로 할당하면 어떤  비례의, 어떤 크기의 이미지든 모델링에 입힐 수 있음 배치- 엔진, 툴마다 UV의 배치가 다를 수 이음- 언리얼(DirectX)(0.0,0.0)  (1,0,0,0)(0.0,1.0)  (1.0,1.0)- 유니티 방식(OpenGL 방식)(0.0,1.0)  (1.0,1.0)(0.0,0.0)  (1.0,0.0) 시각적 해석- 왼쪽이 0이고 오른쪽이 1이라 Linear 그라데이션이 보임 - V는 두번째 숫자 Y축(세로축) - U와 V를 합치면 ..

[텍스쳐 출력] 이미지 흑백 만들기

- 우선 R(흑백채널) + G(흑백채널)을 합쳐 밝은 흑백- 거기에 B를 또 합쳐 더욱 밝은 흑백결과: 3배나 밝아진 흑백 - Divide로 3을 나누면 원래 밝기로 돌아옴- 이렇게하여 RGB의 평균값을 나오게 함*단 결과는 Float 한자리  휘도차 가중치 계산법- Saturation을 추가하여 Texture2D의 RGBA를 연결하고 Float을 "흑백"이라는 이름으로 추가 후 Saturation과 연결- 인스펙터에 "흑백"을 조절하여 0이면 흑백 1이면 원색으로 조절 가능

[색상과 텍스쳐의 연상] 색상 입력 및 밝기 조절

- R,G,B 이름으로 Float 추가 및 Mode를 Slider로 설정 - Combine을 이용해 만들어둔 R,G,B를 연결하여 인스펙터에서 색 조절하여 결과 확인 - Add 노드와 밝기조절용 Float을 추가하여 슬라이더를 조절하여 원래 흰색보다 더 밝은 흰색으로 가능  -Saturate를 이용하여 1이상으로 넘어가지 않도록 만듦하지만, 1이상으로 넘어가지 않게 되어 어떤색을 넣어도 흰색이 나오는 문제 발생  - 위와 같은 문제를 해결하기 위해 Clamp 노드 생성- Clamp가 Saturate와 다른 점은, 최소 ~ 최대 값을 직접 입력해서 제한 가능- 대신 연산이 조금 무겁지만, 원하는 값이 꼭 0 ~ 1 사이가 아닐때 유용하게 사용 가능 - 밝기조절 값을 -1로 만들게 된다면 어둡게도 가능

Color의 연산과 감마 코렉션

숫자와 컬러는 같다고 함, 정말 같은지 테스트- 밝은 노란색(1,1,0,2) = 붉은색(1,0,0,1) + 녹색(0,1,0,1)으로 Vector 숫자의 덧셈과 완전히 같은 결과가 나옴 특이점- 회색(0.5,0.5,0.5,1) + 회색(0.5,0.5,0.5,1)으로 했을 경우 0.5 + 0.5라 1이기 때문에 흰색이 나올 것이라 예상하지만 실제론 밝은 회색(1,1,1,2)이 나옴- 분명히 색과 숫자는 같지만, 색에는 좀 다른 처리(sRGB)가 되어 있어 숫자와 다르게 나옴, 이것을 사람의 색 감각에 맞추기 위한 색상보정인 '감마 코렉션'이라고 함 감마 코렉션 정리* Linear-  검은색과 흰색은 리니어와 감마의 차이가 없음, 회색 부분일 수록 차이가 큼- 우리 눈에는 이상하게 보이지만, 수학적으로 리니어..