이번에는 자동 이동 쪽을 개발하면서 곤란했던 부분을 해결한 방식과 알게된 부분들을 공유해보고자 한다.
진행할 포스팅의 목차는 아래와 같다.
1. PathFinding & Following 구현
2. 비동기 PathFinding 구현
3. Spline-base PathFinding & Following 구현
4. 비동기 Spline-base PathFinding 구현
1번[PathFinding & Following 구현]은 이미 Unreal의 AAIController 클래스에 기능이 있지만, 그 기능이 AAIController쪽에만 있으면서 여러 불편함이 있었다. 바로 생각나는 한 가지 예는 APlayerController에 의해 Possess 되어 있는 Player Character는 해당 기능을 사용할 수 없다. 이 쪽 얘기를 하면서 Dedicated Server 환경에서 캐릭터 이동의 권한이 어디에 있는지, 쉽게 말해 Role 얘기도 가볍게 들어갈 것 같다.
2번[비동기 PathFinding 구현]은 말 그대로 길 찾기가 비동기로 동작하도록 기능을 설명하려 한다. 비동기 길 찾기는 수 많은 캐릭터들이 동시에 길 찾기를 요청하거나, 상대적으로 먼 거리에 대한 길 찾기가 수행될 때 게임이 멈추는 문제를 해결하기 위함이다.
1,2번은 Unreal에서 제공해주는 기능들을 가져다가 쓰겠지만, 3,4번은 그렇지 않다.
3번[Spline-base PathFinding & Following]의 'Spline-base PathFinding'은 결과적으로 곡선 Path를 통해 부드러운 이동을 구현하는 것이고, Spline-base PathFinding을 비동기로 처리하는 방식을 4번에서 다루려고 한다.
위 작업들이 요구하는 코드량이 좀 있기 때문에 시간이 날 때마다 작업을 하고 포스팅을 진행할 예정입니다.
'언리얼 개발자' 카테고리의 다른 글
[Unreal] Smooth Dynamic Spline using PathFinding Points (3) | 2022.12.24 |
---|---|
[Unreal] 비동기[Async] PathFinding (0) | 2022.12.22 |
[Unreal] PathFinding & Following Component 구현 (0) | 2022.12.18 |
[Unreal] Property Editor : 조건부로 변수 노출하기 (2) | 2022.09.20 |
[Unreal] Time-Slicing (2) | 2022.09.20 |