Unreal Engine 5에서 MoveTo와 MoveDirectlyForward의 차이점에 대해 설명해드리겠습니다. 해당 기능은 AIController에서 캐릭터를 이동시키는 주요 기능을 제공합니다.
목차
Toggle1. MoveTo
- AIController의 경로 탐색 시스템을 사용합니다.
- NavMesh(네비게이션 메시)를 따라 경로를 계산하여 장애물을 피해 이동합니다.
- 목표 위치가 변경되면 경로를 동적으로 업데이트할 수 있습니다.
- “수용 반경(Acceptable Radius)”, “대각선 허용(Allow Strafe)” 등의 옵션을 지원합니다.
- 대상은 위치(Location)나 액터(Actor)가 될 수 있습니다.
- 비동기적으로 이동하며 성공/실패 콜백을 제공합니다.
- 복잡하고 장애물 회피가 필요한 AI 이동에 적합합니다.
2. MoveDirectlyForward (또는 Move Directly Toward)
- 경로 탐색을 사용하지 않고 목표 위치를 향해 직선으로 이동합니다.
- 장애물을 무시하고 목표를 향해 곧장 움직입니다.
- 간단하거나 장애물 회피가 필요 없는 AI에 적합합니다.
- 동적으로 경로를 다시 계산하지 않습니다.
- 위치 또는 액터를 대상할 수 있습니다.
요약 표
| 기능 | MoveTo | MoveDirectlyForward |
|---|---|---|
| 경로 탐색 사용 | 예 | 아니오 |
| 장애물 회피 | 예 | 아니오 |
| 이동 유형 | 네비게이션 메시 기반 경로 이동 | 직선 직접 이동 |
| 대상 | 위치 또는 액터 | 위치 또는 액터 |
| 경로 동적 업데이트 | 예 (옵션) | 아니오 |
| 사용 적합 사례 | 복잡한 AI 이동 | 단순하거나 직선 추적형 AI |
| 성공/실패 콜백 | 예 | 덜 견고한 피드백 |
실무 사용 예
- 복잡한 맵에서 장애물을 피해 이동시키려면 MoveTo 사용
- 단순히 목표 방향으로 직선 이동이 필요할 때는 MoveDirectlyForward 사용
이 차이는 AI 이동 설계 시 성능과 복잡성, 게임플레이 스타일에 따라 적절한 방식을 선택하는 데 중요한 기준이 됩니다.