#5 플레이어 약공격 / 강공격 구현
Coding/Devlog

#5 플레이어 약공격 / 강공격 구현

플레이어의 State 설계

  • Combat System을 보다 명확하게 설계할 수 있도록 플레이어의 상태를 구분해야 했다. 플레이어의 상태는 움직임 상태(Movement State), 전투 상태(Combat State)로 구분했다. Movement State는 Locomotion에 해당하는 State로서 Combat State를 포함하는 느낌이다.

플레이어의 FSM 구조

Attack Animation 에셋 구매

  • 가장 고민되는 단계다. 공격 모션을 Mixamo 같은 곳에서 구할 수도 있지만 마음에 차지 않아서 구매하기로 마음 먹었다. 기왕 사기로 한거, 적어도 한 에셋으로 해결해야 하기 위해 아래 조건을 달았다.
    • 다양한 공격 모션을 가지고 있을 것, 종류 3개 이상.
    • 나중에 타게팅 구현을 생각해서 360도 움직임을 가지고 있을 것.
    • 자연스러운 공격 모션
  • 이걸 다 만족하는 에셋은 아래 에셋 뿐이었다.
  • https://youtu.be/GLl4TeelDnY
  • 스팀에서 판매 중인 검 전투 게임에 쓰이고 있는 애니메이션인데, 아주 사실적인 애니메이션이라서 관련해서는 호평을 받은 것으로 알고 있다. 예전부터 알고있던 게임이라 맘이 동해서 이걸로 구매했다. 8만원은... 뼈 아프지만... 제값할 수 있도록 게임을 만들어야 겠다.

Animation Retargeting

  • 이렇게 구매한 애니메이션 에셋은 바로 쓸 수 없다. 해당 애니메이션을 내가 쓰고 있는 Skeleton으로 Retargeting 해줘야 한다.
  • Retargeting은 Skeleton Window에서 Retargeting Manager가 알아서 해주는데, 제대로 리타게팅하기 위한 조건은 다음과 같다.
    • Skeleton 구조가 알맞게 설정되어야 한다.
    • T-Pose가 같아야 한다.
  • 일단 Retargeting Manager에 해당 스켈레톤을 등록하면 애니메이션-왼쪽 클릭으로 리타게팅을 할 수 있다.

결과