니시카와 젠지의 3D게임 팬을 위한 「2009&2010」그래픽스 강좌
2009년을 되돌아 보고, 2010년의 그래픽스 트랜드를 예상한다


사용자 삽입 이미지










2009년은, 「차세대기」라고 칭찬받은 PS3, Xbox 360이라고 하는 게임기가 「현행기」로서의 인지가 진행되어, 성숙을 맞이한 해라고 말할 수 있다. 하드웨어의 포텐셜을 십분 살린 3D게임 그래픽스가 많이 등장해 우리의 눈을 즐겁게 해 주었다.

「뭐든지 할 수 있을 것 같다」라고 하는 꿈같은 기대감은 사라졌지만, 「이렇게 하면 된다」라고 하는 현실적인 솔루션이 명확하게 보이기 시작했다. 2009년은, 3D게임 그래픽스에 있어서 그런 해었던 것은 아닐까 생각한다.

2009년 최후가 되는 본연재에서는, 그러한 금년의 3D게임 그래픽스의 기술 동향을 되돌아 봐, 2010년의 모습까지를 점쳐 보는 것으로 하고 싶다.



■ 글로벌 일루미네이션 기술의 대두 2010년은 한층 더 진화형 GI가 등장!?

사용자 삽입 이미지

1997년에 릴리스 된 「MAX PAYNE」(Remedy Entertainment)을 보면. 동적 캐릭터로의 라이팅은 직접빛 뿐이지만, 정적인 배경에는 사전 계산한 GI를 texture에 라이트 맵으로서 출력하고 있었다




사용자 삽입 이미지


「소닉 월드 어드벤쳐」로 GItexture만을 표시한 샷. 잘 보면 띄엄띄엄 반점과 같은 것이 보이지만, 이것이 GItexture의 계산 단위에 해당한다




금년의 3D게임 그래픽스의 경향을 든다면, 하나, 글로벌 일루미네이션(GI:Global Illumination) 기술로 눈을 돌릴 수 있었던 해였다고 말할 수 있다.

글로벌 일루미네이션(이하, GI)이란, 일본어 번역으로는 「대국 조명」이 되고, 간단하게 말하면 「라이팅을 간략화하지 않고 현실 세계에 맞은제대로 것으로 하자」라고 하는 어프로치이다.

현재의 표준적인 3D게임 그래픽스의 렌더링 파이프라인에서는, 3D오브젝트의 라이팅은, 정적인 것이 없이 동적으로 설치된 광원으로부터의 직접빛 만으로 라이팅 되어 렌더링 된다. 그러나, 현실 세계에서는 빛은 공기중에서 산란해서 퍼지고, 직접빛을 맞은 오브젝트 자신이 그 빛을 반사시키고 다른 사람을 비추는 새로운 2차 광원이 되거나 한다. 현실 세계에서는, 이러한
복잡한 반사와 확산이 동시 다발적으로 일어나고 있다.

이것을 컴퓨터 그래픽스로 완전히 구현하려고 하는 것이 「라디오 시티」(Radiosity)나 「레이 트래싱」(Ray Tracing)등의 생각이다. 라디오 시티나 레이 트래싱을 현세대기의 리얼타임 3D게임 그래픽스에 성실하게 실현하려면  GPU의 성능이 아직 부족하다. 따라서, 이것들을 의사적으로 실현되는 방법을 고안하고, 한층 더 리얼타임에 실현하는 것까지를 생각하지 않으면 안 된다.

무엇보다 심플한 솔루션이지만, 그야말로 20 세기부터 있던 정적인 환경빛(Ambient Light)을 주는 수법과 라이트 맵으로 불리는 texture를 적용하는 수법이다. 정적인 환경빛은, 라이팅 결과에 일정량의 광량을 추가할 만한 것으로 GI로서는 전혀 올바르지 않다.「이 방은 흰 형광등의
방이니까라는 라이팅 결과로, 한결같게 흰색을 더합시다」라고 하는 생각이다.
 

라이트 맵의 수법은 좀 더 복잡하고, 그 씬의 정적인 광원에 대해서의 상호 반사 등을 성실하게 오프 라인으로 사전 계산해 그 결과를 texture에 출력해 버린다고 하는 것. 동적 캐릭터에는 보통 직접광라이팅 밖에 되지 않기 때문에 약간 뜬 기분이 들지만, 정지화면의 비주얼로서는 그 나름대로 설득력의 높은 것이 된다.

이러한 심플한 솔루션으로부터 한 걸음 내디딘, 동적인 GI표현에 대처 낸 타이틀이 2009년은 눈에 띄게 증가했던 것이다.「누가 첫번째인가」라고 하는 엄밀한 등장 순서까지 모르지만, 일본 내에서는, 그 상징적인 타이틀이 된 것이 세가의 「소닉 월드 어드벤쳐」였다.

「소닉 월드 어드벤쳐」에서는, 정적 오브젝트의 GI를, 사전에 오프 라인으로 계산하고, 그 계산 결과를 texture에 그린다라고 하는 라이트 맵적인 수법으로 더해서(팀 내에서는 GItexture라고 명명), 공간에서 보이지 않는 관측점을 설치해두고, 거기에서 간접빛이나 환경빛이 어떤 식으로 오는지를 사전 계산하는 수법을 채용하고 있었다.

「소닉 월드 어드벤쳐」의 실현에서는 각 환경빛의 관측점에 대해 방사상으로 8 방향의 빛을 발하는 사양으로 하고 있었다. 감각적으로 말하면 그 스테이지 공간에 대해, 적당한 간격으로 8 방향으로 발광하는 광원을 배치한 이미지가 된다. 이 수법을 개발 팀에서는 「라이트 필드」라고 부르고 있었다. 덧붙여 런타임 시에는, 사전 계산으로 얻고 있는 각 관측점에 있어서의 환경빛으로 동적 캐릭터를 라이팅 한다.


사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

1. 라이트 필드 없음    
2. 라이트 필드만을 적용한 결과       
3. 두 화면을 합성한 완성 화면

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지
라이트 필드의 개념도와 실기로의 라이트 필드를 가시화한 샷



「바이오해저드 5」(캡콤)에서도, GI에 배려한 구조가 도입되고 있던 타이틀 중의 하나다. 플레이어가 확실히 들리는 곳, 게다가 인상적인 비주얼을 플레이어에게 보여 주고 싶은 곳에, 아티스트가 환경빛을 큐브 맵 구조로 수동 설정하고 있었다. 설정 시에는, 스테이지안의 요소 요소에 영향 범위를 설정해, 그 영향 범위를 지배하는 환경빛이 설정된다. 그리고, 이 영향 범위에
 들어간 3D오브젝트에 대해서 전방위 6 방향에서의 환경빛을 준다. 환경광 큐브 자체는, 그 씬에게 줄 수 있던 모든 정적인 광원을 설정해 상호 반사까지 배려한 대국 조명 계산을 행해 사전 생성하고 있다.

사용자 삽입 이미지




「바이오해저드 5」에서 설정된 큐브 맵의 일례





덧붙여 환경빛을 주는 큐브 맵은 무수하게 되므로, 이것을 실제의 큐브 맵인 채 온 메모리 메니지먼트 하는 것은 현실적이지 않다. 거기서 「바이오해저드 5」에서는, 큐브 맵 환경빛을 9개의(계수를 준) 구면 조화 함수(SH)로 근사 표현해 실현하고 있었다. 실제의 리얼타임 라이팅 시에서는, 큐브 맵 상태로는 되돌리지 않고, SH인 채 직접 라이팅을 행하는 수법 「SH라이팅」을
채용하고 있다. 덧붙여 「바이오해저드」에서는, 원리적으로는 스탠포드 대학의 Ravi Ramamoorthi 준교수들의 「An Efficient Representation for Irradiance Environment Maps」의 수법이 채용되고 있다.

사용자 삽입 이미지사용자 삽입 이미지
1. 큐브 맵의 영향 범위를 가시화한 화면             
2. 완성 화면

사용자 삽입 이미지사용자 삽입 이미지
1. 구면 조화 함수에 의한 환경광 없음        
2. 구면 조화 함수에 의한 환경빛 있음

사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
Ravi Ramamoorthi준교수들의 「An Efficient Representation for Irradiance Environment Maps」의 슬라이드로부터 발췌



Guerrilla Games의 「KILLZONE 2」에서도 9개의 SH계수를 이용한 SH라이팅을 유사 GI수법으로서 채용하고 있었다. 이 작품의 GI의 기본적인 생각은 「소닉 월드 어드벤쳐」의 수법과 매우 비슷하다.

씬의 각 지점에 대해 전방위로부터 빛이 어떻게 들어 오는지를 채취하는 Light Probe를 설치하고, 그 씬에 배치된 정적인 광원에 도착해서, 복잡한 상호 반사에까지 고려한 대국 조명 계산을 오프 라인으로 시간을 들여 계산한다. 실제의 리얼타임 렌더링 시에는, 근접하고 있는 4개의 Light Probe를 읽어내 구면 조화 함수로부터 그 Light Probe의 전방위 광량을 디코드해, 이것을 바탕으로 8×8 텍셀의 구면장 texture(구면 좌표계의 전방위 texture)를 작성한다.「KILLZONE 2」는 PS3 전용 소프트인 점을 살려, 이 처리를 GPU와는 병렬로 SPU로 행하고 있다.

사용자 삽입 이미지사용자 삽입 이미지

1.「KILLZONE 2」로부터. Light Probe를 가시화한 화면 
2.「언챠티드」시리즈의 GI도「KILLZONE 2」와 같은 방식




EPIC GAMES의 게임 엔진, 미들웨어 「Unreal Engine3(UE3)」에서도, 사전 계산 Light Probe 베이스의 유사 GI수법이 추가되었다. 이 기술을 EPIC GAMES에서는 「Lightmass」라고 명명하고 있다.

UE3에 있어서의 동적 캐릭터에의 일체감이 있는 유사 GI라이팅 수법은, 「소닉 월드 어드벤쳐」, 「바이오해저드 5」, 「KILLZONE 2」등과 기본적인 생각은 같고, GItexture의 사전 계산 시에, 설치해 둔 각 Light Probe에 있어서의 전방위로부터의 입사광정보를 취득하는 방법을 채용하고 있다. 덧붙여 UE3에 있어서의 LightProbe의 설치는 세미·오토메이션 사양이 되고 있어 주요 캐릭터가 이동 가능한 범위, 혹은 플레이어가 도달할 수 있는 범위에 대해 간격을 좁혀서 Light Probe를 설치해, 그렇지 않은 곳은 넓게 설치한다고 하는 알고리즘이 채용되고 있다. 덧붙여 실제의 라이팅 시에는 대상 캐릭터의 주위 3개의 Light Probe를 샘플링 해 환경빛의 라이팅을 행하는 실현이 되고 있다라는 것.

사용자 삽입 이미지사용자 삽입 이미지

1. Lightmass에 의한 GItexture에 의한 유사 GI표현의 일례        
2. 사전 계산전에 있어서, 다각형상에 적용한 texture의 임의의 발광 재질 정보를
    취득하고, 그것들을 제대로 광원으로서 처리해 GI계산한다


사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지
1. Ravi Ramamoorthi준교수들의 「An Efficient Representation for
    Irradiance Environment Maps」의 슬라이드에서 발췌     
2. 신판 UE3에 있어서의 동적 캐릭터에의 GI라이팅



이러한, 사전 계산한 데이터를 바탕으로 한 리얼타임 유사 GI수법의 도입은, 향후도 한층 더 가속화할 것이다.

단지, 이것은 완벽한 것이 아니고, 중대한 제약이 아직  1개 남아 있다. 그것은 사전 계산하는 유사 GI의 원이 되는 광원이 모두 정적인 광원으로 한정되고 있다고 하는 점. 광원이 움직이거나 혹은 켜지거나 사라지거나 하는 광원에 대해서의 GI에 대해서는 사전 계산의 방법이 없기 때문에, 이것에 대해서는 향후의 과제로서 남겨진다.

이 과제에의 해답의 모색은 이미 시작되고 있어 「이미지·스페이스·포톤·매핑」(Image Space Photon Mapping)이나 「스크린·스페이스·글로벌 일루미네이션」(SSGI:Screen Space Global Illumination)등의 본격 실용화가 예견되고 있다. 덧붙여서, SSGI에 대해서는 캡콤의 MT체제 2.0이 실현을 완료한 것을 표명하고 있기 때문에, 「로스트 플래닛 2」에서의 실현이 기대되는 것이다.

사용자 삽입 이미지사용자 삽입 이미지

1. SSGI를 적용하지 않는 통상의 게임 화면( 「로스트 플래닛 2」)       
2. SSGI를 적용한 결과. 벽이 2차 광원이 되어 사다리를 간접조명 하고 있는
    것을 알 수 있을까

 


2부에 계속...




Posted by 스네이크

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2010.01.19 23:09
    댓글 주소 수정/삭제 댓글
    굉장하네요...
    마야 몇 번밖에 만져본 저로서는 도저히 상상도 할 수 없는 경지.
    이걸 번역하시는 주인장님도 굉장하시고...
    • 2010.01.19 23:54 신고
      댓글 주소 수정/삭제
      머 굉장들하죠~~ㅋㅋ ;;;;
      번역은 머 번역기 신공과 여기저기 줏어들은걸루다가~..;;ㅋㅋ
  2. XSI짱
    2010.01.21 02:59
    댓글 주소 수정/삭제 댓글
    이번에도 잘 읽었습니다!!
    지금 당장 만들어 보고 싶은 효과들이 너무 많네요! ^^
    • 2010.01.22 11:07 신고
      댓글 주소 수정/삭제
      와~ 소프트 이미지 다루시나봐요~~! ㅋㅋ 제 주위엔 다들 맥스파티뿐이라~~ ㅋㅋㅋ
  3. 2013.07.20 07:51
    댓글 주소 수정/삭제 댓글
    희미한 달빛이 샘물 위에 떠있으면,나는 너를 생각한다.


BLOG main image
유나이티드 센터
90년대 시카고의 유나이드센터를 기억하며... by 스네이크

공지사항

카테고리

PORT7 (924)
port_01(게임) (176)
port_02(영화) (399)
port_03(아이폰)iPhone & iPo.. (32)
port_04(애니메이션) (159)
port_05(TED talks) (99)
port_06(축구) (4)
port_07(사진) (3)
port_08(RUN) (52)

달력

«   2022/08   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

글 보관함

Total : 272,042
Today : 5 Yesterday : 8