아직 오늘 개발이 끝난 것은 아니지만
더 이상 유의미한 진행 사항이 오늘 안에 나오지 않을것이라 판단하여 미리 일지를 적습니다.
Montage에 여차여차하여 Client에서만 Log가 출력되게 조정을 해보았습니다.
또한 Montage 하나하나에 조건을 달아 ExitClimb Montage가 재생되는지도 확인을 해보았습니다.
그 결과 ExitClimb가 호출이 되기는 하였으나, 재생은 이동 입력에 따라 여러 차례 발생하기도 했습니다.
그리고 그 횟수 만큼 Montage 재생 종료 이벤트가 발생했습니다.
제대로 작동하지 않는 이유는 Montage 재생 이벤트가 여러번 호출되어 반복적으로 Montage 앞부분이 재생 되다가,
첫 Montage 종료 이벤트로 인해 Climb 상태가 해제가 되는 것으로 예상됩니다.
이에 대해 DisableInput을 해보았으나, 유의미한 결과를 얻지는 못했습니다.
두번째로, Montage가 재생될 때 Character를 Teleport 해보았습니다.
그런데 Montage가 여러번 재생되는 만큼, Teleport도 여러번 발생했습니다.
그리고 이 때마다 Character가 진동을 하는 것을 확인했습니다.
정면으로 100만큼 이동시킨다면 3번 발생 시 300을 이동하는 것이 아니라 0과 100을 3번 왕복합니다.
그리고 Character가 이동해 있기도 하고, 떨어지기도 합니다.
그나마 다행인 점은, 이 덕분에 Montage가 제대로 재생되고, 작동을 할 수 있다는 희망을 보기는 했습니다.
그러다가 Climb System 구현 영상을 하나 찾아 보았습니다.
https://www.youtube.com/watch?v=BKiSTM-G9pQ
길이가 길고, BP 위주로 하느라 정확히 파악은 못했으나,
Notify를 통해 Event를 발생해서 진행하는 것 같습니다.
이에 영감을 받고 새로운 구조를 한번 시도해볼까 합니다.
그래서 현재 branch와 새로운 branch를 두고 왔다갔다 하면서 진행하고자 합니다.
마지막으로 한가지 버그를 발견했습니다.
Climb 상태에서 Exit 할 때 떨어지면서 이동을 하여 Climb로부터 완전히 벗어나면,
Animation이 정상 재생되지 않습니다.
요즘 이 프로젝트에 얼마나 시간을 할애해야 할지 고민이 생겼습니다.
Unreal 하나만을 바라보고 가기에는 방향을 잘못 잡았나 싶기도 하고,
Unreal이 아닌 게임 개발에도 유용한 인재라는 것을 보이기 위해서는
Windows Programming과 DirectX를 사용한 것을 보여줘야 하지 않나 싶기도 합니다.
그래서 가능하면 현재 리팩토링을 끝내고 난 뒤에는,
Unreal 개발을 주 4회에서 2회로 줄이는 대신 Windows Programming을 적극적으로 해볼까 싶습니다.