2017-05-01 3 views
1

프로그래밍 된 게임에 많은 객체가 있고 항상 업데이트하지 않도록 inactive 상태로 만들었습니다. 플레이어의 특정 범위 내의 개체 만 업데이트하려고합니다. 그러나 객체가 멀리 떨어져 있는지 확인하려면 모든 객체를 다시 반복해야합니다.비활성 객체/엔티티를 업데이트하는 방법

개체가 너무 커서 모든 개체를 확인할 수 없습니다. 큰 게임은 어떻게 이것을 처리합니까?

답변

1

자주 움직이지 않는 개체가 많은 경우 각각 3d/2d 게임의 경우 oct/quad 트리를 볼 수 있습니다. 이러한 데이터 구조로 인해 플레이어와 가까이 있지 않은 객체를 빠르게 제거 할 수 있습니다.

그러나 개체가 자주 움직이는 경우 (소행성 게임을 생각해보십시오) 수동으로 확인하는 것보다 이러한 구조에 대한 부기 작업에 더 많은 시간을 할애 할 수 있습니다.

this 링크가 있는데, 이는 공간 파티션 전략을 단계별로 처리하여 유용합니다.

+0

+1 키워드 * 공간 분할 *에 대해. @JamesT 간단한 그리드는 Quadtree보다 구현하기 쉽고 플레이어 주변의 검색 반경이 많이 변경되지 않는 경우 (즉, 길이가 변경되지 않는 경우) 매우 효율적입니다. 플레이어 이동은 문제가되지 않습니다. – Socowi

관련 문제