스탠다드 재질을 적용하고 렌더링 했는데 원하는 색상의 이미지가 안 나온다는 질문자의 내용을 보고
맥스에서 재질편집기와 렌더프레임윈도우, 저장된 이미지 등을 보는 시각에서 동일한 색상을 보는 방법에 대해서 알아본다.
아래 포토샵 색상(RGB 255,50,50 )과 맞춰보겠다.
1. 스캔라인 렌더러로 설정
2. 스탠다드 재질을 적용하고 설정한다.
오브젝트에 순수한 컬러를 볼 수 있도록 주변광이라든지 반사광이 없도록 한다.
- Self-Illumination : 100
- Ambient, Specular color : 검정
- Specular Highlights : 0
색을 지정했는데 샘플의 색상이 포토샵과 다른 색을 나타내 주고 있다.
(이 이유에 대해서 마지막 글을 참고하자.)
3. Diffuse 에 Color Map 적용한다.
Color Map에 텍스쳐나 컬러 값을 지정하고 역감마 보정(Reverse Gamma) 를 설정한다.
(팁: 클립보드를 사용하면 컬러 저장이나 이동이 편리하고 256 색상 값을 부동소수점 (floating point) 색상 값으로 확인할 수가 있다.)
4. Environment의 Ambient 를 검은색으로 설정한다.
5. 필요에 따라 플랫한 이미지를 얻고 싶다면 렌더 설정에서 앤티앨리어싱과 필터맵을 체크 해지한다.
6. 렌더링하고 이미지로 저장한다.
렌더프레임윈도우에서 보는 장면은 Display Gamma 2.2가 적용되었을 때의 미리 보기 결과물이다. (상단 타이틀바를 주의해서 본다.)
내부적으로는 1.0인 (마우스 우클릭) 상태이다.
이미지 아웃풋 감마 2.2의 jpg로 저장하면 우리 눈으로 보는 포토샵에서의 색상과 렌더프레임윈도우로 보는 색상은 동일하다.
● Color Map(Reverse Gamma) / 이미지 감마 2.2 Output (jpg)로 저장했을 때.
포토샵에서 열어본 출력 이미지의 색상은 거의 비슷하지만 차이는 반올림이나 jpg 압축 손실에 의한 연산 오차일 것이다.
(정확도를 위해서 48bit PNG나 8bit 또는 16bit TIFF 파일 이상으로 저장해 본다.)
● Color Map 제거 / 이미지 감마 1.0 Output (Linear 48bit PNG)로 저장했을 때.
감마 1.0으로 저장하고 포토샵에서 색상값은 같으나 보이는 색상이 틀리다면 포토샵 Document Profile을 확인하고 'Assign Profile'을 통해서 작업공간을 sRGB로 바꾸어 본다.
=====================================================================================================
샘플 슬롯과 색상 선택기의 색상 맞추기
맥스 내부에서는 선형(Linear) 작업을 위해서 외부에서 색상을 가져오거나 이미지를 불러올 때 2.2 감마의 경우 자동적으로 디감마 255*((old/255)^2.2)로 변환한다.
가정하면 old/255 = float값 (0.0~1.0) 이 되며, ^2.2은 감마를 벗겨 버리고, 이걸 다시 8bit RGB 값 (*255 )으로 변환하면 디감마 된 값이 된다.
예를 들어 포토샵에서 RGB 값이 255,50,50 (SRGB)이면 감마가 제거된 RGB 255,7,7 (Linear RGB) 색상이 된다. (float값 = 1.0 , 0.028, 0.028)
이미지를 직접 사용하는 Bitmap에서는 input 감마를 지정해 줄 수 있기에 jpg가 2.2라는 정의를 내리면 맥스 내부에서는 디감마로 변환하여 작업을 진행하게 되고 우리는 감마 보정이라는 도구를 통해서 리니어 상태를 논리니어(2.2) 상태로 과정 단계나 최종 결과물을 보는 것이다.
텍스쳐는 사전에 수정을 할 수 있는 방법을 제공하지만 직접 컬러 값을 입력할 때는 맥스가 선형 작업((Linear Workflow)을 할 수 있게 사용자가 미리 디감마를 해줘야 한다.
그래서 위처럼 감마값이 제거된(디감마) 색상값을 입력하던가 일일이 계산을 할 필요가 없는 Color map 같은 쉬운 플러그인 맵을 활용하는 것이 좋다.
- 최종 결과물 이미지를 감마 2.2 출력을 목표로 할 경우임.
'Affect Color Selectors' 체크되어 있으면 색상 선택기(Color Selector)에 감마 2.2 가 적용되어 보인다.
외부 색상과 다르게 보이는 이유는 감마 2.2이었던 컬러 데이터값에 'Affect Color Selectors' 체크로 감마 2.2가 더해져(이중감마) 연한 색상으로 보일뿐 데이타 값은 고정적이다.
< 옵션별 영향 -입, 출력 파일 감마값에 따라 최종 출력물의 색상 데이터 값에도 변화가 생긴다. >
Input Gamma
Output Gamma
< 옵션별 영향 - 내부 색상 데이타 값은 고정적이지만 감마값 변화로 시각적 변화일 뿐이다. >
'Affect Color Selectors' -> Color Selectors, Colors swatch
'Affect Material Editor '-> Sample slots
'Display Gamma' -> Frame Buffer window
* 주의할 점은 색상 선택기의 스포이드(Sample Screen Color)로 외부 프로그램에서 색상을 추출하거나 감마가 포함된 이미지에서 색상을 추출할 때는 'Affect Color Selectors' 체크 해지해야 원하는 데이터 값을 얻을 수 있다.
'Affect Color Selectors' 체크 되었을 때는 디감마 된 값을 얻는다.
예시)
RGB 값이 255,50,50 색상 이미지를 File> view Image File로 사용하여 뷰어에서 스포이드(Sample Screen Color)로 색상을 추출 시
- 뷰어뿐만 아니라 RFW에서도 같다. (vray 프레임 버퍼에서는 sRGB 버튼 상태에 따라 달라진다.)
1) 'Affect Color Selectors' 체크 / 스포이드 사용 - 디감마 된 값으로 복사된다.
2) Affect Color Selectors' 체크 해지 / 스포이드 사용 - 1.0 상태의 값으로 복사된다.
결론)
1. Enable Gamma/LUT Correction에 체크하고
'Affect Color Selectors' , 'Affect Material Editor ' 체크하게 되면 작업 중에 최종 감마를 적용되었을 때의 결과를 미리 보게 되는 것이다. (이중감마일 때는 채도가 떨어지고 색상이 밝게 보이며, 감마 보정이 없을 경우에는 어둡게 보인다.)
2. 3ds max 2023 이전의 ColorPicker 는 Linear RGB 정수 또는 부동소수점 값으로 sRGB 색상값이 아님을 주의 해야 한다,
또한 일부 외부 ColorPicker 스크립트 중에는 sRGB라고 표시 되어 있지만 sRGB가 디감마된( Linear RGB ) 맥스 내부의 컬러값을 사용해서 보여주고 있는 것으로 문제가 될 수도 있다.
3. 이미지가 아닌 색상값을 수동 입력시에는 포토샵에서 봤던 동일한 컬러를 원한다면 사전에 디감마 된 값을 입력하거나 불편하다면 감마 변경 옵션이 있는 플러그인 맵(Color Correction Map, Color Map )을 활용 한다.
내가 이 색상을 사용할 때 또는 이런 이미지를 사용했을 때 나중에 2.2로 나오는 결과물은 이런 색상으로 나타날 것이다라는 것을 알려주는 것이다. 렌더프레임윈도우(RFW), Affect Color Selectors, Affect Material Editor 옵션 모두 최종 출력물(gamma2.2) 의 미리보기일 뿐이다.
추가)
3ds max 2024 버젼부터 새로운 색상 관리 변화로 위와 같은 서술 내용과 다르게 되었다.
- 과거 버전은 'Affect Color Selectors' , 'Affect Material Editor ' 의 체크 여부에 따라 Gamma /LUT 가 적용되어 보이거나 그렇지 않은 경우였다. 3ds max 2024 부터 이 부분이 사라짐에 따라 Color Selectors 와 Material Editor 은 무조건 감마의 영향을 받고 있다고 생각하면 된다.
- 색상 선택기 (ColorPicker) 변화
3ds max 2023 이전: Linear RGB 정수 또는 부동소수점 값으로 입력 과 정보를 알려준다. ((old/255)^2.2)*255
3ds max 2024 이후:
- Display 모드 : 8bit sRGB 의 정수로 컬러값 입력 과 정보를 알려준다.
- Scene 모드 : Linear RGB 부동소수점 컬러값 입력 과 정보를 알려준다 . (old/255)^2.2
- 시스템 색상관리는 장면마다 종속 되고 저장된다. 그래서 기존 장면을 불러올 때 예전처럼 불일치 대화상자가 뜨지 않기 때문에 주의가 필요하다.
과거 감마 불일치 대화상자
이제는 3ds max 2024에서 포토샵 색상값으로 만든 소스를 이용 했을 때와 Display 모드에서 직접 색상값을 입력 했을 때 동일한 색상을 보여준다.
참고 : https://www.w3schools.com/colors/colors_rgb.asp
========================================================================================
* 디퓨즈 컬러 추출하는 또 다른 방법은 Diffuse 렌더 요소를 활용한다.
(vray에서는 VrayRawDiffuseFilter 를 사용한다. VrayDiffuseFilter는 자체 reflection과 Refraction 영향으로 색상이 변한다.)
참고:
* Vray에서 Gamma 문제- https://3dsmaxman.tistory.com/294
* Script - https://3dsmaxman.tistory.com/273
'3DsMax > Tips' 카테고리의 다른 글
UI 설정이 고정이 안될때. (0) | 2020.06.16 |
---|---|
2020버젼 이후 단축키 설정(Hotkey Editor) (0) | 2019.11.12 |
3ds max 2017 이후 새 아이콘을 이전 아이콘으로 바꾸고 싶을때. (0) | 2018.02.11 |
모달 (Modal) 와 모덜리스 ( Modeless ) (0) | 2018.01.13 |
3ds max 의 log 파일 위치 (0) | 2017.10.16 |
댓글