inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이득우의 꼭 배워야하는 게임 알고리즘

4강 쿼드트리의 개요와 동작원리

쿼드트리 옥트리가 활용되는 예시에 대하여 더 여쭤보고싶습니다.

해결된 질문

216

고우진

작성한 질문수 26

0

3D던전 로그라이크 게임을 개발중인 초보 개발자입니다.

PCG알고리즘에 부족한 점이 있는 것 같아 수강 하였습니다.

 

활용된 예시로는 2D플랫포머, 탄막게임에서의 최적화 부분과 3D게임에서 LOD로 부분 렌더링하는것 까지는 이해하였는데 활용된 다른 예시들이 궁금합니다.

unity 알고리즘

답변 1

0

이득우

공간 분할 알고리즘은 대상(범, 범위)에 따라, 자료 구조에 따라 다양한 구현 방법이 존재합니다.
질문 주신 것처럼 이를 사용하는 분야가 딱 정해져있다고 보긴 어렵습니다. 사실 이 알고리즘은 게임 뿐만 아니라 다른 곳에서도 사용되기 때문이죠. 강의에서 설명하는 공간 분할 알고리즘은 다양한 구현 방법 중 하나의 예시일 뿐입니다.

강의에서 설명하는 쿼드트리나 옥트리는 과거 게임 엔진을 직접 제작할 때 씬을 분석하고 처리하는데 사용되어 왔습니다. 지금은 많은 사람들이 상용엔진 기반으로 게임을 제작하기에 전통적인 활용방식을 사용할 일은 없다고 봐야겠지요. 기본적인 기능은 이미 엔진이 다 알아서 처리해주고 있기 때문이죠.

그래서 게임 콘텐츠를 만들 때 이 알고리즘을 꼭 쓴다고 이야기하기는 애매한 부분이 있습니다.

다만 게임 기획에 따라 구현할 때 공간분할이 필요한 경우가 종종 발생합니다.
O(N)으로 해결이 안될 것 같은 문제를 O(Log)로 해결할 일이 발생할 때 예제를 응용해 해결해보면 좋을 것 같습니다.

1

고우진

예를 들면 A*알고리즘은 유니티의 navMesh로 간편화처럼 엔진의 이해와 응용을 위한다고 생각 할 수 있고 KD,BSP트리는 제가 구현중이던 PCGmap생성기에서의 알고리즘에서 방을 연결하는 통로를 만들 때 조금 더 최적화 시킬 수 있는 그런거라고 생각하면 될까요

0

이득우

네 그렇게 이해해주시면 됩니다. 다만 방을 연결하는 방법에 대해서는 본 강의에서 설명하지 않는 다른 알고리즘들도 있으니, 여러가지 자료를 참고해주시면 될 것 같아요.

연결리스트 삽입삭제 O(1) 아닌가요?

0

8

2

코딩 테스트 All-in-One(Java)' 강의 노션 교재 권한문의

0

16

1

유니티 허브 다운로드

1

22

2

태어난김에 세계일주 시간 초과

0

16

1

커리큘럼 중 정렬 관련 질문

0

15

1

코테 사이트 로그인 불가

0

22

1

비쥬얼 스튜디오에서 unity연결이 없습니다.

0

41

2

UserDataManager 클래스 hasSaveError 처리

0

24

2

제공해주신 자료에 스크립트들이 빠져있습니다

0

22

2

실습 권한이 없네요··· 이건 ··· 좀··· 401 에러떠요

0

29

3

백준 사이트 서버종료

1

26

0

플레이어를 왜 ECS로 만드는 건가요?

0

26

1

[할인쿠폰] 코테의 바이블[JAVA] 50% 할인 쿠폰 관련

0

23

1

강의에서 나온 알고리즘 외에 추천 하시는 알고리즘이 있을까요?

0

72

2

쿼드트리 구현 강의자료에 포함된 LQNode의 GetQuads함수에 궁금한 점이 있습니다.

0

470

2

A* 알고리즘에 대해 질문있습니다!

0

353

1

움직이는 물체에 대한 쿼드, KD트리 효율 질문

0

489

1

BSP트리를 활용한 렌더링 순서 관련 질문

0

410

1

쿼드트리 삽입 프로그램 실행 예시 질문

0

330

1

알고리즘 확인(?) 질문

0

441

2

우선순위큐로 구현시

0

355

1

19:35 리스트와 이진힙의 구조비교

0

231

1

depth 구할 때 floor로 처리하면 -1이 사라지는 과정이 잘 모르겠어요.

-1

394

1

GetQuads가 out of area를 체크 할 수 있는건가요??

0

328

1