← 최신 논문
💻 computer science

Multi-threaded Recast-Based A* Pathfinding for Scalable Navigation in Dynamic Game Environments

본 논문은 표준 A* 경로 탐색을 개선하기 위해 Recast 기반 메쉬 생성, 베지에 곡선 평활화, 그리고 밀도 인식 조율을 통합한 멀티스레드 프레임워크를 제시하며, 이를 통해 높은 프레임 레이트를 유지하면서 역동적인 3D 환경에서 1,000명 이상의 에이전트를 위한 확장 가능하고 충돌 없는 내비게이션을 가능하게 한다.

원저자: Tiroshan Madushanka, Sakuna Madushanka

게시일 2026-02-05
📖 3 분 읽기☕ 가벼운 읽기

원저자: Tiroshan Madushanka, Sakuna Madushanka

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. ✨ 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 거대하고 혼란스러운 영화 세트장의 감독이라고 상상해 보십시오. 당신에게는 수천 명의 배우(에이전트)들이 서로 부딪히거나, 소품에 걸려 넘어지거나, 벽에 끼이지 않고 한 지점에서 다른 지점으로 이동해야 하는 임무가 주어졌습니다. 비디오 게임의 세계에서는 이를 **경로 탐색(pathfinding)**이라고 부릅니다.

이 논문은 수천 명의 배우들이 끊임없이 변화하는 환경 속에서도 부드럽고 효율적으로 움직일 수 있도록 돕는 새로운 "감독의 도구 상자"를 제시합니다. 저자들이 이 문제를 어떻게 해결했는지 쉬운 개념으로 나누어 설명하겠습니다.

1. 문제점: "그리드" vs "실제 세상"

전통적으로 게임 캐릭터들은 거대한 투명 그리드(체스판 같은 격자) 위에서 움직입니다.

  • 문제점: 체스판 위에서 대각선으로 걸으려고 하면 지그재그로 움직여야 합니다. 이는 로봇처럼 보이고 끊기는 느낌을 줍니다. 또한, 세트장이 매우 거대할 경우, 컴퓨터는 수천 명의 배우를 위해 모든 칸을 한꺼번에 계산하느라 과부하가 걸려 게임이 느려지는(렉) 현상이 발생합니다.

2. 해결책: 더 똑똑한 지도 (Recast Graph)

경직된 그리드 대신, 저자들은 **내비게이션 메쉬(Navigation Mesh, NavMesh)**를 구축했습니다.

  • 비유: 집 바닥이 격자무늬 타일이 아니라 매끄럽고 연속적인 카펫이라고 상상해 보십시오. 컴퓨터는 "사각형"을 신경 쓰는 것이 아니라, 단순히 탁 트인 바닥 공간을 인식합니다.
  • 마법 같은 기술: 그들은 Recast라는 도구를 사용하여 3D 세상을 자동으로 스캔하고, 캐릭터가 실제로 걸을 수 있는 곳에만 이 "카펫"을 그려 넣었습니다. 이 도구는 계단, 경사면, 천장을 이해하여 복잡한 3D 세상을 단순하고 읽기 쉬운 지도로 변환합니다.

3. 엔진: "조립 라인" (멀티스레딩)

한 사람의 경로를 계산하는 것은 쉽습니다. 하지만 1,000명의 경로를 동시에 계산하는 것은 연필 한 자루로 1,000개의 수학 문제를 푸는 것과 같습니다.

  • 기존 방식: 하나의 뇌(메인 컴퓨터 스레드)가 모든 경로를 하나씩 차례대로 해결하려고 시도합니다. 그러다 보면 뇌가 지치게 되고, 게임은 멈춰버립니다.
  • 새로운 방식: 저자들은 조립 라인을 만들었습니다. 그들은 팀 단위의 작업자들을 고용했습니다(멀티스레딩). 한 작업자가 첫 번째 배우의 경로를 계산하는 동안, 다른 작업자는 이미 두 번째 배우의 경로를 계산하고 있고, 세 번째 작업자는 세 번째 배우를 위해 일하고 있습니다.
  • 결과: 게임은 기다리지 않습니다. 1,000명의 배우가 동시에 움직이는 중에도 게임은 계속해서 부드럽게 실행됩니다(350 FPS 이상 유지).

4. 움직임: "로봇"에서 "사람"으로

좋은 지도가 있더라도, 컴퓨터가 생성한 가공되지 않은 경로는 날카로운 모서리가 있는 지그재그 선처럼 보입니다.

  • 해결책: 그들은 "매끄럽게 만들기(smoothing)" 단계를 추가했습니다.
    • 퍼널(The Funnel): 먼저, 불필요한 멈춤을 제거하기 위해 경로를 지도의 "복도"를 통과하도록 팽팽하게 당깁니다.
    • 베지에 곡선(The Bezier Curve): 그다음, 이 날카로운 모서리들을 부드러운 곡선(유연한 자를 이용해 완벽한 호를 그리는 것처럼)으로 바꿉니다.
  • 결결과: 캐릭터들이 90도 각도로 머리를 휙휙 돌리는 대신, 인간처럼 부드럽게 곡선을 그리며 미끄러지듯 움직입니다.

5. 군중 제어: "독수리의 눈" (밀도 분석)

너무 많은 사람이 문을 통과하려고 하면 혼란이 발생합니다.

  • 혁신: 이 시스템에는 배우들이 그곳에 도착하기 전에 해당 구역이 얼마나 붐비는지 관찰하는 "독수리의 눈"이 있습니다.
  • 작동 원식: 만약 어떤 배우가 앞길이 너무 꽉 막혀 있다는 것(교통 체증이 발생하는 것과 같은 상황)을 감지하면, 벽에 부딪혀서 멈출 때까지 기다리지 않습니다. 즉시 "조립 라인"에 요청하여 덜 붐비는 새로운 경로를 찾습니다. 이는 모두가 한꺼번에 멈춰버리는 "뭉침 현상"을 방지합니다.

결과: 무엇을 증명했는가?

저자들은 단순한 2D 미로에서 시작하여 움직이는 배, 흔들리는 문, 그리고 수천 명의 배우가 등장하는 복잡한 3D 세상에 이르기까지 10가지 다른 "단계"에서 이 시스템을 테스트했습니다.

  • 속도: 1,000명의 배우가 동시에 움직이는 상황에서도 시스템은 350 FPS(매우 빠르고 부드러움)를 유지했습니다. 일반적인 시스템은 배우가 200명만 되어도 20 FPS 미만으로 떨어져 느려졌을 것입니다.
  • 사실성: 캐릭터들은 단순히 걷는 것이 아니라 흐르듯 움직였습니다. 그들은 장애물을 피하고, 문이 열리기를 기다리며, 기울어지는 배와 같은 움직이는 플랫폼 위에서도 떨어지지 않고 잘 항해했습니다.
  • 효율성: 시스템은 언제 경로를 다시 계산해야 하고, 언제 그냥 계속 진행해야 하는지를 판단할 만큼 똑똑하여 컴퓨터 자원을 절약했습니다.

요약하자면: 이 논문은 수천 명의 비디오 게임 캐릭터가 게임 속도를 늦추거나 캐릭터가 서투른 로봇처럼 보이지 않게 하면서, 복잡하고 변화하는 세상을 통과해 움직이게 하는 방법을 설명합니다. 그들은 컴퓨터에게 더 나은 지도를 제공하고, 수학 문제를 풀기 위해 작업 팀을 고용하며, 교통 체증을 피하기 위해 앞을 내다보는 법을 가르쳐줌으로써 이 일을 해냈습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →