글로벌 일루미네이션(Global Illumination)
물체의 포면에 직접 들어오는 빛뿐만 아니라 다른 물체의 표면에서 반사되어 들어온 간접광까지 표현한다.
단점
매우 높은 처리량을 요구 함. 오늘날 PC로도 글로벌 일루미네이션을 완벽하게 구현하기 힘들며, 실시간으로 사용하려면 여러 제약과 대안을 함께 하용해야 함
베이크된 글로벌 일루미네이션
고정된 빛에 의한 간접광을 라이트맵으로 구워 게임 오브젝트 위에 미리 입힌다. 반영된 간접광 효과는 게임 도중에 실시간으로 반영되지 않는다. 실시간 글로벌 일루미네이션 보다 표현의 질과 런타임 성능이 더 좋다. 빛의 방향이 게임 도중이 달라져도 간접광에 반영되지 않는다. 게임 도중에 갑자기 주변이 밝아지거나 어두워지면 이질감을 느낄 수 있다.
실시간 글로벌 일루미네이션
빛의 세기와 방향 등이 달려졌을 때 그 변화를 간접광에 실시간으로 반영한다. 실시간 글로벌 일루미네이션을 사용하려면 라이트 맵을 여러 방향에 대해 생성해야 한다. 그리고 여러 가지 경우에 대한 빛의 예상 반사 방향과 광원의 예상 이동 경로 등의 정보를 미리 계산해서 저장한다. 이렇게 미리 계산된 정보 덕분에 게임 도중 물체 표면에 들어오는 빛의 방향 등이 달라져도 간접광이 어떤 방향에 어떤 세기로 반사되어야 하는지 적응 비용으로 추측할 수 있으며, 광원의 변화를 실시간으로 간접광에 반영할 수 있다. 결론적으로 실시간 글로벌 일루미네이션을 사용해도 미리 계산해야 하는 정보가 있으므로 라이팅 데이터 에셋을 구워야 한다.
'게임 엔진 > 유니티 엔진' 카테고리의 다른 글
유니티 ARM64로 빌드하기 (0) | 2019.09.18 |
---|---|
Apply Root Motion (0) | 2019.09.15 |
Multiple Sprite (0) | 2019.09.12 |
마우스 입력을 감지하는 메서드 (0) | 2019.09.12 |
Transition Duration (0) | 2019.09.09 |