[GDC] Fez의 Trixels 기법에 대한 설명 by storm

지난 번 포스팅에서 살짝 소개한 Fez라는 독특한 게임의 구현 기법에 대해서 개발자의 실제 설명을 토대로 좀 더 자세히 알아보도록 하자.

원문: http://www.kokoromi.org/fez/ask-renaud/


트릭셀, 복셀, 픽셀 그리고 텍셀
좋아요, 우리가 트릭셀(Trixels)라고 부르는, Fez에 사용된 두 가지 렌더링 기술을 설명하겠습니다.

deviantART 와 TIGS blog post 의 몇몇 분들이 그저 복셀과 다를 바 없는 이것이 왜 (트릭셀이라는) 새로운 이름을 갖고 있는지를 지적했었죠. 리드 프로그래머로서, 조금... 다른 점에 대해서 알려드리고자 합니다.

우선, 모든 것은 항상 3D로 렌더링됩니다. 2D로 보이는 건 단지 시선 방향이 직각을 이루고 있기 때문이죠. 하지만 Z 좌표값이 사라지면, 캐릭터는 완전한 2D 세계처럼 간주되어 아주 멀리 있는 오브젝트에서 아주 가까이 있는 오브젝트 사이로도 아무 제약 없이 갈 수 있습니다.

여러분이 2D 시점으로 게임을 플레이하는 동안 볼 수 있는 각각의 픽셀 아트 타일은 우리가 트라일(trile)이라고 부르는 3D 정육면체의 한 부분입니다. 각각의 트라일은 4,096개의 잠재적인 트릭셀(trixel)로 구성된 16x16x16의 입체입니다. 엄밀히 말하면, 모든 트릭셀들이 모두 렌더링되는 것은 아닙니다. 만약 그렇게 한다면 엄청나게 느려지겠죠... 그래서 겉으로 드러나는 트릭셀들만 렌더링에 반영됩니다.  하지만 데이터 저장이라는 측면에서 본다면 이는 기본적으로, 렌더러로 하여금 트릭셀이 보이면/on, 안보이면/off 하도록 전달하는 3D 개체 배열입니다.


지금까지 저는 그것을 복셀(voxel)이라고 불러왔고 복셀과 전혀 다른 점이 없었죠... 하지만 렌더링이 되고 나면 트릭셀의 모든 2D 표면이 그럴듯한 픽셀 아트처럼 보이기를 원했습니다. 그래서 (트릭셀을) 더 작은 큐브(정육면체)로 만들 필요가 있었습니다. (이렇게 하려다 보니) 표준 복셀 폴리곤 측정(standard voxel triangulation)이 복잡해졌습니다 왜냐하면 그것은 가능한 (사물의) 본래 형태 (곡선적, 유기적)에 가깝게 보이도록 만드는 기법이기 때문이죠... 하지만 우리는 그런 걸 원한 게 아니었습니다! 8비트 게임 그래픽처럼 처리하고 싶었으니까요.

그래서 우리는 가설을 세웠죠. 그리고 트라일에 아주 좋은 디테일을 넣을 수 있게 해준 매우 직관적인 폴리곤 감축와 선별 알고리즘(culling algorithm)을 이끌어 냈습니다.

텍스처링을 위해서, 트릭셀을 픽셀과 연결시키는 것 이상의 큐브맵들이 필요했습니다. 각 큐브맵의 픽셀들은 (그래서 2D 픽셀처럼 보이는) 트라일의 트릭셀로 마감되죠.

그렇기 때문에 트릭셀들은 꽤 특별한 게임 속에 있는, 특수한 속성을 동반한 복셀이자 특별한 (단순화) 측량 알고리즘인 것이죠.




핑백

  • raiyan17님의 글 - [2008년 4월 3일, 목요일] 2008-04-03 10:23:33 #

    ... 화면 시점 변환 기능만 빼고는 2D 게임식으로 입력을 받으며, 그래픽 처리와는 달리 충돌 체크시 Z값을 빼고 슈퍼마리오와 같이 평면적인 X, Y값만 계산하여 충돌체크를 하는 듯. (관련번역) 오전 10시 23분 댓글 (0) 1 metoo 아이디어 자체는 큰 평가를 받지 못해, 아이디어는 항상 해결해야 할 난제를 안고 있지. 그런 난제를 해결하고 물건으로 만들어내 ... more

덧글

  • 캐티 2008/02/27 19:48 # 답글

    뭔가 단순한논리인듯한데 이해가 안됩니다...
  • storm 2008/02/27 20:01 # 답글

    음 역시 부연 설명이 필요하군요...
  • x랄마린 2008/02/27 23:49 # 답글

    복셀기술을 어케한다는거같은데 그다음부터는 모르겠네요(...)
    여하간 참 신기한듯..
댓글 입력 영역



통계 위젯 (화이트)

333
206
501319