Unreal - AI의 회피 알고리즘( RVO )

2025. 5. 10. 19:24·Unreal5 프로젝트 다이어리

이동하는 캐릭터가 많아질경우

서로 교차되는구간에서 서로 부딪혀서 교통체증을 겪게됩니다

역수 속도 장애물 RVO(Reciprocal Velocity Obstacles)알고리즘이나

크라우드 우회 매니저 DCM(Detour Crowd Manager)알고리즘을 통해 해결할수있습니다

 

만약 회피알고리즘을 적용하지않으면 이처럼 서로 나만의 길을 간다 현상이 일어납니다

사용방법은 간단합니다

플레이어 또는 적용할 대상에게 해당 코드를 추가하시면되겠습니다

//RVO Active
GetCharacterMovement()->bUseRVOAvoidance = true;
//Avoid Radius
GetCharacterMovement()->AvoidanceConsiderationRadius = 300.0f; 
GetCharacterMovement()->AvoidanceWeight = 0.5f;

블루프린트에서 해당 값을 변동하셔도 적용됩니다

 

RVO를 적용했을떄의 모습입니다

서로 길을 가다가 막혀도 RVO시스템때문에 겹쳐서 멈추는 교통체증현상이 해결됩니다


DCM(Detour Crowd Manager)알고리즘입니다

AI의 AI Controller를 DebugCameraController를 선택해주시면되겠습니다

Project Settings -> Engine -> Crowd Manager의 Config탭에서 추가적인 별도의 설정도 가능합니다

'Unreal5 프로젝트 다이어리' 카테고리의 다른 글

Unreal - GameMode로 맵마다 설정을 변경하기  (0) 2025.05.15
Unreal - 쿼터뷰 시점 벽에 붙었을떄 카메라의 이동  (0) 2025.05.15
Uneal - EQS Strafe이동  (0) 2025.05.10
Unreal - AI에게 HP 프로그래스바 붙히기  (0) 2025.05.09
Unreal - ProjectTile을 사용한 원거리 AI 만들기  (0) 2025.05.09
'Unreal5 프로젝트 다이어리' 카테고리의 다른 글
  • Unreal - GameMode로 맵마다 설정을 변경하기
  • Unreal - 쿼터뷰 시점 벽에 붙었을떄 카메라의 이동
  • Uneal - EQS Strafe이동
  • Unreal - AI에게 HP 프로그래스바 붙히기
lucodev
lucodev
커피와 노트북 그리고 개발
  • lucodev
    루코 개발테이블
    lucodev
  • 전체
    오늘
    어제
    • 분류 전체보기 (121) N
      • Unreal5 프로젝트 다이어리 (73)
      • Unreal5 프로젝트 다이어리2 (3) N
      • Unreal 팁 (8)
      • Unreal 디버깅 (8)
      • C++ 프로그래머스 다이어리 (21)
        • Stack (3)
        • Hash (4)
        • Heap (2)
        • Sort (1)
      • 코드 개인보관함 (8) N
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 링크

  • 공지사항

  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 태그

    언리얼 로딩
    unreal look at
    언리얼 foot step
    언리얼 컷씬
    언리얼 behaviortree
    언리얼 behavior tree
    언리얼 로딩창
    언리얼 motionmatching
    언리얼 모션매칭
    unreal loading
    unreal 시퀀스
    언리얼
    언리얼 look at
    언리얼 시퀀스
    unreal 컷씬
    unreal 로딩
    unreal sequence
    언리얼 비헤이비어트리
    unreal 모션매칭
    언리얼 페이드 아웃
  • hELLO· Designed By정상우.v4.10.3
lucodev
Unreal - AI의 회피 알고리즘( RVO )
상단으로

티스토리툴바