Thoughts about MMOs

mmorpg.egloos.com

포토로그


MMO 장르를 메인으로 다룹니다.
by mmaniac


에버퀘스트 넥스트에서 복셀은 어떻게 쓰였는가 Everquest Next

컴퓨터를 조금이라도 접해본 사람들이라면 Pixel이라는 용어는 잘 알고 있을것이다.
픽셀은 Picture와 element를 합성한 단어로 작은 2차원 이미지 조각이다.

전국민이 알고있는 픽셀

보이는대로 픽셀은 2차원 이미지를 구성하는 작은 격자모양 조각이다.
픽셀의 3차원 버젼을 Voxel이라고 하며, 이름에서 알 수 있다시피 Volume과 element를 합성해 만들어진 단어이다.

복셀. 픽셀의 3D 버젼이다.

복셀방식을 사용한 대표적인 게임으로는 마인크래프트를 꼽을 수 있겠다.
2011년을 달구었던 국민게임 마인크래프트

이처럼 복셀방식을 사용한 게임의 경우
모든 사물이 3차원 격자로 구성되어 있기 때문에 사물의 파괴물리적 효과의 표현이 쉬운 반면,
같은 이유로 사실성이 떨어진다는 문제를 안고있다.

이것을 해결하기 위한 방법으로는 
먼저 복셀의 크기를 매우 작은 수준까지 줄이는 방법을 들 수 있겠다.

클릭하면 크게 보입니다.

오른쪽으로 갈수록, 사물 표현이 디테일해지는 것을 알 수 있다.
다음 예로는 복셀에 경사도(bevel)을 도입하는 것이다.

복셀의 모서리에 경사를 점점 더 주었더니 같은 복셀을 사용하면서도 비틀이 더 둥그스름하게 랜더링 되었다.


에버퀘스트 넥스트 개발진들은 이 두가지를 모두 사용했고 결과는 다음과 같다.


영상에 나온 것 이외에도 블록을 조각할 수도 있다고 한다.

하지만 이런 작은 복셀들은 필연적으로 서버 과부하를 야기한다.
각각의 복셀에는 위치정보, 재질, 윤곽정보 등이 들어있는데,
에버퀘스트 넥스트의 넓은 월드를 모두 작은 복셀들로 구성한다면 월드 내에 굉장히 많은 복셀들이 존재하게 될 것이다.
이 복셀들은 하나하나가 모두 위에서 말한 위치, 재질, 윤곽 등의 정보들을 포함하고 있기 때문에 
굉장히 많은 양의 데이터가 서버 내에서 처리되어야 하는 문제가 있게 될 것이다.

이것에 대한 해답으로 에버퀘스트 넥스트 개발팀은 Procedural generation이라는 기술을 사용하였다.
노이즈 알고리즘과 노이즈 텍스쳐를 사용해 기본적인 지형을 생성해 내는데
알고리즘만 가지고 있으면 되니 굳이 대량의 데이터를 서버에 가지고 있을 필요가 없다고 한다.

휴먼 위저드 뒤에 보이는 지형과 텍스쳐는 대부분 자동생성된 것이었다.
물론 특정 지역--유적이나 계곡 등--은 자동생성된 지형 위에 디자이너들이 복셀 브러시로 직접 만든다.

전투 등으로 맵이 파괴되면 이것은 복셀 정보의 변화를 일으키고 서버 내 새로운 데이터가 저장되지만,
곧 복셀 데이터를 Procedural 데이터로 바꾸고 이를 바탕으로 원래의 지형으로 복구해
서버 부담을 줄이는 것이 가능해진다.
즉, 에버퀘스트 넥스트 지형의 자체힐링 시스템은 지형보존을 위해 집어넣었던 것이 아닌
서버 부하를 줄이기 위한 필수적인 시스템이었던 것이다..ㅎ

퀴노스같은 주요도시들은 파괴불가능으로 설정된다고 하는데
이것 역시 복셀로 구성된 서버의 안정성에 도움을 주고 있는 것이라고 할 수 있겠다.

랜더링에 대해 더 설명하고자 하는데, 에버퀘스트 넥스트의 초기 버젼에서는 

1. 모든 복셀들을 하나하나 렌더링해야 했고
2. 복셀에 경사나 곡선을 줄 수도 없었는데

복셀 데이터를 가져와 Mesh로 렌더링함으로써 두 마리 토끼를 모두 잡을 수 있었다.

메쉬의 사용으로 위의 동영상처럼 유적의 경사표현이나 부드러운 구체 표현이 가능해졌고
수많은 복셀들을 하나하나 일일히 렌더링할 필요가 없게 되었다.

또한 거리에 따라 디테일을 다르게 표현하는 LOD(level of detail)이라는 기술도 사용되었는데
카메라에 가까이 있을수록 고해상도의 메쉬와 텍스쳐를 사용하고
멀어질수록 반대로 저해상도를 사용하는데 이 과정이 구분할 수 없을만큼 자연스럽게 처리되었다고 한다.
또 멀리 있는 복셀의 경우 각각의 복셀이 메쉬를 형성하게 하는 대신
여러 개의 복셀을 하나의 큰 복셀로 묶어 하나의 큰 저해상도 메쉬를 형성하게 만들어졌다.

이런 식으로 최적화가 진행되어 현재 에버퀘스트 넥스트는
노트북이나, 나온지 4-5년 된 컴퓨터에서도 돌아갈 수 있다고 한다.




덧글

댓글 입력 영역