[TIL] 2025-05-13 알고리즘 문제, 무기 액터 추가 및 콤보 공격 구현
2025-05-13 TIL
알고리즘 문제
이번 문제는 분석이나 이해에 어려움이 없습니다.
알고리즘의 구현또한 크게 어렵지 않았는데, 그래프와 DFS에 대해 이미 이해하고 있었기 때문에 쉽게 풀어낼 수 있었던 것 같습니다.
[프로그래머스][C++] 네트워크
최종 프로젝트
무기 액터 추가 및 콤보 공격 구현
무기 액터와 무기를 통한 콤보 공격을 구현했습니다.
무기 액터는 다음과 같은 사항에서 구현했습니다.
- 스켈레탈 메시를 가집니다.
- 전환하고자하는 애님 인스턴스를 가집니다.
- 이 애님 인스턴스는 애니메이션 레이어 인터페이스를 사용하고있습니다.
- 공격 몽타주를 배열로 가지며, 콤보의 애니메이션으로 사용됩니다.
- 무기 액터는 플레이어 캐릭터의 오른손 소켓에 부착됩니다.
- 이를 위해 플레이어 캐릭터의 스켈레탈 본에 소켓을 추가했습니다.
콤보 공격은 다음과 같이 구현했습니다.
- 플레이어 캐릭터의 입력을 컴포넌트에 전달합니다.
- 컴포넌트는 공격과 무기 액터를 관리하며, 공격 및 콤보 애니메이션을 재생합니다.
- 콤보 공격을 위해서
AnimNotifyState
를 2개 사용했습니다.- 한 개는 데미지 처리를 위한 스테이트이며, 나머지 한 개는 콤보의 입력을 확인하여 콤보를 진행하는 스테이트입니다.
처음에는 그냥 AnimNotify
를 사용할까 했는데, AnimNotifyState
를 사용하는 방법이 애니메이션이 전환되어도, 상태 관리에 적절하다고 느껴지며 잘 사용한 것 같습니다.
보다 정확하게 AnimNotify
와 AnimNotifyState
의 차이에 대해 이해하기 위해서 각각 효율적인 용도를 살펴보았습니다.
AnimNotify
는 단일 이벤트로 사운드 재생, 이펙트 생성 등이 적합하다고 합니다.
AnimNotifyState
는 일정 구간 제어를 하는 경우 적합한데 시간적으로 지속되는 동작이나 Tick이 필요한 상황에서 적합합니다.
팀 의사소통
현재 팀원들과의 의사소통이 원활하지 않다라고 느끼는데, 기획적으로 부족한 부분이나 작업에 어려움을 느끼는 경우 이야기를 해보거나 질문을 해보는 등 의사소통을 해야하는데 독단적으로 작업하거나 작업이 많이 지연되는 경우가 있었습니다.
이 경우 우선 해당 팀원과 이야기를 잘 해서 문제는 해결하였습니다.
저는 이 경우를 기억하고 반면교사로 삼아 저 또한 위와 같은 행동으로 실수하지 않기 위해 TIL로서 기록해둡니다.
그리고, 해당 문제가 다시 발생하거나 발생하더라도 빠른 파악을 위해서 다음과 같은 방법을 진행했습니다.
- 우선 각 팀원들의 진행사항이나 현재 진행중인 작업을 파악하기 위해 노션의 캘린더를 사용하기로 했습니다.
- 다른 팀은 Jira를 사용하기도 한다고 합니다.
- 아침 및 저녁에 가벼운 스크럼으로 작업의 진전 사항에 대해 파악하기로 했습니다.
댓글남기기