Alpha Over 노드가 내 이미지를 더 밝게 만드는 이유는 무엇입니까?

Dec 11 2020

Blender 2.9의 Cycles 프로젝트에서 모든 개체가 환경에서 백색광을 받기를 원하므로 World Properties-> Surface-> Color를 흰색으로 설정했습니다.

그러나 최종 결과의 배경이 진한 파란색 이길 원하므로 Render Properties-> Film-> Transparent를 확인하고 컴포 지터에서 Alpha Over 노드를 사용하여 파란색 배경을 얻습니다.

이것은 투명한 배경으로 렌더링 된 원본 이미지입니다.

그리고 이것은 파란색 배경이 합성 된 그림입니다.

보시다시피 Alpha Over 모드는 이미지를 훨씬 더 밝게 만듭니다. 그러나 나는 그것을 원하지 않는다. 나는 단지 파란색 배경의 원본 이미지를 원한다.

내가 시도한 것 :

  1. "Convert Premul"체크 (렌더링 된 이미지에 이미 미리 곱해진 알파 채널이 포함되어 있으므로 필요하지 않음)
  2. 수동으로 "Fac"변경 (예기치 않은 동작 : 전경을 투명하게 만드는 데 매우 낮은 값 (0.0001)이 필요합니다. Fac = 0.5에서 전경이 50 % 투명 할 것으로 예상했습니다)
  3. Render Layers 노드의 Alpha 출력을 Alpha Over 노드의 Fac 입력에 연결합니다 (알파 채널이 이미 그림 자체에 있어야하므로 필요하지 않음)
  4. 내 장면에도있는 태양 램프의 밝기를 0으로 설정했습니다.이 모든 것이 내 문제를 해결하지 못했습니다.

내 질문 : 렌더링 된 이미지를 더 밝게 만들지 않고 파란색 배경 앞에 렌더링 된 이미지를 가져 오려면 어떻게해야합니까?

어떤 도움이라도 대단히 감사합니다!

답변

1 GordonBrinkmann Dec 11 2020 at 19:31

당신이 반투명 부품의 과도한 밝기를 줄이기 위해 할 수있는 한 가지가 사용하는 알파 변환 노드 에서 컴포 지터를 . Render LayersAlpha Over 사이에 놓고 "Straight to Premul"로 설정합니다. 이렇게하면 투명 영역의 밝기가 많이 감소합니다.

렌더의 투명도는 여전히 뷰어 노드 의 투명도와 같지 않습니다 .

그 결과를 얻으려면 이미지의 RGB 값을 클램핑해야합니다. 예를 들어 Clamp가 활성화 된 상태 에서 Color> Mix 노드를 사용합니다. 그런 다음 이미지에 순수한 흰색을 곱하거나 순수한 검정을 추가하면 출력에 모든 밝은 픽셀이 흰색으로 고정되고 알파 투명도가 작동합니다. 문제는, 만약 당신이 그것을 원한다면, 어쨌든 밝기가 왜 그렇게 높은가?

말씀 하셨지만 태양 등 의 강도 를 0으로 설정 했는데 그게 많이 바뀌지 않았는데도 제공하신 파일의 강도가 1000 인 태양을 가졌습니다. Blender에서는 강도가 10 인 태양도 매우 선명한.

따라서 큐브와 1000의 태양을 사용하여 파일을 렌더링하면 큐브 주변에 반투명 영역이 생겼습니다. RGB 값이 150 이상 또는 60 % -80 %의 투명도에서 200까지도 포함되어 픽셀이 흰색을 훨씬 뛰어 넘습니다. 그래서 모든 것이 배경 화면보기보다 훨씬 더 밝습니다.

원하는 결과를 얻으려면 태양을 더 낮게 설정해야합니다. 개체가 흰색 대신 회색으로 보이고 그것이 태양 값을 올린 이유 인 경우 Color Management 에서 Filmic 대신 View Transform> Standard 를 설정해보십시오 .