UE4,5

Getting Started With The Environment Light Mixer (Ray Traced Cinematic Lighting for Exteriors)

hugjun 2022. 9. 13. 17:38

이번 단원에서는 씬에 햇빛을 만들어 보겠습니다.


이때 여러 액터를 가져와야 하는데 

환경 라이트 믹서라는 유용한 툴을 사용하면 됩니다 

 

이 액터들이 어떻게 연결되었는지와 애트머스페릭 라이트 관련 팁과 트릭 몇 가지를 알아보고 

스카이 라이트를 자세히 살펴본 다음 익스테리어 라이팅을 심도 있게 탐구해 보겠습니다 

 

우선 라이팅 레벨을 만듭니다 '콘텐츠 브라우저'에서 우클릭한 뒤 새 레벨을 만들고 '_lighting_day'로 이름을 지정합니다

그리고 '레벨' 탭에 드래그 앤 드롭한 뒤 더블클릭해서 메인 레벨로 만듭니다

이제 환경 라이트 믹서를 열 준비가 되었습니다 

'라이트제외' 모드에서 '라이팅포함' 모드로 바꾸고 맨 위의 '창' 탭에서 '환경 라이트 믹서'를 클릭하면 됩니다 

처음 열면 이런 창이 나타나는데 원하는 곳에 도킹하면 됩니다 

아래에 여러 탭이 있는데 환경 라이트 믹서가 유용한 이유가 바로 이 탭 때문입니다 

애트머스페릭 라이트 시스템을 간단히 만들 수 있기 때문이죠

 

 '스카이 라이트 생성' '애트머스피어 라이트 0 생성' '스카이 애트머스피어 생성'을 클릭하겠습니다 

다음은 '아웃라이너'에서 'SkyLight'를 클릭한 뒤 '디테일' 패널에서 '리얼타임 캡처'를 체크합니다 

보시다시피 하늘과 간접광이 생겼습니다 

 

 

Ctrl + L 단축키를 누르면 햇빛을 원하는 곳으로 움직일 수 있습니다 

이 시스템의 장점은 이렇게 태양을 지평선 가까이 움직이면 하늘의 색이 바뀌고 앰비언트 라이팅이 자동으로 업데이트됩니다 

간접광을 받는 섀도를 보면 모든 것이 자동으로 업데이트됩니다 

아티스트가 따로 입력할 필요가 없죠 아무것도 안 해도 됩니다 

태양을 원하는 곳에 놓기만 하면 애트머스피어 시스템이 처리해 줍니다 

지금은 이렇게 두겠습니다 대낮쯤인데 하늘의 각도를 살짝 조절해서 늦은 오후쯤으로 하겠습니다 

 

아래를 보면 환경 라이트 믹서의 흥미로운 기능이 있습니다

 'Minimal' 버튼을 클릭하고 'Normal+Advanced'를 클릭하면 모든 라이트 세팅을 한곳에서 편하게 볼 수 있습니다 

저는 이 기능을 자주 사용하지 않는데 환경 라이트 믹서를 사용하는 이유가 초반에 액터를 빠르게 만들기 위함이기 때문이죠 

 

이전 단원에서도 다뤘지만 마지막으로 할 일은 'SkyLight'를 클릭하고 '레이 트레이싱 섀도 드리우기'를 켜야 합니다 

그러면 전체적으로 어두워지지만 괜찮습니다 훨씬 나은 섀도 정보를 전달하기 때문이죠 

원한다면 스카이 라이트의 강도 스케일을 올려서 보완해도 됩니다 

2로 해 보죠 2는 너무 높겠지만 이해는 되셨을 것입니다 

직사광과 간접광의 강도는 따로 조절할 수 있습니다 크롬 구체를 잘 보시기 바랍니다 

레이 트레이스드 리플렉션 덕에 멋진 리플렉션이 생겼습니다 

Ctrl + L을 누르면 크롬 구체가 업데이트되고 하늘도 업데이트됩니다 

이것이 크롬 구체의 장점입니다 

라이트가 씬에 미치는 영향을 눈으로 확인할 수 있죠 언제든 사용하기 좋은 유용한 툴입니다 

이렇게 클릭 몇 번으로 탄탄한 일광 시스템을 구성했습니다 

전부 멋지고 사실적으로 보입니다 물론 작업이 더 필요하겠죠 

여긴 반사광이 다소 약한데 괜찮습니다 나중에 더 살펴봅니다 

유용한 환경 라이트 믹서를 소개하고 싶었을 뿐입니다 

 

이 주제를 다루는 김에 스카이 라이트의 역할과 작동 방식을 좀 더 자세히 살펴보겠습니다 

우선 '월드 아웃라이너'에서 라이팅 액터들을 선택하고 우측 상단의 그룹 아이콘을 클릭합니다

 'A_Lighting'으로 그룹 이름을 지정합니다 이렇게 하면 아웃라이너가 더 깔끔해집니다 

 

다음은 '액터 배치'에서 'PostProcessVolume'을 추가합니다 여러분은 이 작업을 할 필요가 없습니다 

제가 이렇게 하는 유일한 이유는 씬의 리플렉션을 전부 비활성화해야 스카이 라이트가 하는 일을 여러분이 볼 수 있기 때문입니다 

그러니 따라 하지 마시고 제가 보여드릴 화면에만 주목해 주세요 

우선 포스트 프로세스 볼륨을 언바운드로 설정하고

리플렉션의 줄임말인 'ref'를 검색해서 리플렉션 타입을 '스크린 스페이스'로 설정한 뒤 끕니다

이제 크롬 구체를 보면 주변 환경의 리플렉션이 보이지 않습니다 스카이 라이트가 만든 하늘만 보이죠 

'SkyLight'를 선택하고 어떻게 된 건지 알려드리자면 '리얼타임 캡처'를 끕니다 변화가 생겼죠 

'스카이 거리 한계치'를 잘 보시기 바랍니다 디폴트값은 150,000입니다 

이 값을 선택하고 1로 내리겠습니다 곧바로 리플렉션이 돌아온 것 같습니다 

샷에 있는 건물도 보이고 캐릭터도 리플렉션에 보입니다 

'SkyLight'를 선택하면 리플렉션 해상도를 올릴 수 있고 '큐브맵 해상도'도 1,024로 올리겠습니다 

이제 크롬 구체의 리플렉션이 훨씬 뚜렷해졌습니다 진짜 리플렉션은 아닙니다 

스카이 라이트가 캡처하는 HDRI죠 이것이 스카이 라이트의 역할입니다 

 

스카이 라이트는 커다란 리플렉션 캡처 액터입니다 주변을 캡처해서 씬에 투영하죠 

 

이 크롬 구체처럼요 '스카이 거리 한계치'를 더 올리면 어떻게 될까요? 500으로 올리겠습니다 

이상한 일이 일어납니다 안뜰의 자갈이 사라지고 대신 녹색 바닥이 보입니다 어떻게 된 걸까요? 

스카이 라이트의 역할을 쉽게 시각화하려면 씬에 있는 스카이 라이트의 위치에 구체를 배치하면 무슨 일을 하는지 볼 수 있습니다 

 

여기에 구체를 배치하고 이 구체가 씬을 캡처한다고 생각해 봅시다 구체 바깥이 전부 캡처되죠 

지금 스카이 거리 한계치가 1이라고 생각해 보세요 아까 500까지 올렸었으니 이 구체의 스케일이 500배가 되는 것입니다 

구체 바깥에 있는 것만 캡처되고 구체 내부는 스카이 라이트가 무시합니다 

리플렉션에서 자갈 텍스처가 사라진 것도 캡처 영역의 반경을 올렸기 때문입니다 

구체를 아주 거대하게 만들면 이 사원 전체를 무시하고 그 주변만 캡처할 것입니다 

리플렉션에 산과 하늘만 약간 나타나겠죠 실제로 보여드리겠습니다 

구체를 숨기고 '스카이 거리 한계치'를 5,000으로 설정합니다 리플렉션을 보면 산과 하늘만 살짝 보입니다 

영역의 반경을 넓혔기 때문에 SkyLight 액터에서 5,000유닛 안에 있으면 전부 무시되는 거죠  1로 되돌리겠습니다

 

이 내용을 말씀드리는 건 '스카이 거리 한계치' 세팅을 오해하거나 잘 모르는 사람이 많기 때문입니다 

작동 원리와 역할에 대한 기본적인 이해가 중요하죠

 

 '스카이 거리 한계치'를 아주 낮게 설정했을 때 스카이 라이트의 위치가 중요한 이유를 보여드리겠습니다 

아래에서 '리캡처'를 누르면 이 구체가 리플렉션에 나타납니다 

스카이 라이트를 반대편으로 옮기고 '리캡처'를 누르면 반사된 구체 역시 반대편으로 이동합니다 

슬슬 스카이 라이트의 역할이 이해되셨으면 좋겠군요 

 

리얼타임 캡처를 사용하지 않았을 때의 단점은 햇빛 방향을 바꾸기 위해 Ctrl + L로 태양을 낮춰서 노을 느낌을 주면 스카이 라이트가 리플렉션을 업데이트하지 않았습니다

 유일한 방법은 'SkyLight'를 선택하고 스크롤을 내린 뒤 '리캡처'를 누르는 것입니다 이제 제대로 캡처되어 일치합니다 

이렇게 업데이트하고 싶으면 간접광이 이상해 보입니다 잘못된 느낌이죠  '리캡처'를 눌러야 라이팅이 업데이트됩니다 

 

그냥 리얼타임 캡처를 항상 사용하면 안 될까요?

리얼타임 캡처를 사용하면 스카이 거리 한계치의 장점을 잃게 됩니다 

한계치를 1로 설정해도 아무 영향이 없죠 

이 크롬 구체는 하늘만 보여주는데 체크를 해제하면 이제 씬이 캡처되죠 

 

건물 측면을 보면 간접광이 아주 파란데 이상해 보입니다 

'스카이 거리 한계치'를 1로 하고 체크 해제하면 간접광이 더 자연스러워지고 안뜰의 컨텍스트와 잘 어울리는 것 같습니다 

씬에서 안정적인 간접광을 만드는 좋은 방법이죠 정답은 없습니다 여러분이 어떤 결과물을 원하는지에 달렸죠

 

 

스카이 라이트에 관해 마지막으로 얘기할 내용은 '하반구 색은 단색'입니다 

기본적으로 켜져 있죠 구체의 하반구는 기본적으로 검은색입니다 여러분도 본 적 있을 겁니다 

그 결과, 전체적으로 어둡게 보입니다 뭔가 잘못됐죠 건물 아래 그늘은 이상하게 보입니다

 'SkyLight'를 선택하고 '하반구 색은 단색'을 체크 해제하면 더 자연스러워집니다

건물 아래의 디테일도 훨씬 살아나고 전체적으로 나아 보입니다 특별한 이유가 없다면 이 옵션은 끄면 됩니다 

 

 

예를 들어 넓은 녹색 영역이 있는데 스카이 라이트의 하반구를 다른 색으로 하고 싶다면 그렇게 해도 됩니다 

옵션을 켜고 여기서 색을 바꿉니다

이 옵션을 펼치려고 할 때 알려진 버그가 있는데 환경 라이트 믹서를 사용할 때는 컬러 팔레트가 열리지 않습니다

 '콘텐츠 브라우저'로 이동하면 컬러 팔레트가 문제없이 열립니다 4.27의 알려진 버그이니 알아 두시기 바랍니다 

이제 색을 바꾸겠습니다 형광 분홍색으로 합니다 '하반구 색은 단색'의 역할이 바로 이것입니다

 하반구에 색을 입히는 것이죠 예쁜 분홍색 라이트를 적용해 봤는데 추구하는 모습과는 좀 다릅니다 

저는 보통 체크 해제해 두는데 결과물이 훨씬 자연스럽습니다 

 

 

이 단원에서 마지막으로 보여드릴 것은 하이트 포그 액터입니다

지평선이 보이는데 그렇게 보기 좋지는 않습니다 불쑥 나타난 느낌이 든달까요

익스포넨셜 하이트 포그로 이 문제를 숨겨 보겠습니다

'액터 배치'의 '비주얼 이펙트' 탭을 클릭하고 '익스포넨셜 하이트 포그'를 가져옵니다 

월드 아웃라이너에 생긴 하이트 포그를 선택하고 '포그 인스캐터링 컬러'를 검은색으로 설정하고 '방향성 인스캐터링 컬러'도 검은색으로 설정합니다 

익스포넨셜 하이트 포그는 애디티브 프로세스이기 때문인데 환경 라이트 믹서로 생성한 애트머스피어 시스템이 이미 포그 컬러를 처리하고 있어야 하죠 

위로 올라간 뒤 Ctrl + L로 햇빛을 움직여서 보여드리겠습니다 보시다시피 태양에 따라 포그 색이 자동으로 바뀝니다 

두 인스캐터링 컬러를 디폴트로 뒀으면 어땠을지 잘 보시기 바랍니다 전혀 다른 모습이죠 

이런 모습을 원하셨을 수도 있지만 이 용도로 만들어진 기능은 아닙니다

다시 두 인스캐터링 컬러를 모두 검은색으로 바꾸겠습니다 이미 포그 색이 적절하기 때문입니다 

 

중요한 것이 하나 있는데 중요한 프로젝트 세팅을 설정해야 프로젝트에서 이 옵션이 제대로 작동합니다 

이 예제 프로젝트에서는 제가 제대로 설정해 둬서 여러분은 안 하셔도 되지만 새 프로젝트로 작업한다면 상단의 '세팅'에서
'프로젝트 세팅'을 클릭하고 디테일 검색 패널에서 'fog'를 검색합니다 

여기서 중요한 세팅은 '스카이 애트머스피어 영향 하이트 포그 지원'입니다 

이 옵션이 꺼져 있다면 꼭 켜시기 바랍니다 아니면 제가 보여드린 것과 다른 결과물이 나옵니다 

지금까지 멋진 애트머스피어 시스템을 아주 빠르고 효율적으로 구성해 봤습니다 

 

이제 'SkyLight'를 선택하고 '리캡처'만 누르면 됩니다 이제 모든 요소가 안정적이고 자연스럽습니다 

보기 안 좋은 지평선도 숨겼습니다 포그 강도는 마음대로 조절해 보세요 여러분 마음입니다 

원하는 씬의 모습에 맞게 설정하면 됩니다 판단에 따라 'SkyLight'를 선택하고 '리얼타임 캡처'를 사용해도 됩니다 

그러면 변화가 생기는데 특히 크롬 구체가 그렇죠 다시 한번 말씀드리지만 라이팅에는 정답이 없습니다 

여러분이 원하는예술적 방향성에 달렸습니다 사용할 툴을 이해하는 것이 가장 중요하죠 

스카이 라이트의 기본적인 작동 방식과 씬에 미치는 영향을 이해하는 것이 중요합니다 

이번 단원을 통해 명확히 이해하셨기를 바랍니다 많은 내용을 다뤘는데 씬을 라이팅하는 데 도움이 될 것입니다 

 

 

작업을 마쳤으니 포스트 프로세스 볼륨을 선택하고 'reflection'을 검색해서 '레이 트레이싱'으로 되돌리겠습니다 레이 트레이스드 리플렉션을 만들어야 하니까요

비활성화했던 이유는 스카이 라이트가 씬에 미치는 영향을 크롬 구체에서 확인하기 위함이었습니다 기본적인 라이팅 구성은 끝났지만 우리가 원하는 높은 수준의 시네마틱 충실성을 구현하려면 아직 할 일이 있습니다 

 

따라서 다음 단원의 주제는 실제 노출값의 이해입니다