나는 포켓몬이나 젤다 같은 2D 탑 다운 45도 게임을 가지고있다. 객체의 y 값은 깊이를 결정하므로 y 값의 순서로 객체를 그려야합니다. 예를 들어 나무 뒤에 서있을 때, 나무가 당신의 나무 꼭대기에 서있는 것처럼 보입니다.렌더링 전에 y 값으로 객체 정렬?
현재의 디자인은 타일 열을 그려서 그 행에 서있는 모든 플레이어를 그린 다음 다음 행을 그려서 그 위에 서있는 모든 플레이어를 그립니다. 이 방법을 사용하면 플레이어보다 y 값이 높은 타일을 앞에 그려서 깊이를 시뮬레이션 할 수 있습니다.
그러나 내 플레이어는 현재 모든 타일이 그려진 후 반복되고 그려지는 객체 인 std::vector
입니다. 내 방법이 작동하려면 타일의 행마다 의 벡터를 반복하거나 현재 행에있는 경우에만 렌더링하거나 모든 플레이어를 y 값별로 정렬합니다. 이 두 가지 방법 모두 상당히 CPU 집약적 인 것처럼 보입니다. 어쩌면이 생각을 다 끝내고이 유형의 게임에서 깊이를 시뮬레이션하는 간단한 방법이 있습니다.
편집 : 이 게임은 MMORPG 형 게임이기 때문에 잠재적으로이 많은 플레이어/NPC의 도보 될 나는 매우 효율적인 방법이 필요한 이유 주위에 있었다.
아이디어 나 의견을 보내 주시면 감사하겠습니다.
감사