본문 바로가기
기타 공부하기

언리얼 라이트를 공부해 보자 - 초기셋팅 및 스태틱 라이트

by 대마왕J 2019. 12. 11.

라이트맵 


언리얼 라이트맵을 공부하기 위해 초기셋팅을 해 보겠습니다. 



우선 빈 새 프로젝트를 만들어 보지요. 



그리고 포스트 프로세스 옵션들을 날려봅니다. 포스트 프로세스는 정확한 라이팅 결과물을 볼 때 방해가 되곤 합니다. 


프로젝트 세팅에서,  엔진 / 렌더링에 있는 

각종 포스트 프로세스 옵션들을 날려봅시다. 특히 Auto Exposure 를 말이죠 [각주:1]





빈 프로젝트에 큐브를 이용해서 아래와 같은 모양을 만들어 줍니다. 



그리고 모든 셋팅은 스태틱으로 해줍니다. 

큐브는 생성될때에도 스태틱이었는데. 조명은 기본적으로 스테이셔너리 ( stationary : 움직이지 않는, 고정된) 입니다. 스테틱보다는 더 심플하게 고정되어 있는 스태틱부터 보겠습니다. 



이 상태에서 라이트 빌드를 해 줍니다. 


 


에...


 그래요 일단 그림자가 까맣진 않군요. 그리고 조명을 삭제한다 하더라도 그림자와 라이팅은 잘 나옵니다. 

그래요 즉 지금 이건 텍스쳐.. .라이트맵입니다.[각주:2] 


스테틱한 오브젝트에는 '라이트맵' 이 들어간다 

라고 생각하시면 뭐 되겠습니다. 




볼류메틱 라이트맵 



라이트맵은 스태틱 , 즉 정적인 오브젝트에만 적용되는 옵션입니다. 

그렇다면 무버블 오브젝트[각주:3]는 어떻게 될까요? 


이렇게 구워진 맵에다가 약간 붉은색의 무버블 오브젝트를 넣어 봅니다. 



당연히 붉은공은 '무버블' 오브젝트이기 때문에 빛의 영향을 받지 않습니다. 그림자도 지지 않고요. 

저기 조명이 보이긴 하는데, 저 조명은 '스태틱' 용으로 이미 구워진 조명이라 아무 작동도 하지 않습니다 .지워도 돼요 



엄... 근데... 

그림자 안에 들어간 공이 좀... 


어두워 보이지 않나요 살짝?>??/

분명 빛을 받고 있지 않는데 말이죠 


착시인가.. 싶어서 



Unlit 으로 된 플렌을 밑에 깔아 보았습니다. 

확실히 그늘 부분에 있는 공이 어둡습니다!!! 


그리고 밝은 쪽에 있는 공도 .. 분명 저 라이트는 '아무 작동도 하고 있지 않는다는데' 빛을 받은 것 같습니다??


그렇습니다. 이건 볼류메틱 라이트맵 때문입니다. 


볼류메틱 라이트맵을 눈으로 확인하고 싶다면, 

아래 그림에 있는 볼류메틱 라이트맵을 켜 주시면 됩니다. 




뭔가 공이 가득 차 있습니다!! 


진정하시고, 잠시 보시죠. 이건 진짜 공이 아닙니다. 


'일정 영역마다 저장되어 있는 빛의 정보' 입니다. [각주:4]

이것은  Third Order Spherical Harmonic (3차 구면 조화 함수) 로 계산되어 있는 빛의 방향 정보입니다. 

https://docs.unrealengine.com/ko/Engine/Rendering/LightingAndShadows/VolumetricLightmaps/index.html


이전 버전의 볼류메틱 라이트맵은 '간접광 캐시' 라고 불리었으며, 이것은 공간이 아닌 스테틱 오브젝트의 표면을 중심으로 라이트 정보를 저장했습니다. 

4.18부터 볼류메틱 라이트맵이 기본이  되었습니다. 


어쨌건 간단히 말하자면 이것은 신형 볼류메틱 라이트이며, GPU로 연산이 되어 정육면체로 시작하여 공간을 분할하면서 조밀도를 높여가는 방식입니다. 


이전 방식은 스파스 볼륨 라이팅 샘플이라는 옵션이며,  월드 세팅의 라이트매스 옵션에서 선택할 수 있습니다 .

이 부분에 대해서는 말이 길어지므로 슬슬 줄이고 다음에 얘기하도록 하죠..



어쨌거나 볼류메틱 라이트맵은, 공간에 구워진 라이트정보로 무버블 오브젝트의 픽셀에 접근하여 훨씬 그럴듯한 결과를 내 줍니다. 




저해상도로 구웠으니 저정도고, 고해상도로 라이트맵을 구웠으면 훨씬 효과가 좋겠죠. 

유니티에서의 LPPV와 상당히 유사한 동작을 보이고 있습니다. 


어쨌거나 정리하자면 다음과 같습니다. 


'스태틱 오브젝트와 스태틱 라이트는, 라이트맵을 생성하여 실시간 라이팅을 텍스쳐로 구워버린다'

'그러면서 볼류메틱 라이트맵으로 공간에다가도 라이트맵을 구워서, 무버블 오브젝트한테도 픽셀단위로 영향을 끼친다'



  1. 나중에 뷰표트에서 표시만 끌 수 있지만, 은근히 귀찮으므로 아예 첨부터 끄는 것으로 진행하였습니다 [본문으로]
  2. 해상도가 꽤 낮은 편인데, 기본이 좀 그렇더군요. 오브젝트별로 디테일 창에서 Lighting 창을 보면 라이트맵 사이즈를 오버라이드 할 수있는 메뉴가 보입니다. 이걸로 올려줄 수 있습니다. [본문으로]
  3. 유니티에서는 다이나믹 오브젝트라고 합니다. [본문으로]
  4. 유니티에서는 '라이트 프로브' 라고 부릅니다. 아니 오히려 유니티의 LPPV(라이트 프로브 프록시 볼륨) 과 비슷하겠네요 [본문으로]
반응형

댓글