Featured image of post 라이트맵 중간과정 보고서 1편

라이트맵 중간과정 보고서 1편

비스트(Beast)를 이용한 라이트맵 중간발표입니다.

기존 아카1의 라이트 방식은 일반 다이렉트 라이트 + 실시간 그림자 방식을 사용했지요.
덕분에 구현의 기술 자체는 명료한 장점이 있었지만 치명적 단점도 가지고 있었습니다.

그것은 " 별로 이쁘지 않다" 와 " 너무 느리다" 였습니다.

분명 그림자를 넣지 않으면 너무 썰렁해서, 그림자는 꼭 들어가야 합니다만, 저 그림자는 실시간 그림자이므로 메 프레임 계산되어야 하며 덕분에 단순히 물체의 모양을 인식하여 그림자를 칠해주는 기능 외에 더 처리할 수가 없었습니다. 여기서 퀄리티를 더 올리려 하면 추가적인 기술이 들어가야 하구요.

물론 저 실시간 그림자가 유용할 때는, 실제로 시간이 지나서 해가 지고 빛이 여러 개고 각도가 바뀌는 등 동적인 배경일 때에는 효과적입니다만 일반적인 MMO는 다이나믹하고 인터렉티브한 배경을 목표로 만들기는 힘들기 때문에, 배경 자체는 정적인 경우가 많습니다. 그러므로 역동성에 장점을 가지고 있는 실시간 그림자는 사실 효율이 떨어집니다. 생각해 보세요. 움직일 필요도 없는 그림자가 매 프레임 계산되어야 할 필요가 있을까요? 

또 하나는 저 그림자를 사용하려면 최적화를 매우 염두에 두고 제작되어야 합니다. AT1때 그림자가 아예 ‘없었’ 던 관계로 ‘있기라도’ 해야 해서 만들었기 때문에 어쩔 수 없었지만, 현재 그림자의 컬링과 최적화는 그다지 좋은 편이 아니라서 매우 느립니다. 권장사양 급에서는, 렌더링의 50% 를 그림자 혼자서 잡아먹고 있을 정도니까요. 

즉 이 그림자가 많이 사용되는 곳은 고사양을 목표로 한 콘솔 FPS 등이며, 이 기술 독자적으로 사용되는 일은 드물고 여기에 기타 Light 기능이나 엠비언트 오클루젼 등 다양한 GI 기술이 추가로 조합되어 사용되곤 합니다. 그렇지만 대규모 MMO에서는 이 방식이 사용되는 일이 매우 드물지요. 대부분의 배경은 반응하지 않으며, 표현할 곳은 광활하기까지 합니다. 즉 실시간 라이팅 계산에 그만큼 자원을 소모할 여력이 없다는 뜻이지요. 

그래서 진행하는 것이 정적 라이트 (Static light) 

이 방식은 라이트를 미리 오프라인에서 계산 해 놓아 텍스쳐로 (혹은 버텍스 칼라로) 만들어 놓고, 그걸 입히면 되는 것이므로 오프라인 렌더러의 장점인 다양한 조명 효과를 사용할 수 있으며, 텍스쳐로 입혀 넣기만 하면 추가적 조명 연산이 전혀 필요 없으므로 부하도 절약할 수 있어서 퀄리티와 부하를 모두 잡는 방식입니다. - 물론 단점이 없는 것은 아닙니다- 

오프라인 렌더러의 장점은 역시 다이렉트한 빛의 흐름만 추적하는 방식에서 벗어나 확산과 반사광까지 정밀하게 표현할 수 있다는 것이며, 제대로 사용하기만 한다면 실사와도 같은 느낌을 내는 것도 가능한 방법입니다.
http://intra.ndoors.com/center/board/view.asp?list_seq=142725&board_seq=229&page=3&search_option=&search_letter=&readchk_flag=I 
(하단 라이트 부분 참고)

그리고 이 정적 라이트를 계산하기 위해 도입한 미들웨어가 비스트(Beast) 이며, 이 프로그램은 라이트의 각종 반사와 확산, 굴절 등을 계산해 내서 조명효과를 극대화 시켜 구워진 (Bake) 텍스쳐인 라이트맵(Lightmap)을 출력해주는 프로그램입니다.

<이것이 구워진(Baked) 라이트맵입니다.>

그리고 이것을 기존에 제작된 건물에다가 테스트로 집어 넣어 데이터를 구워 보았습니다.

이 테스트 작업은 윤형균 과장님이 여러 날을 들여 고생하신 끝에 다행히 성공하였습니다.

그 결과물은 다음과 같습니다.
일단, 아래 3장의 그림은 기존에 제작된 AT2용 건물입니다. 노말맵과 스페큘러 텍스쳐등이 잘 적용되어 있습니다. 아래 그림으로도 충분히 이쁘긴 합니다만, 그 때 얼마 전에 나왔던 언리얼에 개 용병 띄운 그림에 비하면 한참 모자랍니다. (아니 뭐 맘에 두고 있던 건 아니고…)

그리고 출력한 라이트맵만 적용한 이미지는 다음과 같습니다.

그러므로 이 라이트맵과 기존 건물을 합성한 최종 이미지는 다음과 같습니다.


Hugo로 만듦
JimmyStack 테마 사용 중