강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

grallex00님의 프로필 이미지
grallex00

작성한 질문수

로드맵 완강후, 언리얼 공부방식

해결된 질문

작성

·

152

0

안녕하세요 로드맵을 다 완료한후(pt1,2,3,4) 언리얼 내부엔진에 대한 좀 더 깊은 이해를 하고싶은데

뭐 어떠한 부분부터 공부하면 될지 궁금합니다.

참고로 저는 현직 C++ 게임서버 개발자라서, 서버에서 활용가능한 기술에 대해서 관심이 쫌 높은편입니다.
관련해서 제가 관심도가 높은 부분은 아래와 같습니다.

 

1). 언리얼에서 navmesh 로 지형을 bake하면 어떠한 출력물이 나오고, 이 출력물을 게임서버에서 읽으면 어떻게 읽혀지는지 이러한 것들이 궁금합니다.(즉 만들어지는 양식과, 이렇게 만들어지는 양식을 게임서버에서
load하는 방법, 사실 Detour&Recast 같은 라이브러리를 사용하면 되겠지만, 이렇게 말고 원리를 알고싶습니다.->이러한 이유는 추후에 navmesh 로 이루어진 지형을 custom 해서 사용하고 싶기 떄문입니다. )

 

2). 언리얼에서 사용되어지는 수학및 충돌 처리

기본적으로 그래픽스에 필요한 게임수학을 알고 있고 충돌 처리(AABB, OBB등등)도 알고 있긴 합니다만,
지형에 있는 collision 서버사이드에서 충돌 판정을 하고 , 이를 토대로 Raycast하는 수식등등을 알고 싶습니다.

 

위 두가지를 일단 가장 알고싶습니다.
로드맵기준 pt1,2,3,4를 다 완강한뒤 위 2가지를 알고 싶어서 언리얼 엔진 내부 코드를 분석하게 된다면,
엔진코드의 어느부분의 어디부터 하나하나 씩 살펴보는게 좋을까요????


 

 

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

grallex00님, 언리얼 엔진 내부에 대한 더 깊은 이해를 원하신다고 하셨는데, 특히 navmesh 생성과 관련된 출력물 처리 및 서버에서의 활용, 그리고 수학 및 충돌 처리에 대한 깊은 이해가 필요하신 부분에 대해 답변드립니다.

  1. navmesh 관련하여, 언리얼 엔진에서는 NavMeshBoundsVolume을 통해 지형에 대한 navigation mesh를 생성하고, 이를 통해 pathfinding을 수행합니다. 기본적으로 언리얼 엔진의 소스코드 내에서 관련 로직을 살펴보시려면, ‘Engine/Source/Runtime/Navmesh’ 경로 아래의 소스 코드를 분석하는 것이 좋습니다. 여기서는 navmesh의 생성 과정, 저장 방식 및 로딩 방법 등이 구현되어 있습니다. 또한, Detour&Recast 네비게이션의 원리에 대해 더 심도 있는 이해를 원하신다면, 이 라이브러리들의 공식 문서와 소스 코드를 함께 살펴보는 것이 유용할 것입니다.

  2. 수학 및 충돌 처리 부분에서는, 언리얼 엔진 내에서 사용되는 주요 수학 연산 및 충돌 처리 관련 코드를 ‘Engine/Source/Runtime/Engine/Classes/Collision’ 및 ‘Engine/Source/Runtime/Core/Math’ 경로에서 살펴보시는 것을 추천드립니다. 여기서는 벡터, 행렬 등의 수학 연산을 비롯해 AABB, OBB 등 다양한 충돌 처리 알고리듬이 구현되어 있으며, 이를 바탕으로 raycasting 및 서버 사이드 충돌 판정에 필요한 로직을 이해하실 수 있을 것입니다.

현직 C++ 게임 서버 개발자이신 만큼, 코드 수준에서의 분석이 많은 도움이 될 것입니다. 언리얼 엔진의 경우, 매우 방대한 코드 베이스를 가지고 있으므로, 특정 기능이나 모듈에 집중하여 점진적으로 세부 사항을 파악하는 것이 효과적입니다. 그리고 언리얼 엔진의 공식 문서 및 커뮤니티에서도 많은 정보를 얻을 수 있으니 참조하시기 바랍니다.

navmesh와 게임 수학, 충돌 처리에 대한 깊은 이해를 통해 향후 서버 사이드에서의 활용뿐만 아니라, 사용자 정의 기능 구현에 있어서도 훌륭한 결과를 얻으실 수 있기를 바랍니다.

grallex00님의 프로필 이미지
grallex00

작성한 질문수

질문하기