강의에서 나온 알고리즘 외에 추천 하시는 알고리즘이 있을까요?
81
작성한 질문수 2
안녕하세요. 게임 개발을 공부하고 있는데 KD트리는 처음 접하는 이론이어서 무척 감탄하면서 강의를 들었습니다 !
아래 질의를 보고 저도 궁금해져서 질문을 달아봅니다. 혹시 동적 충돌을 구현하기 위해서 선행으로 알아야 될 지식이나 게임 개발에 필요한 다른 알고리즘도 존재 할까요?
또한 게임을 만들 때 따로 충돌 로직을 구현하나요 아니면 유니티나 언리얼에 존재하는 로직을 사용하면 될까요?
답변 2
0
상용 게임 엔진의 기본 충돌은 보통 전문 물리 엔진을 이용해 구현합니다.
대부분 이런 물리 엔진의 기능을 잘 포장해 충돌 발생시 편리하게 사용할 수 있도록 콜백함수를 제공합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 강보영님.
KD트리와 같은 알고리즘은 효율적인 충돌 처리 및 공간 분할에 매우 유용합니다. 게임 내에서 동적 충돌을 구현하기 위해서는 몇 가지 선행 지식 및 관련 알고리즘에 대한 이해가 필요할 수 있습니다. 다음은 동적 충돌 처리를 위한 추천 알고리즘 및 개념들입니다:
물리 엔진의 이해: Unity와 Unreal Engine은 내장된 물리 엔진을 사용하여 충돌과 물리 시뮬레이션을 쉽게 처리할 수 있게 해줍니다. 내장된 물리 엔진을 활용하면 직접 충돌 로직을 구현하지 않고도 다양한 기능을 사용할 수 있습니다.
AABB (Axis-Aligned Bounding Box): 충돌 계산을 단순화하기 위해 사용하는 기본적인 방법입니다. 동적 객체의 위치 갱신 시 충돌 테스트에 자주 사용됩니다.
사전 지식: 벡터와 행렬 계산, 물리학의 기본 원리(특히 뉴턴 물리), 및 게임 엔진 내의 이벤트 시스템에 대한 이해가 있으면 도움이 됩니다.
퀘이크 BSP (Binary Space Partitioning) 트리: 특히 FPS나 3D 게임에서 자주 사용되어 온 공간 관리 기법입니다.
게임을 만들 때, Unity와 Unreal Engine과 같은 상용 게임 엔진에서 제공하는 내장 로직을 활용하는 것이 보통 더 효율적입니다. 이러한 엔진들은 이미 최적화된 물리 및 충돌 시스템을 구현하고 있으므로, 필요에 따라 이것들을 커스터마이징하여 사용할 수 있습니다.
다음은 관련 질문 및 답변이 포함된 링크입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
ResourceManager 클래스 관련 질문
1
24
2
FBX chan 모델
0
16
1
강의노트 접속 불가
0
20
2
첨부된 수업자료와 강의 내용이 다릅니다.
0
39
2
몬스터 HP 게이지바 이동
0
20
1
TextMeshPro용 커스텀 한글 2350자.txt 파일은 어디에 있나요?
0
22
1
02-02 NavMesh 응용 캐릭터 멈춤 문제
0
33
1
02-02 NavMesh 응용 캐릭터 멈춤 문제
0
41
2
C#에서의 RAII
0
64
3
Scene 뷰에서 Enemy Entity가 보이지 않는 문제
0
47
2
Lessons 3 & 4 don't have subtitles unfortunately
0
39
1
노션 링크 문의
0
59
2
문제 풀이 접속 오류
0
54
2
쿼드트리 옥트리가 활용되는 예시에 대하여 더 여쭤보고싶습니다.
0
238
1
쿼드트리 구현 강의자료에 포함된 LQNode의 GetQuads함수에 궁금한 점이 있습니다.
0
483
2
A* 알고리즘에 대해 질문있습니다!
0
359
1
움직이는 물체에 대한 쿼드, KD트리 효율 질문
0
496
1
BSP트리를 활용한 렌더링 순서 관련 질문
0
418
1
쿼드트리 삽입 프로그램 실행 예시 질문
0
336
1
알고리즘 확인(?) 질문
0
448
2
우선순위큐로 구현시
0
359
1
19:35 리스트와 이진힙의 구조비교
0
231
1
depth 구할 때 floor로 처리하면 -1이 사라지는 과정이 잘 모르겠어요.
-1
403
1
GetQuads가 out of area를 체크 할 수 있는건가요??
0
331
1





