Unreal/Rendering&Shader

[UE5] 루멘은 왜? 디퍼드 랜더에서만 작동하나요?

김성인 2024. 4. 5. 00:08

[UE5] 루멘은 왜? 디퍼드 랜더에서만 작동하나요?

 

'내가 만든 레벨에서는 왜 루멘이 작동하지 않아?'라고 친구가 나에게 물었다.

 

 이에 대답해 줄 수 있는 나의 답변은 한 가지이다.  너의 프로젝트를 내가 봐야 알 것 같아!

 

 자 그럼 왜 루멘이 작동하지 않는지 생각해 보자.

 

 1. 나의 프로젝트가 언리얼 4에서 언리얼 5로 마이그레이션을 하였다.  이 경우, 기존 라이팅 등의 세팅과 충돌이 날 수 있어, 자동으로 변경되지 않는다.  내가 직접 변경을 해주어야 한다.

 

 2. 랜더 패스를 포워드 랜더로 설정한 상태인 것이다. 언리얼은 기본적으로 디퍼드 랜더 패스로 설정되어 있기 때문에(모바일의 경우 기본적으로 포워드) 이 경우는 드물지만, 루멘이 활성화되어 있지 않다면 이것일 가능성이 매우 크다.


 언리얼 5에 도입된 루멘 기술은 게임 등에서 보다 사실적인 조명을 제공하도록 설계된 '실시간 전역 조명 기술'이다.

루멘은 보다 정확한 조명 효과를 생성하기 위해 빛의 반사 및 반사 계산이 실시간으로 수행되는 동적 전역 조명 기술을 사용한다.

 

 루멘은 특히 디퍼드 랜더링과 작동하도록 설계 된 이유는 디퍼드 랜더링을 통해 조명 계산 처리에 더 많은 유연성과 효율성이 제공되기 때문이다.  디퍼드 랜더링에서는 조명 계산이 지오메트리 렌더링 프로세스에서 분리되어 성능에 큰 영향을 주지 않으면서 더 많은 수의 조명과 더 복잡한 조명 효과를 얻을 수 있다.  또한 이러한 분리를 통해 화면 공간 반사 및 전역 조명과 같은 기술을 보다 쉽게 구현할 수 있다.

 

 또한 디퍼드 랜더링은 불투명한 개체와 투명한 개체의 랜더링을 분리(디퍼드 랜더링은 투명한 개체를 그릴 수 없어, 이 부분에 있어서는 포워드 셰이딩으로 따로 계산한다...)하여 오브젝트들의 표면에서 보다 정확한 조명 계산을 허용하므로 동적 조명이 포함된 복잡한 장면의 실시간 랜더링에 더 적합하다.

 

 결론은 디퍼드 랜더링의 조명 계산이 포워드 랜더링의 픽셀 하나하나 위에 덧칠해 주는 개념이 아닌, 버퍼에 모아 계산 후 한 번에 적용하기 때문에 이 장점을 토대로 개발되었기 때문이다.


언리얼 루멘 글로벌 일루미네이션 도큐먼트 : https://dev.epicgames.com/documentation/ko-kr/unreal-engine/lumen-global-illumination-and-reflections-in-unreal-engine?application_version=5.0