쿼드트리 옥트리가 활용되는 예시에 대하여 더 여쭤보고싶습니다.
3D던전 로그라이크 게임을 개발중인 초보 개발자입니다.
PCG알고리즘에 부족한 점이 있는 것 같아 수강 하였습니다.
활용된 예시로는 2D플랫포머, 탄막게임에서의 최적화 부분과 3D게임에서 LOD로 부분 렌더링하는것 까지는 이해하였는데 활용된 다른 예시들이 궁금합니다.
답변 1
0
공간 분할 알고리즘은 대상(범, 범위)에 따라, 자료 구조에 따라 다양한 구현 방법이 존재합니다.
질문 주신 것처럼 이를 사용하는 분야가 딱 정해져있다고 보긴 어렵습니다. 사실 이 알고리즘은 게임 뿐만 아니라 다른 곳에서도 사용되기 때문이죠. 강의에서 설명하는 공간 분할 알고리즘은 다양한 구현 방법 중 하나의 예시일 뿐입니다.
강의에서 설명하는 쿼드트리나 옥트리는 과거 게임 엔진을 직접 제작할 때 씬을 분석하고 처리하는데 사용되어 왔습니다. 지금은 많은 사람들이 상용엔진 기반으로 게임을 제작하기에 전통적인 활용방식을 사용할 일은 없다고 봐야겠지요. 기본적인 기능은 이미 엔진이 다 알아서 처리해주고 있기 때문이죠.
그래서 게임 콘텐츠를 만들 때 이 알고리즘을 꼭 쓴다고 이야기하기는 애매한 부분이 있습니다.
다만 게임 기획에 따라 구현할 때 공간분할이 필요한 경우가 종종 발생합니다.
O(N)으로 해결이 안될 것 같은 문제를 O(Log)로 해결할 일이 발생할 때 예제를 응용해 해결해보면 좋을 것 같습니다.
1
예를 들면 A*알고리즘은 유니티의 navMesh로 간편화처럼 엔진의 이해와 응용을 위한다고 생각 할 수 있고 KD,BSP트리는 제가 구현중이던 PCGmap생성기에서의 알고리즘에서 방을 연결하는 통로를 만들 때 조금 더 최적화 시킬 수 있는 그런거라고 생각하면 될까요
연결리스트 삽입삭제 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





