-
Unity] 색을 숫자로 표현하기, 빛의 삼원색Unity 2024. 12. 13. 08:23반응형
색의 기본 원리
- 가산 혼합 : 빛의 삼원색. RGB로 이루어진 색을 더하면 더할수록 밝아지며, 모두 더하면 흰색이 되는 색 체계. 우리가 사용하는 모니터와 스마트폰 화면에서 표현되는 색이다.
- 감산혼합 : 색의 삼원색. RGB를 더하면 더할수록 색이 어두워짐. 물감이나 잉크에서 볼 수 있다.
(왼) 가산혼합 (오) 감산혼합 - 모니터 화면에서의 RGB
- 일반적인 컬러 모니터는 RGB(빨강, 초록, 파랑)로 구성되어 있는 3개의 서브픽셀(SubPixel)로 이루어져 있다.
- 아주 작아서 잘 보이지 않으며, 이 서브픽셀로 색을 구성해 우리가 보는 화면을 다양한 색으로 보여준다.
- 한 픽셀의 색을 결정하는 코드인 ‘픽셀 셰이더’ 작업을 하려면 색을 숫자로 연산할 줄 알아야 한다.
픽셀 설명
색을 숫자로 계산하기
- RGB의 각 밝기를 최대 100%로 추정(100%, 100%, 100%)하고 이를 float 값으로 바꾼다
- 흰색 : Float3(1.0, 1.0, 1.0)
- 검은색 : Float3(0, 0, 0)
- 노란색 : Float3(1.0, 1.0, 0)
- 회색 : Float3(0.5, 0.5, 0.5)
- Float3(1.0, 1.0, 1.0) == 포토샵(8비트) (255, 255, 255)
- Float3 에서 1을 넘어간 수는 거의 무의미하다. 1을 최댓값으로 보기 때문. 반대로 0도 같다. 0이 최솟값이기 때문에 -1은 표현이 되지 않는다.
- RGB는 합쳐 놓으면 컬러로 보이지만 , 따로 놓고 보면 흑백으로 표현된다.
- RGB의 숫자 값은 컬러를 나타내는 것이 아닌 ‘강도’를 표현하는 것
- 붉은 색은 R 1.0 이고 G 0.0, B 0.0 값도 들어가야 붉은 색으로 표현 됨
- 포토샵 - Channel 참고
https://chulin28ho.tistory.com/740
RGB Color 보기
RGB 칼라를 번갈아 찍어 놓은 것입니다. 조금 멀리 떨어져서 보면 흰색으로 보이지 않나요? R만 남겨놓고 나머지 색의 픽셀이 꺼지면 R로 보입니다. R과 G만 켜놓고 B를 꺼버리면 , 멀리서 보면 노
chulin28ho.tistory.com
컬러 연산
- Add (Linear Dodge)
- RGB의 각 자리를 더한다.
- 회색 + 회색 : Float3 (0.5, 0.5, 0.5) + Float3 (0.5, 0.5, 0.5) = Float3 ( 1.0, 1.0, 1.0) == 흰색
빛 반사 표현할 때 Add 를 주로 사용했다. - Multiply
- RGB의 각 자리를 곱한다. (나눈다)
- 회색 * 회색 : Float3 (0.5, 0.5, 0.5) * Float3 (0.5, 0.5, 0.5) = Float3 (0.25, 0.25, 0.25) == 어두운 회색
그림자 표현할 때 Multiply를 자주 사용하였다. - Invert
- 색 반전
- 1에서 값을 빼주면 된다.
- Float ( 1, 0, 0) 의 반전 : 1 - Float3(1, 0, 0) == Float3 (0, 1, 1) 빨간색의 반전은 하늘색
반응형'Unity' 카테고리의 다른 글
Unity] Addressables 사용하기 (0) 2025.02.24 Unity] Unity Shader Graph 사용해보기 (1) 2024.12.16 Unity] 모바일광고 넣기 - 1: Google AD 사용하기 (4) 2024.12.12 Unity] Rendering Pipeline : 렌더링 순서 (0) 2024.12.06 Unity] 셰이더 그래프(Shader Graph) (1) 2024.12.04