Summary – Precomputed Realtime GI – 번역
Summary – Precomputed Realtime GI
– 원문 링크 –
이전글 – Fine tuning with Lightmap Parameters
Summary – Precomputed Realtime GI
확인 완료한 버전: 5.5 – 난이도: 중급
게임 개발의 여러 측면과 마찬가지로, 씬 라이팅(조명)을 최적화하는 것 역시, 원하는 시각적인 효과와 성능 비용 간의 적절한 균형을 찾는 작업입니다. 대부분의 경우, 라이팅의 품질을 다소 희생하더라도 라이팅을 계산하는 시간을 줄이고 런타임 성능을 향상시키기는 것이 좋습니다.
야간 조명 처리가 적용된 예제 씬 모습. 초기에 라이팅을 미리 계산해뒀기 때문에, 다른 라이팅 솔루션을 생성하는 동안에 라이팅을 계산하는 작업이 필요하지 않습니다. 이는 ‘기존의’ 라이트매핑 기술로는 불가능합니다.
예제에서 다음의 과정에 대해서 살펴봤습니다:
- 미리 계산되는 실시간 GI(Precomputed Realtime GI)의 라이트맵 해상도에 대해서 적절한 결정을 내리기 위해 씬을 평가하는 방법을 살펴봤습니다.
- 라이팅을 계산하는 과정에서 가장 비싼 요소 중 하나가 씬에서의 챠트(Chart) 수라는 것을 배웠고, 챠트 수를 줄일 수 있는 몇가지 기술에 대해서도 살펴봤습니다.
- 작은 소품 등의 오브젝트에 사용하기 위해서 라이트 프로브 볼륨(Light Probe Volume)을 효율적으로 설정했습니다.
- 유니티의 Precomputed Realtime GI unwrapping 알고리즘에서 UV 결합(Stitching)에 대한 판정을 하는데 도움이 되도록 파라미터를 조절하고, 이로 인해서 챠트의 수를 줄이는 방법에 대해서 살펴봤습니다.
- 클러스터(Cluster)가 무엇인지, 유니티에서 글로벌 일루미네이션(Global Illumination)을 계산하는데 클러스터가 어떻게 사용되는지, 그리고 클러스터가 라이팅 성능에 어떻게 영향을 미칠 수 있는지에 대해서 살펴봤습니다.
- 씬 내의 오브젝트에 대해서 라이팅 품질과 해상도를 세부적으로 조절하고, 시각적으로 덜 중요한 오브젝트에 대한 라이팅 계산 비용을 줄이기 위해서, 라이트맵 파라미터(Lightmap Parameter)에 대한 실험을 진행했습니다.
지금까지 살펴본 모든 기술을 함께 사용하면 라이팅을 계산하는 시간을 최소화하면서 Production-품질의 라이팅 결과를 제작할 수 있습니다. 이 기술들을, GI에 대한 실시간 업데이트 및 런타임에 반사광(bounced light)을 변경하는 기술과 함께 결합하면, 유니티의 Precomputed Realtime GI는 많은 실시간 응용프로그램에서 매력적인 옵션이 될 수 있을 것 같습니다.
추가적으로 유니티 개발자를 위한 ARM 가이드를 참고하시는 것도 좋습니다.
내용 끝까지 읽어주셔서 감사합니다.
배너 클릭은 저에게 많은 힘이 됩니다.
감사합니다 🙂