티스토리 뷰
3 D게임 팬을 위한
「완다와 거상」그래픽스 강좌
2006년 봄에 플레이 스테이션 3이 발표될 예정이라고 하는 이 타이밍으로는, 플레이 스테이션 2라고 하는 게임 플랫폼은 최숙성기라고 할 수 있다고 생각한다.이러한 시기, 세상은 차세대기에 눈길이 가기 쉽상이지만, 실제의 곳은, 그 현행기의 라이프 타임 기간중에 길러진 기술의 집대성이 결실을 보는 타이밍이기도 해, 명작 게임으로 불리는 것은 이러한 시기에야말로 많이 등장한다.
이번 겨울, 등장한 「원다와 거상」도, 그런 PS2최숙성기를 대표하는 작품이라고 말할 수 있을 것이다.
「원다와 거상」은 게임 그 자체도 완성도가 높고, 순수하게 「재미있다」가, PS2라고 하는 범위내에서 동작하고 있는 단체 소프트웨어로서 봐도, 「상당한 하이테크감」을 감돌게 한 작품이며, 봐야 할 점이 많다.
거기서 이번, 「원다와 거상」의 개발 팀에 취재를 감행, 이 작품에 사용되고 있는 기술에 붙어 있어라 있으라고 이야기를 들을 수 있었으므로, 이것을 정리하기로 해 보았다.
■ HDR 렌더링+동적 노출 보정 톤 매핑은 실은 유사 수법
원다와 거상의 HDR 렌더링 표현은 의사적인 것이지만, 그 효과는 크고, 매우 인상적인 비주얼을 만들어 내고 있다 |
어두운 신전 옥내에서 옥외에 뛰쳐나오면, 옥외 정경은 거의 흰색 난 것처럼 묘화 되어 약간 늦어 적정한 휘도 밸런스에 침착하는 표현이 된다.이것도, 효과만으로 말한다면, HDR 렌더링에 동적 톤 매핑을 조합한 표현에 생각된다.
【screen shot】 | |
---|---|
유사 HDR 렌더링의 효과는 여기저기에서 볼 수 있다.휘도 밸런스가 애하의 주인공에게 합쳐지고 있으므로 상대적으로 밝은 하늘이 날아 기색이 되어 있다 |
HDR 렌더링이나 톤 매핑에 대해서는 본연재「3 D게임 팬을 위한 「Half-Life 2: Lost Coast」엔진 강좌~ 「Lost Coast」가 실현되는 리얼 HDR 렌더링의 충격」을 잘 안지만, 여기에서도 개념을 간단하게 해설해 둔다고 하자.
HDR 렌더링은 렌더링 자체를 디스플레이나 텔레비전의 표시 가능색에 붙잡히지 않고 광역에 행하는 것으로, 톤 매핑은 HDR 렌더링 결과를 적정한 휘도 밸런스로 디스플레이나 텔레비전의 표시색에 정돈하는 공정을 가리킨다.
원래 3 D그래픽스는 컴퓨터의 연산 기능을 사용해 현실 세계에 가까운 영상을 만들기 위한 방책의 하나로서 태어난 것이다.현실 세계에는 강렬한 밝기, 어두운 부분에 대해서도 미묘한 계조가 존재하지만, 인간이나 카메라는 이것을 보았을 때에 제일 보이기 쉽게 카메라의 짜, 셔터 스피드, 눈동자의 개도등을 조정해 보고 있다.3 D그래픽스에 대해도, 렌더링 공정을 현실 세계 같은 방대한 범위의 광량을 고정밀도에 행해(HDR 렌더링), 이것을 표시 단계에서 카메라나 눈의 시뮬레이션을 개입시켜(톤 매핑), 리얼한 영상을 얻으려고 하는 것이 HDR 렌더링의 어프로치가 된다.
HDR 렌더링은 DirectX 8세대 이전의 PC용 GPU나, 일반적인 현행 게임기로 사용되는 RGB 각 8비트로 나타내지는 1,677만색체계에 기록하는 것이 어려운(무리하게 할 수 없지도 않지만 늦어진다) 것으로, “그것 같게 보인다”, 유사 HDR 렌더링이 게임 그래픽스에 유행하고 있다.
Xbox 360이나 PS3에서는, RGB 각 16비트 부동 소수점(FP16) 화 된 포맷에 대응하고 있어, 최초부터 HDR 렌더링을 전제로 한 하드가 되고 있지만, 현행 PS2에는 그러한 포텐셜은 없다.그 말은 「원다와 거상」의 그래픽스도, 유사 HDR 렌더링이라고 하는 것이 용이하게 상상이 붙는다.
그런데, 의사적인 HDR 렌더링이라고 하면, 옛날에는 역광시의 렌즈 플레어 표현, 최근에는 강휘도 부분을 포스트처리의 화상 가공으로 빛이 넘쳐 나와 해(개화 효과)를 부가 묘화 하거나라고 하는 수법이 일반적이다.여기로부터 한층 더 적정 휘도에 보정 되거나 하는 노출이나 눈동자의 시뮬레이션 표현까지를 행하는 유사 HDR 렌더링의 도입은 소수파지만, 「원다와 거상」에서는, 플레이어가 있는 씬에 따르고 이것을 행하고 있는 것처럼 보인다.이것은 어떤 테크닉일 것이다?
【의사적인 HDR 렌더링】 | |
---|---|
처음은 날아 기색에서도(화면왼쪽), 점점 적정 휘도에 침착한 비주얼(화면 오른쪽)에 리얼타임 변화하는 표현이 다용되는 본작.눈이 익숙해져서 간다……라고 하는 실제감 표현에 결합되고 있다 |
■ 「원다와 거상」의 유사 HDR 렌더링의 정체
「저것은, 실은, 기본적인 생각은 우리의 전작품인 「ICO」와 같은 수법입니다.어느A 장소에서 어디를 보았을 때에는, 거기는 흘러넘친다……라고 하는 처리를 하고 있을 뿐입니다」(SCE 제일 제작부, 세키 타쿠야씨)
「원다와 거상」에서는, 맵상의 여기저기에, 세세한 박스 형상(상자 모양)의 씬 정의가 설정되어 있어(본고에서는 편의상씬 박스라고 부르기로 한다), 그 박스내에 플레이어가 있었을 때에는, 거기에서 보는 정경에는 거기로 설정된 효과가 들어가는 구조가 되어 있을 뿐이다라고 한다.
즉, 신전안의 케이스로 말하면, 「신전 내부는 항상 어둡기 때문에, 거기로부터 밝은 밖을 보았을 경우는 그 정경은 희게 나는 것이 자연」이라고 생각한 위에 「그러한 효과를 넣는다」라고 하는 씬 정의가 이루어지고 있을 뿐이다.
「렌더링 자체는 보통으로 하고 있습니다.정의된 씬 효과에 따라서, 옥외 정경에 빛이 넘쳐 나오는 효과를 적용하고 있고 있을 뿐 입니다」(관씨)
순서를 나타내면 이하와 같이 되어 있다고 한다.
- 원경을 렌더링 해 보존
- 근경을 렌더링
- 원경과 근경을 합성
합성에는(2) 후의 심도(z) 버퍼의 내용을 마스크 패턴과 같이 해 활용하고 있는 - 같은(2) 후의 심도 버퍼를 활용하고 근경을 뽑은 마스크 패턴과 같은 영상을 작성
- 이것을 바이리니아피르타로 64×64 닷까지 축소(초저해상도로 한다)
(8)로 재이용 - 전 프레임 묘화시의 것(7)을 씬 박스 마다 설정된 비율로 반투명 합성
- (6)으로 완성된 영상을 보존
다음 프레임 묘화시에도 유용하는 - 이번은(5)을 바이리니아피르타로 적당한 해상도에 확대
이것이 원경이 근경의 윤곽으로부터 넘쳐 나온 것 같은 개화 효과용의 소재가 되는 - (7)와(8)를 씬 박스 마다 설정된 비율로 반투명 합성
그러면, 어두운 곳으로부터 밝은 곳에 이동했을 때나, 반대로 어두운 곳으로부터 밝은 곳으로 이동했을 때에 행해지는, 적정 휘도에 서서히 보정이 걸리는, 마치 동적 톤 매핑을 행하고 있는 표현은 어떻게 있는 것일까.
신전 내부에서 옥외로 뛰쳐나오면, 신전 내부의 씬 박스로부터 뛰쳐나온 것이 되므로, 이제(벌써), 신전 내부용의 효과는 적용되지 않게 된다.이 판단은 2치적인 디지털식 차원에서 행해지지만, 갑자기 씬 효과가 바뀌어 버리면 부자연스럽게 보인다.거기서, 플레이어가 씬 박스를 또 있어라면 나무에는, 조금 시간을 할애해 서서히 다음의 씬 박스의 효과에 추이해 가는 처리를 하고 있다.
「신전내에서는 옥외 정경이 날아 기색에 그려진다」→「신전외에서는 옥외 정경이 보통으로 그려진다」라고 하는 추이를 단계적으로 부드럽게 행하는 것으로 의사적인 톤 매핑 효과를 내고 있다는 것이다.
「이 일련의 씬 박스의 구조는, PS2에 걸리는 부하보다, 제작측의 수고에 걸리는 부하가 높습니다.어쨌든, 광대한 「원다와 거상」의 세계에 수작업으로 설정해 있으므로」(SCE 제일 제작부, 스기야마 이치우지)
■ 모션 브라-와 잔광 효과, 그리고 frame rate
「원다와 거상」에서는, 시점을 움직인 것만으로도, 영상이 흔들리는 표현 「모션 브라-」가 발생한다.
모션 브라-의 실현 방법에는 여러가지 수법이 있지만, 「원다와 거상」에서는, 렌더링 한 현재 프레임을, 카메라의 방향의 이동량에 맞추어 얇게 거듭해 그린다고 한다, 가장 기본적인 기법을 적용하고 있다.표현해야 할 내용에 비하면 처리 속도나 메모리에 여유가 없는 PS2에서는, 코스트 퍼포먼스적으로 리즈너블한 수법이라고 말할 수 있자.
【카메라 브라-의 개념도】 | ||
---|---|---|
이동량에 따라 현재 프레임을 늦추고 반투명으로 거듭하는 |
원프레임 | ||
브라-시킨 결과 |
덧붙여 캐릭터에 대해서는, 이 카메라 브라-는 걸칠 수 있지 않았다.이 카메라 브라-를 캐릭터에까지 걸쳐 버리면 캐릭터가 너무 희미해져서 플레이에 지장이 나오는 일이 있었기 때문에라고 한다.
그러나, 잘 보면, 「원다와 거상」에서는, 플레이어 캐릭터가 달리거나 할 때등의 액션에 대해도 브라-가 발생하고 있는 것을 확인할 수 있다(하 화면).이것은, 카메라 브라-와는 별처리로 실현되고 있는 브라-효과에 의하는 것이다.
이것은 현재 프레임으로부터 전 프레임의 뼈 위치로 향해서 다각형을 생성해, 그 다각형에 대해서, 현재 프레임의 캐릭터 영상을 texture로서 적용하는 것으로 표현하고 있다.
거상에 매달리고 있을 때에, 거상이 큰 액션을 행해 「하늘」→「거상의 몸 위」→「지면」이라고 하는 식으로 어지럽게 시야가 이동할 때 , 시야가 지면에 비쳤을 경우에도 하늘의 강휘도가 남아 보인다.시점을 격렬하게 움직였을 때에도 같은 효과가 일어나지만, 이것은 인간이 강휘도의 것을 보았을 때에 일어나는 잔광 현상과 같은 표현이 되어 있다.이것은, 모션 브라-가 아니라, 유사 HDR 표현의 강휘도 표현 효과가 지연 해 사라져 가는 과정에서, “너무 시야의 움직임이 격렬하면 남아 보여 버린다”라고 하는, 우연한 산물이라고 한다.의외롭게도 효과적인 비주얼이 되어 있으므로, 조정을 행하다가 남기고 있는 것.이것은, 전단의 유사 HDR 렌더링의 흐름을 설명한 플로우로 말하는(6)의 부차적인 효과다.
모션 브라-도, 이 잔광 효과에 대해서도, 역시, 씬 박스 마다, 세세한 조정 파라미터와 함께 설정되어 있다.플레이중 잘 본다고 알지만, 모션 브라-나 잔광 효과가 일어나지 않는 장소도 있다.
그런데, 「원다와 거상」은, 비교적 frame rate의 증감이 격렬한 타이틀이다.실제, 가변 frame rate 설계가 되어 있어, 부하 밸런스에 의해 frame rate는 증감한다.60 fps의 케이스도 있으면 15 fps 근처까지 침체하기도 하지만, 모션 브라-의 효과가 들어가는 것으로, 체감상의 frame rate 증감은 최저한으로 억제되어 있다.
【브라-】 | ||
---|---|---|
캐릭터의 빠르게 움직이는 부분에도 브라-효과가 나타나는 |
거상의 움직임에 맞추어 시야가 격렬하게 흔들릴 때는, 시야 전체가 흔들리는 대담한 브라-효과가 나타나고, 실제감을 높여 주는 | |
보통으로 시선을 회전시켜도 브라-가 발생한다 |
■ 그림자 생성은 셀프 그림자 첨부의 스텐실 그림자 볼륨 기법을 채용
스텐실 그림자 볼륨 기법에 따르는 그림자 생성을 채용하고 있어 셀프 그림자 표현에도 대응한다.여기까지 하고 있는 PS2 타이틀은 소수파다.덧붙여 이 영상은 이번 기사 작성에 임해, 특별히 그림자를 배의 진함으로 강조한 것이 되어 있다 |
「원다와 거상」은 그림자 생성도 열중하고 있다.
본작의 그림자 표현은 얇은 그림자(반영 표현)가 메인이므로 이해하기 어렵지만, 셀프 그림자 표현에도 대응하고 있어, 자신의 그림자가 지면에 떨어질 뿐만 아니라, 자신의 몸자신에게도 떨어진다.예를 들면 주인공 원다의 팔의 그림자는 원다 자신의 동체에 투사 되고 있다.PS2의 게임은 기본적으로 캐릭터의 실루엣을 지면에 배치할 만한 것이 주류이므로, 그 중에 있어 「원다와 거상」의 그림자 묘사는 상당한 설득력이 있다.
이 「원다와 거상」에 있어서의 그림자 생성 기법은 「DOOM3」등과 같은 스텐실 그림자 볼륨 기법을 채용한다.
이 기법에서는, 최초로, 광원 방향에서 보고 윤곽이 되는 3 D오브젝트의 정점을 광원으로 나아갈 방향으로 지연시켜서 할 수 있는 그림자 영역(그림자 볼륨)을 생성한다.마지막으로, 시점으로부터의 씬 렌더링시에 묘화 하는 각 픽셀이, 그 그림자 볼륨 내부에 있는지(그림자가 된다), 밖에 있을까(빛이 맞고 있다)를, 시점에서 본 그 씬의 심도 정보(깊이 정보)를 참조하면서 판단하면서, 그 결과를 스텐실 버퍼에 기록해 나간다.최종적으로는 스텐실 버퍼의 내용에 따라서 묘화 씬에“그림자색”을 붙여 간다고 하는 프로세스를 취한다.
【셀프 그림자】 | |
---|---|
오른쪽은 같은 씬의 그림자 볼륨을 가시화한 것.이 그림자 볼륨 생성을 위한 정점의 지연 처리는 PS2의 CPU의 VU1를 활용해 행해지고 있는 |
이 기법에 따라 생성되는 그림자의 퀄리티는 높지만, 프로세스 최초의 그림자 볼륨 생성 시에 실제로 보이고 있는 씬보다 많이 다각형 묘화가 행해지기 위해, 부하가 높은 것이 난점이 된다.단지, 다행히도 「원다와 거상」에서는, 캐릭터가 많이 나오는 게임이 아니고, 원다, 말, 거상인 만큼 그림자 생성을 적용할 수 있으면 충분해서 「부하적으로도 빠듯이 어떻게든 적용할 수 있었다」(관씨)의라고 한다.
덧붙여서, 전작 「ICO」에서도 같이, 셀프 그림자에 대응한 형태로의 스텐실 그림자 볼륨 기법을 채용하고 있었지만, 저쪽에서는 동적인 리얼타임 그림자를 주인공의 ICO와 히로인의 요르다의 2명만 적용하고 있었다.
그런데, 그림자 볼륨 생성 시에는, 3 D캐릭터의, 어느 정점이 광원에서 보고 윤곽이 되는지를 판정하고, 이것을 지연시켜 그림자 영역을 생성해 나가는 것이지만, 이 처리는 PS2의 CPU의 VU1로 병렬적으로 행해지고 있다.(이)라고 해도 당연, 정점수가 많아지면 그 처리에 시간이 걸린다.
「DOOM3」등의 PC게임에서는, 그림자 볼륨 생성 시에 정점을 지연시키는“그림자의 원”이 되는 3 D캐릭터는, 실제로 눈에 보이는 3 D캐릭터와 동일(혹은 거기에 가깝다) 것을 이용하지만, 「원다와 거상」에서는, 이 코스트를 저감 시키기 위해서, 그림자 생성용으로 다각형수의 적은 다른 간략 모델을 이용하고, 속도를 벌고 있다라는 것.
주인공 원다는 대개 3,000 다각형 정도, 거상은 종류에도 밤이 18,000 다각형 정도라고 하지만, 그림자 생성용의 모델은 큰폭으로 다각형수를 삭감한 것이 되어 있다고 한다.예를 들면, 거상의 종류에 따라서 다르다라는 것이지만, 플레이어가 보게 되는 가시 모델의 불과1/40정도의 다각형수의 간략 모델로 그림자 볼륨 생성을 행하고 있다 한다.
게임중, 잘 보면 거상의 그림자는, 실제의 거상의 외관 형상보다 대략적인 것이 되어 있을 것이지만, 그림자가 반영 표현인 것으로, 그림자가 포괄적으로 투사 되는 것에 도울 수 있고, 위화감은 거의 없다.이 근처는, 직공 기술이라고 부르는에 적당한, 튜닝의 묘기라고나 할까.
덧붙여 부드러운 반영 표현은, 스텐실 버퍼에 생성된 씬내 그림자를 애매하게 해, 이것을 부드러운 색조로 그리는 것으로 실현되고 있다.이 반영 묘화는 그림자의 투사 거리에 배려하지 않는 화상 처리적인 어프로치이므로 물리적으로 올바른 표현은 아니지만, PS2의 해상도에서는 위화감은 전혀 없고 너무 충분한 효과를 발휘하고 있다.
【셀프 그림자】 | ||
---|---|---|
거상의 그림자 생성 모델은 다각형수를1/40에까지 삭감하고 있다라는 것이지만, 너무나 거체이기 위해 위화감은 전혀 없는 | 스텐실 그림자 볼륨 기법의 그림자를 오프로 한 영상 | 온으로 한 영상.셀프 그림자는 거상에도 나온다.덧붙여 이 쇼트에 대해도, 그림자의 진함은 배로 해 받고 있는 |
■ 거상에 나는 털은 파시이다로 실현
「원다와 거상」을 플레이 하면, 인상적으로 보이는 것이 적캐릭터인 거상에 난 「모피」(Fur:퍼)이다.퍼·시이다라고 하는 키워드는 프로그라마브르시다 1.x세대의 GPU가 등장했을 때에 유행해, Xbox나 PC게임등의 타이틀에서도 채용한 타이틀이 보여져 주목을 끌었던 적이 있었다.
「원다와 거상」에서는, 이 파시이다를 프로그라마브르시다 없음의 PS2로 실현되고 있다.퍼의 표현은, 생각은 프로그라마브르시다 1.x세대시에 유행한, 이른바 다층 쉘 구조 방식을 기본으로 하고 있다.
이미지적인 설명을 하면, 모피의 단면도를 그린 것 같은 texture를 붙인 다각형을, 털을 기르는 표피에 대해 평행에, 게다가 일정 간격을 열면서 반투명으로 평행에 겹쳐 쌓아 그려 가는 것으로 실현되고 있다.털의 단면을 적층해 나가는 것으로 털을 만들어내 가는 이미지다.어느 종류, 일종의 볼륨 렌더링이라고 할 수 있는 방법이다.
【퍼】 | |||
---|---|---|---|
털의 후와후와 한 느낌은 이 파시다로.「털끝」감이나 「나 있다」감, 털의 밀도감은 표피에 이식한 “털필레”에 의해서 표현되고 있다.잘 조정되고 있기 위해서 전혀 위화감은 없는 |
개발 화면.파시이다의 소재가 되는 모피의 단면도 texture를 붙인 다각형을, 거상의 표피에 일정 간격을 열고 다층에 거듭하고 있는 것이 확대 화면을 본다고 확인할 수 있는 |
다층 쉘 구조의 파시다는, 씬에 따라서는, 옥외의 풀의 표현에도 사용되고 있다.플레이중, 신경써 보자 |
그런데, 이 기법에서는, 겹쳐 쌓는 다각형의 수가 털의 리얼리티에 영향을 주는 것이지만, 「원다와 거상」에서는, PS2의 처리 능력의 한계도 있는 것부터 3~6 층이 되고 있다고 한다.
다층 쉘 구조 방식의 퍼에서는, 털의 질감인 후와후와감은 잘 표현되지만, 털의 고밀도감을 내려고 하면 상당양의 다층 묘화를 행할 필요가 나온다.그러나, 퍼의 극단적인 다층 묘화는, 즉 극단적인 반복 묘화가 되는 것으로, 이것은 도가 지나치면 비데오메모리에의 과부하가 되어, 그 외의 묘화 처리에 영향이 나온다.거기서, 그 시각적 효과와 부하와의 밸런스를 취하는 의미도 있고, 털을 옆으로부터 그린 texture를 붙인 다각형, 이른바 「털필레」를 표피에 대해서 수직에 심는 것으로 , 털의 고밀도감을 보충하고 있다.
털의 언저리가 「면」으로서 보는 시선 각도에서는 이 다층 쉘 구조 퍼가 잘 보이고 언저리를 빼앗도록(듯이) 보는 시선 각도에서는 털필레가 잘 보이게 되어, 서로 서로 보충해 거상의 털의 질감을 만들어 내고 있다.
프로그라마브르시다 세대의 GPU로, 이 다층 쉘 구조 퍼를 실현할 때는, 털의 단면 퍼 texture를, 법선 벡터를 texture화한 법선 맵을 이용해 픽셀 단위의 광원 처리(파 픽셀 라이팅)를 행하는 것으로 리얼리티를 높이는 것이 시어리였다.또, 픽셀 단위에 이방성 라이팅(시선 각도와 광원 위치 관계에 의해서 음영을 드래스틱으로 바꾸는 라이팅)을 행하는 것으로, 퍼에 대해서 특징적인 하이라이트를 주는 테크닉도 태어났다.물론, PS2에서는 이러한 일은 할 수 없다.
다만, 「원다와 거상」에서는, 이 퍼에 대해서도 정점 단위의 라이팅은 행하고 있어 그것 같은 음영은 표현되도록(듯이) 궁리되어 있다.
또, 거상이 움직이면, 털이 심어지고 있는 표피측이 변형하는 일이 있어, 각 퍼 층은, 이 표피의 변형이나 움직임에 추종 하는 형태로 움직인다.따라서, 올바른 모피의 거동 시뮬레이션은 행해지지 않기는 하지만, 거상이 움직이면, 없게 퍼가 움직이고 있도록(듯이)도 보인다.
어쨌든, PS2로, 여기까지의 퍼 표현이 리얼타임에 표현되고 있는 것은 특필에 적합하다.「원다와 거상」그래픽스의 특징의 하나가 되고 있으므로 꼭 체크 해 주기를 바라다.
【퍼】 | |||
---|---|---|---|
정점 단위의 라이팅은 행해지고 있어 털의 음영의 변화는 플레이중도 실감할 수 있는 |
이쪽의 맘모스형 거상의 머리 부분에는 5층의 퍼를 확인할 수 있다 |
■ 지형의 LOD 시스템과 읽어들여
「원다와 거상」에서는, 복수의 거상이 등장하지만, 거상에 둘러싸 만나기 위해서는 애마 아그로에 걸쳐 광대한 토지를 방황필요가 있다.
그 때, 「」(이)라고 생각하게 하는 것이, 거리 포그로 속이지 않고 요나 먼 곳까지 그려 자르고 있는 지형의 묘화 시스템이다.
지형 묘화는 3 단계로 나누어져 있어 가장 멀리 있는 배경은, 요나 먼 곳까지를 렌더링 한 영상을 texture로서 취급해, 이것을 붙인 다각형을 최먼 곳에 배치하고 있다.팀내에서는 이것 「Super Low」라고 호칭했다는 것.
계속 되고, 최먼 곳으로부터 약간 가깝게 되는 중거리로부터 원거리까지는, 저정도의 지형 데이터를 바탕으로 렌더링 하고 있다.이것은 600×600 m단위로 관리되고 있어 플레이어가, 어느A 일정 거리 이상 가까워지는 것으로, 근경의 고정밀도의 지형 모델에 바뀌지만, 그 때에 교체가 이상하게 안 되게 조정되고 있다고 한다.
또 1매 그림으로서 관리되기 전출의 Super Low최먼 곳 풍경은, 이 600×600 m로 관리되는 중 원경의1/30~1/100정도로 다각형수를 삭감한 모델로부터 구성된다.꽤 대략적이고 용량도 작기 때문에, 그 경치를 특징지우는 경계표지적인 오브젝트에 관해서는 항상 메모리상에 두도록(듯이) 하고 있다라는 것.이 1매 그림으로서의 최먼 곳 풍경은, 그 작고 대략적인 최먼 곳 모델 데이터를 이용해 매프레임 렌더링 하고 있다.이것에 의해, 이 Super Low최먼 곳 정경으로부터도, 심리스에 이 저정도 지형 모델이 출현하게 되어 있다.이 최먼 곳과 근경을 잘 연결하는 처리계에 의해, 위화감이 없는 광역인 지형 묘화가 되어 있다.
덧붙여 플레이어의 주위의 가까운 근경의 지형은, 100×100 m단위로 관리된 고정밀도 지형 모델로 렌더링 되고 있다.
거상은 터무니없고 크지만, 메모리의 용량에 여유가 없는 것도 있고, 지형과 같이 시점으로부터의 거리에 따라 모델 정도를 새로 바꾸는 LOD 시스템은 실장되어 있지 않다.시점에서 가까워도 멀어도 묘화에는 고정밀도 모델이 이용되게 된다.
그런데, 이 광대한 토지를 방황 있어 걷는 과정에서, 로드 대기 시간이 전혀 없는 것에도 깨달았을 것인가.너무 부드럽게 진행되므로 이 사실을 알아차리지 않는 플레이어도 많다고 생각한다.「원다와 거상」에서는, 오리지날의 자원 매니지먼트 시스템이 동작하고 있어, 광대한 필드를 방황은 있는 동안에, 실은 적당, 동적으로 백그라운드에서 읽기를 행하고 있다.
새로운 에리어에 들어가면 새로운 에리어의 지형 데이터나 texture등을 읽어들여, 대신에 불필요하게 된 데이터는 자꾸자꾸 파기된다.이것을 반복해 가면 메모리안은 사용 영역과 미사용 영역의 충해 상태가 되어 버린다.메모리의 사용 효율이 나빠져 버린다.
「원다와 거상」에서는, 수직 귀선 시간을 보고 여유가 있을 때, 백그라운드에서 이러한 메모리 영역의 재배치 처리를 행하고 있는 것이라고 한다.프로그램의 주소등도 재배치에 대응하는 구조를 도입하고 있다고 하고, 확실히, 오리지날 OS를 실장하고 있는 이미지다.그래픽스와 같이 눈에 보이는 기술은 아니지만, 그렇게 말한 부분에도 고도의 기술이 활용되고 있기 때문에, 작품으로부터 토탈 품위의 높이가 자아내지고 있을지도 모르다.
■ 움직이는 지형 「거상」이라는 충돌을 취하는 「변형 collision 시스템」이란?
「원다와 거상」은 오피셜 사이트에서도 「변형 collision 시스템」이라고 하는 키워드가 말해지고 있어 어쩐지 의미 깊은 분위기를 자아내고 있었다.이것은 어떤 것인 것일까.
collision(Collision)와는 충돌 판정을 가리키는 것이지만, 지금까지의 게임에 등장한 거대한 보스 캐릭터들은, 플레이어와의 상호 interaction라고 하는 점에 대하고, 의외로“담백한”관계에 머물고 있었다고 생각한다.
예를 들면, 그 거체에 잡아지면 사망……이라든지, 이쪽의 나는 일 도구가 명중하면 데미지가 주어진다……라고 하는 느낌이다.
「 「원다와 거상」에서는, 플레이어 캐릭터의 원다가 거체에 매달릴 수 있다고 한다, 매우“농밀한”interaction를 상정했기 때문에, 지금까지의 거대 캐릭터와는 다른 관리나 제어의 방식이 필요했습니다.그것이 「변형 collision」라고 하는 것입니다」(스기야마씨)
【거상에 잡히는】 | ||
---|---|---|
「원다와 거상」의 다이너미즘은 거대한 캐릭터와의 농밀한 interaction로부터 태어나고 있다 |
3 D게임에서는, 눈에 보이고 있는 3 D그래픽스와는 별도로, 충돌 판정용의 형상을 가지고 있다.
예를 들면 캐릭터가 암벽등에 4시오르거나 할 수 있는 3 D게임은 지금 일반적이지만, 이것은 암벽 모델의 형상에 따른 충돌 형상이 설정되어 있기 위해서 적확한 충돌 판정을 취하는 것이 되어 있다.
한편, 3 D슈팅 타입의 게임에서는 플레이어가 추방한 총격이, 적캐릭터에게 명중했는지 어떠했는지는, 적캐릭터의 외관 형상에 따른 충돌 형상으로 충돌 판정을 취하고 있다.박스(입방체) 장이나 스피아(구체) 장의 충돌 판정 부품을 그 3 D캐릭터의 뼈(뼈)에 따라서 설정해 나가는 경우나, 외관 형상을 꼭 닮은 3 D모델장의 충돌 판정 모델을 만들어 버리는 경우도 있다.
「원다와 거상」의 거상은, 「지형」이라고 해도 좋을 정도의 거체 모델인 (뜻)이유이지만, 이 거체가 팔을 휘두르거나 몸전체를 비틀거나와 여러가지 포즈를 취하기 위해, 지형과 같은 리짓드인 충돌 판정의 도입은 능숙하지 않다.또, 박스나 스피아와 같은 충돌 판정 부품을 설정하며 간 것은, 그 거체에 가까워졌을 때에 판정의 대략적임이 드러나 버려, 이것도 능숙하지 않다.
거기서 「원다와 거상」에서는, 전술의 3 D슈팅 게임의 예로 든 것 같은, 거상의 거체의 외관 형상에 가까운 충돌 3 D모델을 설정해 있다.거상이 포즈를 바꾸면, 그 거체 내부에 가르쳐진 뼈도 포즈를 바꾸게 되는 것이지만, 이 충돌 형상 모델도 뼈의 포즈에 따라서“변형”한다.이것이“변형”collision의 이름 소이라고 하는 것이다.덧붙여 충돌 형상 모델은 화면상에 그려질 것은 없지만, 이미지적으로는 삼각형(다각형)으로 구성된 3 D모델과 같은 것을 상상하면 된다.
복잡한 충돌 형상끼리의 적확한 정점 단위의 충돌 판정은 꽤 무거운 처리가 되므로, 본작에서는 PS2로 리얼타임 동작하기 위해서 리즈너블한 간략화 조치를 행하고 있다.
우선, 플레이어 캐릭터와 거상의 충돌에서는 플레이어 전체를 스피아장의 충돌 모델로서 파악해 복잡하게 설정된 거상의 외관에 가까운 충돌 형상에 대해서, 점(플레이어) 대면(거상의 충돌 형상을 구성하는 다각형)에서 행하고 있다.그리고, 거상과 외벽등과의 충돌에서는, 이번은 거상의 분을 스피아장의 충돌 모델에 떨어뜨리고, 점(거상) 대면(외벽등의 지형)에서 행하고 있다.「수 대 누구」로 충돌을 취할까에 의해서 적당, 충돌 판정의 입장을 새로 바꾸고 있다.
【거상의 충돌 모델】 | |
---|---|
거상의 충돌 모델을 가시화한 영상.거의 묘화용의 외형 모델과 다르지 않을 만큼의 정도의 높은 충돌 형상이다 |
【거상의 묘화 모델과 충돌 모델의 대비】 | |
---|---|
실제로 묘화 되는 거상의 다각형 이미지 | 거의 동일 개소의 거상의 충돌 형상 모델 |
【변형 collision의 실제】 | ||
---|---|---|
거상이 움직이면 그 충돌 형상 모델도 변형한다.이것이 변형 collision다 |
■ 역방향 키네마틱스에 의한 거상의 움직임 제어
가장 단순한 3 D게임에 있어서의 캐릭터의 이동은, 플레이어의 입력등에서 다음의 위치 정보를 산출하고, 이동 모션(달리는 모습이라든지)을 재생하면서 거기에 움직인다……라고 하는 처리계가 된다.이러한 3 D게임에서는, 뭐라고 할까 지면 위를 미끄러지도록(듯이) 하고 달리고 있는 것처럼 보여 버린다.
「원다와 거상」에 등장하는 거상은 어쨌든 크고, 플레이어는, 거상을 클로즈 업으로 보게 되므로, 단순한 방법으로 움직여 부자연스러움이 확실히 드러내 버린다.거상의 움직임 제어에는 문자 그대로 「땅에 다리가 붙었다」내디뎌 걷는 움직임이 필요하다.
거기서 「원다와 거상」의 거상의 움직임에는, 역방향 키네마틱스(IK:Inverse Kinematics)의 구조를 도입한 리얼 타임의 적응형의 보행 애니메이션 시스템이 실장되고 있다.
덧붙여서 키네마틱스와는 운동 기하학으로, 순서 방향(FK:Forward Kinematics)은“부모”관절 각도나 움직임으로부터“아이”관절이나 그 앞의 말단의 위치나 자세를 요구하는 것으로, 반대로 IK는 말단의 자세나 위치를 결정했을 때에, 아이 관절이나 게다가의 친관절까지의 적절한 위치나 각도를 요구하는 것.후자의 IK가 고도이고 복잡한 처리가 필요하게 된다.키네마틱스는 로봇 공학(로봇학)의 연구테마로서 번성했던 테마이지만, 최근에는 3 D게임에 대해도 연구나 실장을 볼 수 있게 되고 있다.「원다와 거상」은, 이 흐름을 탄 작품이라고 하는 것이다.
「원다와 거상」에서는, 우선, 거상의 이동 방향과 이동거리를 거상 AI(후술)에서 산출해, 계속 되어 거상의 보폭으로부터 내디디는 다리의 위치를 산출하고 있다.
거상의 노시노시와 걷는, 보행 애니메이션의 기본은, 아니메이타가 작성한 손수 만든 모션 데이터지만, 그 애니메이션 데이터에 대해서, 산출된 다리의 위치에 맞도록(듯이) 모션 데이터를 적당하게 보정하고 있다.
지형에는 기복이 있으므로, 다리의 놓여지는 방법의 각도도 바뀌어 온다.그러자(면) 자세에도 영향이 나오게 되어, 단순하게 다리의 위치만을 지면에 맞춘 것은 이상한 서는 방법이 되어 버린다.거기서, 다리의 높이, 각도, 방향에서, 각부위의 적절하다고 생각되는 자세를 뼈 단위로 산출도 하고 있다.덧붙여 이러한 뼈의 동적인 자세 제어 첨부의 IK는, 거상에 대해서 뿐만이 아니고, 플레이어 캐릭터의 원다, 그 애마 아그로에 대해서도 행해지고 있다고 한다.
【거상의 모션】 | ||
---|---|---|
거상의 다이나믹한 움직임은 데자이나의 계약금에 의하는 것 |
【원다의 모션】 | |
---|---|
단순한 모션 데이터의 재생이 아니고, 그 씬에 인타라크트 한 결과를 모션에 피드백하고 있는 것이 「원다와 거상」의 캐릭터의 움직임의 특징이다 |
거상의 AI의 씨가 되어 있는 센서를 가시화한 비주얼 |
예를 들면, 플레이어가, 정면의 일정 거리내의 지상에 있으면 곤봉을 거절해 내려 공격, 뒤로 있으면 회전 하고 정면을 향하도록(듯이) 하는, 등에 매달리고 있으면 떨어뜨리도록(듯이) 발버둥 치는……과 같은 정도다.
이, 어디에 어떤 센서를 설정해 어떤 움직임에 묶을까……라고 하는 작업이나 조정은, 프로그래머가 아니고, 거상 스크립터측에서 만들 수 있게 되어 있었다고 한다.거상의 AI는 단순한 고정적인 루프·소프트웨어가 아니고, 튜닝이 뛰어나 씬에 적합한 시스템이 되어 있는 것이다.
■ 실제감 흘러넘치는 액션은 물리 거동과 가산 모션에 의해서 태어난다
최근의 3 D게임을 말하는데 있어서 쓸데없이 화제에 오르는 「물리 시뮬레이션」이라고 하는 키워드.「원다와 거상」에 대해도, 여러가지 시뮬레이션이 행해지고 있지만, 안에서도 특징적인 것은 「진자의 시뮬레이션」이다.
플레이어 캐릭터의 원다가 거상에 매달리고 있을 때, 거상은 이것을 뿌리치기 위해서 발광한다.그 때, 브룬브룬과 플레이어 캐릭터가 괵 기다리고 있는 손을 축으로 좌지우지되는 것이지만, 이 거동 연산에 진자의 물리 시뮬레이션이 도입되고 있다.
진자의 시뮬레이션은 원다의 괵 기다리고 있는 손(팔)→동체라고 하는 단위와 동체→다리(다리)라고 하는 단위에 대해서 행하고 있어 이른바 「다중 진자」의 시뮬레이션을 행하고 있다.또, 팔에는 신축을 허용 한 「용수철 진자」의 시뮬레이션을 행하고 있다.
「단지, 이만큼이라면 무기질이 되어 버리므로, 이 시뮬레이션 결과에, 데자이나들이 붙인 인간적인, 필사적으로 해가 계속 보려고 하는 액션 모션을 더하고 있습니다.이것은 우리의 팀에서 「가산 모션」이라고 불러 온 시스템입니다」(SCE 제일 제작부, 타나카 마시노부씨)
물리 시뮬레이션이나 플레이어의 조작의 결과, 캐릭터에 대해서 움직임이 발생하면, 이 움직임을 캐릭터의 뼈에 대해서 「추가의 움직임 정보(차분 정보)」로서 가산해 준다.원래, 그 캐릭터가, 데자이나가 가르친 어떠한 모션을 재생하고 있었을 경우는, 그 움직임에 합성되게 된다.
다만, 이 구조는 말로 말할 만큼 간단한 것은 아니었던 것 같고, 어디의 뼈에 어떻게 가산하는지, 라고 하는 조정은 충실한 수작업으로 행했다고 한다.개발 초기로는, 가산한 결과, 손이 빠져 버리거나 동체와 다리가 어긋나 버리거나……라고 한 적도 있었다고 한다.이것은 전출의 IK를 적용하는 것으로 사리를 맞추고 있다.
원다 자신의 필사적임이 전해져 오는 액션은, 이 「사리 맞댐의 IK처리」와「디자이너가 붙인 모션」, 그리고 「물리 시뮬레이션의 결과」의 집대성에 의하는 것이다.
「아무래도 프로그램 제어만으로는 움직임이 무기질이 되어 버린다, 또 단순한 계약금 모션의 재생과는 조금 색다른, 그 상황에 용해한 자연스러운 액션을 실현했습니다.데자이나, 프로그래머의 각각이 본 적이 없는 액션을, 리얼타임에 화면안의 캐릭터들이 연기하고 있는 것을 보았을 때는 조금 감동적이었어요 (웃음).데자이나의 조건과 프로그래머의 주장이 융합한 훌륭한 시스템이 되었다고 생각합니다」(SCE 제일 제작부, 우에다 문인씨)
덧붙여 이 가산 모션 시스템은 플레이어에 대해서 뿐만이 아니고, 플레이어를 태운 말의 거동에도 행해지고 있다 한다.
【거상에 잡히고 있을 때의 모션】 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
'Game Tech Story' 카테고리의 다른 글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
글 보관함
Blog is powered by
Tistory / Designed by
Tistory
|