모델링 & 텍스쳐 정보 로딩 시점?
3D 게임이라면, 모델링과 텍스쳐를 사용할 것이다.
이건 당연한 건데...
요지는, 모델링과 텍스쳐를 불러와서 보여줄 때
어떻게 하면 효율적으로 할 수 있는가 이다.
1. 미리 불러오기
기본적으로, 그래픽 데이터들은
'로딩' 시점에 불러오는 방식이 제일 많이 쓰인다.
어떤 물체에 대해서 모델링과 텍스쳐 정보가 필요한 시점에서
그 데이터를 메모리에 올리기 시작한다면,
올린 시점~실제로 다 올라간 시점 사이에서는
물체는 보이지 않을 것이다.
물론 올리는 시간이 1프레임 이내로 끝난다면 상관없겠지만,
그건 현재 컴퓨터의 사양으로는 불가능하다.
그렇기 때문에, 어떤 모델링 또는 텍스쳐 정보가 필요할 거 같다 싶은 지점이 오기 전에
로딩 화면이 있고, 그 로딩화면에서 데이터를 메모리에 올리는 방식을 사용하는 게 일반적이다.
게임에 따라 다르지만
맵 이동이 있는 게임은 맵 사이사이에서 로드할 것이고,
스테이지 단위로 되어있는 게임은 스테이지 시작할 때 로드할 것이고,
심리스 맵으로 되어 있는 구조고, 맵이 매우 크다면,
전체 맵을 적절하게 나눠서,
다음 구역으로 넘어가기 전에 해당 구역의 정보를 불러올 것이다.
적당한 시점을 선택해서,
그 시점 이후로 필요한 데이터를 불러오면 된다.
2. 실시간
온라인 3D MMORPG에서 다른 사람 캐릭터가 주변에 지나갈 때,
그 캐릭터의 모델 & 텍스쳐 정보를 불러와야 한다.
그런데 위에 써놨듯이, 옆에 지나가는 캐릭터를
그 순간 로딩해서 보여주는 건 불가능하다.
따라서, 일정 거리에 들어왔을 때 불러오기 시작하는 방법이 많이 쓰인다.
또는, 마비노기 영웅전에서 사용하는 후드 같은
적은 폴리곤 수/적은 메모리를 먹는 텍스쳐를 보여준 후,
실제 장비/외모 정보를 불러오기 시작하는 방법도 있다.
(마영전은 MMORPG는 아니지만...)