5. 텍스트
GI : GLOBAL ILLUMINATION
▸물체에서 반사된 빛이 다른 물체를 밝힘을 묘사하는 것.
▸고급진 그래픽 표현의 기본
6. 텍스트
BAKED LIGHT MAP
▸ 미리 명암을 계산해서 텍스쳐로 만들
었다 런타임에 불러와서 쓰는 방식
▸ GI 해상도 무제한 (미리 계산하니까!)
▸ 모델의 UV가 팔레트에 접혀있는 문
제는 Generate Lightmap UV 체크로
해결
▸ 근데 움직이는 오브젝트의 그림자 표
현이 불가능
8. 텍스트
그래서 뭘 골랐나요?
▸GI는 매우 매력적인 광원 표현.
특히 폐쇄된 공간에서 더더욱 매력적
▸그런데 절차적 맵 생성을 하므로 실시간 GI가 불가능
▸광원이 횃불 등으로 한정된 던전 환경에서는
실시간 그림자가 GI보다 더 중요하다고 판단
▸추후 더 밝은 환경의 던전을 추가할 땐 Baked 방식을 고려할
것
10. 텍스트
FORWARD
RENDERING
▸ 광원 A에 대한 오브젝트1을 그림
▸ 광원 B에 대한 오브젝트1을 그림
▸ 광원 A에 대한 오브젝트2를 그림
▸ 광원 B에 대한 오브젝트2를 그림
▸ …
▸ 이렇게 여러 빛에 대해 오브젝트를
겹쳐 그리는 방식
완성된 이미지
11. 텍스트
FORWARD를 써봤더니…
▸ 영향을 받는 라이트 갯수가 늘어나면
무한정 연산량이 증가함
▸ Unity3D에서는 일정 갯수 이상 라이
트가 늘어나면 Vertex lit 방식으로 전
환하는 방법으로 성능 저하를 억제
▸ 그러나 Vertex lit 방식은 오른쪽과 같
이 매우 보기에 안 좋음
13. 텍스트
DEFERRED를 써봤더니…
▸ 이미 화면이 나온 상태에서 후처리로 명
암을 처리하므로 광원이 늘어나도 큰 성
능 저하가 없음
▸ 추가적인 후처리를 적용해도 성능 저하
가 적다
▸ 다만, 광원 여럿에 영향받는 화면상 면적
이 늘어나면 마찬가지로 성능을 먹는다
▸ 기본적으로 별 거 안 해도 후처리 단계가
필요하기 때문에 일정수준 이상의 성능
을 요구함
▸ Vertex lit을 전혀 사용하지 않는다는 점도
최저사양 상승에 기여
▸ 결과적으로 최저옵과 최상옵의 격차가
줄더라
14. 텍스트
결론은 DEFERRED RENDERING
▸무제한 광원효과라니 넘나 매력적
▸성능을 아끼려면 초대형 광원은 자제하는 쪽으로
▸저사양에서 좀 힘들어지는 게 문제지만
일단 내 맥북에선 잘 돌아감
▸MSAA가 불가능 -> FXAA를 쓰면 됨
▸디퍼드 지원 안하는 매터리얼들은? -> 유니티가 알아서 포워
드로 돌림
▸하옵에선 포워드로 내보내는 것도 괜찮을 듯