AI 회피 알고리즘

김혁·2025년 10월 5일

기술연구

목록 보기
5/10

샘플용 프로젝트 제작

언리얼 엔진 공식문서 - 네비게이션 시스템으로 회피 사용하기
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/using-avoidance-with-the-navigation-system-in-unreal-engine?application_version=5.5

  • 경로 찾기(Path Finding)로는 움직이지 않는 오브젝트를 우회하는 경로를 결정.
  • 회피 알고리즘은 움직이는 장애물을 처리하는데 보다 적합함.
  • 에이전트가 동적인 장애물을 우회하는데 사용할 수 있는 회피 메소드에는 역수 속도 장애물(RVO, Reciprocal Velocity Obstacles), 크라우드 우회 매니저(Detour Crowd Manager) 2개가 있음.

회피를 사용하지 않는 경우


역수 속도 장애물 (RVO)

특징

  • 각 에이전트의 속도 벡터를 계산하여 인근 에이전트와의 콜리전을 피함
  • 인근 에이전트를 확인하여 에이전트가 계산이 이루어지는 각 시간 단위 내에 일정한 속도로 움직인다고 가정
  • 선택되는 최적의 속도 벡터는 에이전트의 타깃 방향 선호 속도에 가장 가까운 결과
  • RVO는 회피에 내비게이션 메시를 사용하지 않고, 캐릭터 클래스의 캐릭터 무브먼트 컴포넌트에 포함되어 있음

한계

  • 크라우드 우회 매니저에 비해 환경 설정 가능한 부분이 적음
  • 캐릭터 클래스에서만 사용 가능함
  • 회피에 내비게이션 메시를 사용하지 않아서 에이전트가 경계 밖으로 나갈 수 있음

사용법

  • 캐릭터 무브먼트의 Avoidance의 Use RVO Avoidance 항목을 활성화
  • Avoidance Consideration Radius를 통해 회피 거리를 조정

적용 예시

  • 중간에 충돌이 있는 경우에 회피해서 지나가게 됨
  • Avoidance Consideration Radius가 높아서 그런지 마지막에도 에이전트끼리 회피를 하게 됨
  • 낮으면 중간에 지나갈 때 회피 기능이 잘 동작하지 않음

크라우드 우회 매니저

특징

  • 적응형 RVO 샘플링 계산을 사용하여 에이전트 간 회피를 처리함
  • 이를 위해 에이전트 방향으로 바이어스가 부여된 거친 속도 샘플을 계산하므로 기존 RVO 메소드보다 회피 퀄리티가 크게 향상됨
  • 이 시스템은 비저빌리티 및 토폴로지 경로 최적화를 사용하여 콜리전 회피를 한층 개선
  • 이 시스템은 DetourCrowd AI Controller 클래스에 포함되며, 어떤 폰 클래스와도 사용할 수 있음

한계

  • 프로젝트 세팅에서 최대 에이전트 수가 고정됨

사용법

  • Pawn의 AI Controller 클래스를 Detour Crowd AI Controller로 설정
  • Project Settings에서 Engine->Crowd Manager에서 다양한 설정 가능

적용 예시

  • RVO는 소수의 AI를 활용할 때, 충분히 부드러운 회피를 구현할 수 있음
  • 수십 명 이상의 대규모 군중을 시뮬레이션할 때, Crowd Following Component를 사용하여 RVO 성능을 최적화해서 사용
profile
게임 개발자를 향해..

0개의 댓글