▣ MoveRequest는 AI가 어디로 어떻게 움직 일지를 정의하는 이동 요청 정보 구조체입니다.
▣ SetGoalLocation(FVector InLocation)
MoveRequest.SetGoalLocation(TargetLocation);
이동 목표 지점을 설정합니다.
InLocation은 FVector로, AI가 도달해야 할 실제 좌표입니다.
MoveToLocation(...)을 쓰는 방식에서는 이 값이 필수입니다.
중요: 이 값이 없다면 AI는 어디로 이동할지 모릅니다.
▣ SetAcceptanceRadius(float Radius)
MoveRequest.SetAcceptanceRadius(10.0f);
목표 위치에 얼마나 가까이 도달하면 "도착"으로 간주할지를 설정합니다.
단위는 cm입니다.
예: 10.0f면, 목표 좌표에서 10cm 이내에 도달하면 도착 처리
너무 작게 설정하면 AI가 "계속 움직이려는 현상"이 생길 수 있습니다.
▣ SetUsePathfinding(bool bUsePath)
MoveRequest.SetUsePathfinding(true);
AI가 NavMesh 기반 경로 탐색을 사용할지 여부를 설정합니다.
true이면 장애물 피하기, 길 돌아가기 등을 자동으로 수행합니다.
false이면 직선 이동만 합니다 (빠르지만 부딪힐 수 있음)
일반적으로 항상 true를 사용합니다.
▣ SetAllowPartialPath(bool bAllow)
MoveRequest.SetAllowPartialPath(true);
도중까지라도 이동 가능한 경로가 있으면 이동을 시도할지를 설정합니다.
false이면 목표까지 완전히 도달 가능한 경로만 허용합니다.
true이면, 중간까지만이라도 이동합니다.
▣ FNavPathSharedPtr NavPath;는 AI가 MoveTo() 명령을 실행할 때 실제로 계산된 경로 정보(NavMesh 경로)를 받아올 수 있도록 해주는 공유 포인터 타입입니다.
▣ MoveTo() 호출 시 두 번째 인자로 넘기면, AI가 이동 경로를 계산한 뒤 그 경로를 NavPath에 담아줍니다.
AI가 어떤 길을 통해 이동하려는지 디버깅하거나, 시각화하거나, 검사할 수 있는 기능을 제공합니다.
▣ 위 코드는 AI가 이동하려는 실제 경로를 화면에 선으로 시각화해 주는 디버그 도구입니다.
'[ Unreal5 ] > - 언리얼엔진5 실습' 카테고리의 다른 글
언리얼엔진5 BehaviorTree, EQS 응용 (0) | 2025.04.05 |
---|---|
언리얼엔진5 c++ 플레이어 방향으로 수평 회전 (0) | 2025.04.05 |
언리얼엔진5 c++ Animistance 데이터 ABP에서 바인딩 사용 (0) | 2025.03.27 |
언리얼엔진5 c++ Random함수 (0) | 2025.03.27 |
언리얼엔진5 c++ EndPlay(Actor 종료시점 호출함수) (0) | 2025.03.22 |
댓글