미리 말하지만 필자는 4차원에 대해 조금도 모르는 상태이다. 그래서 시각적으로나마 이해하려한다.
이 글에서는 부정확한 내용이 있을 가능성이 높기 때문에 이 사실을 염두하고 글을 읽어줬으면 좋겠다.
우리는 3차원의 세상을 본다.
1차원은 점을
2차원은 선과 면을
3차원은 입체를 볼 수 있다.
이 글에서는 4차원에 대해 물리학적으로 이해하는 것이 아닌, 게임에서 어떻게 4차원을 3차원으로 표현하는가를 확인하는 것이다.
필자는 여러 영상, 글 자료들을 참고하여 이 글을 쓰고 있지만 이 글은 '글'이기 때문에 온전히 내용이 담길지 걱정이되지만 최대한 노력해보겠다.
3차원은 x,y,z축을 가지고 있다.
4차원은 그것보다 한 차원 높은 x,y,z,w 축을 가지고 있다. 이때 w는 시간을 의미한다.
이 글에서 시뮬레이션 하는 값으로는 회전과 w가 있으며, 회전과 w는 -1~1까지이다.
회전에서 -1은 -180°, 1은 180°이다.
w에서 -1은 좌표적으로 -1,-1,-1을 의미하며, 1은 1,1,1을 의미한다.
회전은 밑에 그림에서 예시를 들겠지만 외부적인 도형의 회전으로 내부적인 도형의 외형을 바꾸기 위함이고,
w는 아래 그림에서 3차원의 빨간색 평면과 같다.
3D에서 빨간색 평면이 앞뒤로 움직이며 렌더링되는 2D 세계가 변화하는 것이다.
빨간 판의 회전을 더 다이나믹하게 한다면 아래 그림과 같은 결과가 나온다.
간단하게 정육면체 형태에 빨간 판을 회전시키면 결과물로 파란 판이 보이게 된다.
그렇다면 궁극적으로 우리가 원하는 4차원의 형태에서 3차원으로 가는 방법은 2차원에서 3차원으로 높이듯 현재 빨간 판의 차원을 입체인 3차원으로 높이면 된다.
하지만 이때까지 3차원이었던 정육면체를 한차원 더 높이는건 물리적으로 물가능하기 때문에 일단은 3차원으로 두겠다.
그렇다면 파란 입체 도형이 최종 결과물이 되게 된다.
이제 w 값을 본격적으로 조작해보겠다.
이 도형에서 정육면체가 2개가 보인다면 설명이 쉽다.
정육면체 2개를 이은 중간의 선들을 w라고 생각하면 된다.
따라서 w는 시간을 나타낸다고 해석할 수 있다.
그래서 아까 위에서 언급했듯 w가 얼마나 이동했는지에 따라 도형의 크기가 변화한다.
이해를 돕기 위해 이번에는 외부 도형에 회전을 넣지 않고 w의 값만 변화시키겠다.
그러면 초록색(외부 도형)이 w값에 따라 (1,1,1)로 향함에 따라 교집합이 성립하는 부분이 적어지며 결과적으로 파란 도형의 크기가 작아졌다.
그렇다면 마지막으로 회전까지 넣어 w의 값을 변화시켜보겠다.
이렇게 결과물로 사면체를 얻었다.
그렇다면 번외로 4차원 맵을 어떻게 제작할 수 있을까?
이 그림에서 볼수 있듯이 4차원 도형은 우리가 볼 수 있는 3차원 도형이 여러개가 합쳐진 형태이다. 즉 시간에 따라 도형이 배치됐다고 생각할 수 있다.
따라서 가장 간단한 방법은 한 좌표계에 고정되어 있되, 동일한 위치에 맵이 여러개가 존재하는 것이다.
예를들면 플레이어 위치는 (0,0,0)으로 고정되어 있으며, 플레이어는 동시에 평원과 사막, 바다, 동굴에 함께 존재하는 것이다. 그리고 플레이어가 현재 있는 시간. 즉 w값에 따라 플레이어가 현재 볼 수 있는 환경이 달라진다.
평원은 0
사막은 0.25
바다는 0.5
동굴은 0.75라고 가정했을 때
w의 값이 선형적으로 변한다면 0.125는 평원과 사막이 공존하는 형태가 될것이며, 그 밖에도 여러 상황들이 연출될 수 있다. 평원 4: 사막 1이라던지 그런 상황 말이다.
물론 이런 레벨 디자인 방법 말고도 다른 방법들은 훨씬 많이 있을 것이다. 그것은 각자 자신들이 이해한 방법으로 앞으로 진행하면 될 일이다.
뭔가 이상한 예시이긴 하지만 위 예시가 적용된 다른 상황을 생각해볼 수 있다.
마인크래프트처럼 건축 시스템이 있을 경우에 집을 짓는 상황을 생각해보겠다.
원래 마인크래프트는 3차원 게임이다.
여기서 4차원으로 변경한다면 w의 값. 시간에 따라 모든 3차원을 전부 집을 지어야한다.
맵이 7개의 시간대가 중첩되어있다면 재료가 7배가 드는 것이다.
즉 1번 시간대에서 집을 짓고, 2번 시간대에서도, 3번, 4번에도 지어야 좀비의 침입을 막을 수 있다.
이렇게 생각하니 매우 성가시긴 한 것 같다.