쿼드트리 옥트리가 활용되는 예시에 대하여 더 여쭤보고싶습니다.
3D던전 로그라이크 게임을 개발중인 초보 개발자입니다.
PCG알고리즘에 부족한 점이 있는 것 같아 수강 하였습니다.
활용된 예시로는 2D플랫포머, 탄막게임에서의 최적화 부분과 3D게임에서 LOD로 부분 렌더링하는것 까지는 이해하였는데 활용된 다른 예시들이 궁금합니다.
回答 1
0
공간 분할 알고리즘은 대상(범, 범위)에 따라, 자료 구조에 따라 다양한 구현 방법이 존재합니다.
질문 주신 것처럼 이를 사용하는 분야가 딱 정해져있다고 보긴 어렵습니다. 사실 이 알고리즘은 게임 뿐만 아니라 다른 곳에서도 사용되기 때문이죠. 강의에서 설명하는 공간 분할 알고리즘은 다양한 구현 방법 중 하나의 예시일 뿐입니다.
강의에서 설명하는 쿼드트리나 옥트리는 과거 게임 엔진을 직접 제작할 때 씬을 분석하고 처리하는데 사용되어 왔습니다. 지금은 많은 사람들이 상용엔진 기반으로 게임을 제작하기에 전통적인 활용방식을 사용할 일은 없다고 봐야겠지요. 기본적인 기능은 이미 엔진이 다 알아서 처리해주고 있기 때문이죠.
그래서 게임 콘텐츠를 만들 때 이 알고리즘을 꼭 쓴다고 이야기하기는 애매한 부분이 있습니다.
다만 게임 기획에 따라 구현할 때 공간분할이 필요한 경우가 종종 발생합니다.
O(N)으로 해결이 안될 것 같은 문제를 O(Log)로 해결할 일이 발생할 때 예제를 응용해 해결해보면 좋을 것 같습니다.
1
예를 들면 A*알고리즘은 유니티의 navMesh로 간편화처럼 엔진의 이해와 응용을 위한다고 생각 할 수 있고 KD,BSP트리는 제가 구현중이던 PCGmap생성기에서의 알고리즘에서 방을 연결하는 통로를 만들 때 조금 더 최적화 시킬 수 있는 그런거라고 생각하면 될까요
0
네 그렇게 이해해주시면 됩니다. 다만 방을 연결하는 방법에 대해서는 본 강의에서 설명하지 않는 다른 알고리즘들도 있으니, 여러가지 자료를 참고해주시면 될 것 같아요.
싱글턴패턴
0
3
1
수강평 이벤트
0
16
2
코드 관련 질문
0
21
2
섹션7 수업자료 업로드 부탁드립니다.
0
22
2
part8 Notion 링크
0
22
1
Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의
0
19
1
잠겨버린 사물함 시간초과 관련 질문입니다.
0
25
1
UI 기능 관련 질문이 있습니다!
0
37
2
03-01 (16. CharacterController)
0
31
2
TLS 질문드립니다.
0
43
2
Task 구현 28:36 Equals 에서 잘 모르는 부분이 있습니다.
0
27
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
46
2
코딩테스트 처음인데 이런 공부방법이어도 괜찮을까요
0
57
2
강의에서 나온 알고리즘 외에 추천 하시는 알고리즘이 있을까요?
0
69
2
쿼드트리 구현 강의자료에 포함된 LQNode의 GetQuads함수에 궁금한 점이 있습니다.
0
468
2
A* 알고리즘에 대해 질문있습니다!
0
351
1
움직이는 물체에 대한 쿼드, KD트리 효율 질문
0
488
1
BSP트리를 활용한 렌더링 순서 관련 질문
0
409
1
쿼드트리 삽입 프로그램 실행 예시 질문
0
329
1
알고리즘 확인(?) 질문
0
439
2
우선순위큐로 구현시
0
354
1
19:35 리스트와 이진힙의 구조비교
0
230
1
depth 구할 때 floor로 처리하면 -1이 사라지는 과정이 잘 모르겠어요.
-1
391
1
GetQuads가 out of area를 체크 할 수 있는건가요??
0
328
1

