움직이는 물체에 대한 쿼드, KD트리 효율 질문
489
작성한 질문수 56
강의 잘들었습니다 😊😊
강의를 들으면서 한가지 의문이 생겼는데요
쿼드트리나 KD트리를 이용하면 다수의 물체에 대한
충돌체크에 쓰이면 좋을거 같다는 생각을 했습니다.
강의에서는 고정된 물체에 대해서 트리를 구축하고 질의(Query)를 실행하는데요
만약 물체가 움직이게 된다면 위치값이 계속바뀌닌까 이 알고리즘을 사용할수 없을수도 있을거 같았습니다.
움직일때마다 트리를 재구축 해줘야하닌까 더 비효율적이지 않을까요??
움직이는 다수의 물체에 대해 충돌체크를 하려면
쿼드트리를 사용하고 물체가 이동할때마다
트리 노드가 들고있는 물체 목록을 옮겨 다니는 로직을 만들어야 할까요?
답변 1
0
네 좋은 질문입니다.
지금 설명한 알고리즘은 배경과 같은 정적인 물체에 대해 진행하는 것이 맞습니다.
보통 실전에서 이런 충돌처리는 게임 엔진 내부의 물리 엔진이 담당하는데, 물리 엔진은 정적인 물체와 동적인 물체를 구분해 별도로 충돌 처리를 진행합니다. 물리 엔진의 충돌 처리방법은 2D, 3D에 따라 다르며, 기밀 유지를 위해 블랙박스로 제공되어 있어, 정확한 구현 방식을 알 수 없습니다.
본 강의에서 설명하는 알고리즘은 이를 공부하기 위해 필요한 기초 알고리즘이라고 보시면 될 것 같아요.
구현 자체는 그리 어렵지 않기 때문에 간단한 게임 로직을 구현할 때 응용해 사용할 수 있습니다.
replit에서 developer frameworks가 안보여요
0
12
2
연결리스트 삽입삭제 O(1) 아닌가요?
0
13
2
코딩 테스트 All-in-One(Java)' 강의 노션 교재 권한문의
0
19
1
유니티 허브 다운로드
1
25
2
태어난김에 세계일주 시간 초과
0
19
1
커리큘럼 중 정렬 관련 질문
0
18
1
코테 사이트 로그인 불가
0
24
1
비쥬얼 스튜디오에서 unity연결이 없습니다.
0
45
2
UserDataManager 클래스 hasSaveError 처리
0
25
2
제공해주신 자료에 스크립트들이 빠져있습니다
0
24
2
실습 권한이 없네요··· 이건 ··· 좀··· 401 에러떠요
0
29
3
백준 사이트 서버종료
1
26
0
플레이어를 왜 ECS로 만드는 건가요?
0
26
1
강의에서 나온 알고리즘 외에 추천 하시는 알고리즘이 있을까요?
0
72
2
쿼드트리 옥트리가 활용되는 예시에 대하여 더 여쭤보고싶습니다.
0
217
1
쿼드트리 구현 강의자료에 포함된 LQNode의 GetQuads함수에 궁금한 점이 있습니다.
0
470
2
A* 알고리즘에 대해 질문있습니다!
0
353
1
BSP트리를 활용한 렌더링 순서 관련 질문
0
411
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





