오늘은 먼저 Player 구현을 맡았다.
구현 내용
1. Player 이동
InputAction을 이용해서 이동, 달리기, 점프 구현
2. Player 공격 구현
InputAction 으로 공격 구현
3. 콤보 구현
https://kkln2486.tistory.com/236
콤보 공격 구현
구현 방법 1. Sub - State Machine 생성 생성 후, 이름 Attack으로 변경 * Sub - State Machine : 애니메이션을 그룹 단위로 묶어서 정리 2. 애니메이션 설정 애니메이션 추가 Attack Trigger 추가 콤보 순서대로 애
kkln2486.tistory.com
트러블 슈팅
공격 쿨타임 구현
공격이 종료하고, 3초의 쿨타임을 설정했는데, 3단 콤보가 끝나고 1단 공격이 바로 실행 되는 버그가 발생했다. 여러번의 테스트 결과, 공격이 종료되기 직전에 입력된 값이 공격이 끝나고 바로 입력되는 것 같았다.
public void AttackCoolTime()
{
_playerController.CanAttack = false;
StartCoroutine(CoAttackCoolTime());
}
IEnumerator CoAttackCoolTime()
{
yield return new WaitForSeconds(_playerController.AttackCoolTime);
_playerController.CanAttack = true;
}
각각 공격이 종료 될 때, Player_attackEnd Animation 으로 이동해서 함수를 실행하도록 했다. 정확히 공격이 종료되면 CanAttack 값이 false가 되고 AttackCoolTime 초 뒤에 true가 되는 것인데, 종료 되기 직전에 키 입력을 받으면 그 입력이 공격이 종료된 후에 실행되는 것 같았다. 결과적으로 해결방법을 찾을 수 없어서 일단은 쿨타임이 없는 기본공격으로 구현하기로 했다.
오늘의 회고
오늘은 본격적으로 최종 팀 프로젝트 개발을 시작했다. Player를 구현했는데 이동, 공격까지는 잘 구현했는데 쿨타임을 구현하는데 막혔다. 쉽게 해결할 수 있다고 생각해서 트러블 슈팅까지 작성했는데 결국 해결하지 못해서 어느 정도 개발을 완료한 뒤 시간이 남으면 수정하는 것으로 했다. 사실 기본 공격을 구현한 것이라서 쿨타임이 크게 의미가 없다고는 생각하지만 뭔가 찝찝한 기분이 들었다. 나중에 꼭 수정을 하도록 하겠다.
'Unity_2기 내일배움캠프 TIL' 카테고리의 다른 글
Unity_2기 11주차 (230115) (0) | 2024.01.15 |
---|---|
Unity_2기 10주차 (230112) (0) | 2024.01.12 |
Unity_2기 10주차 (230110) (0) | 2024.01.10 |
Unity_2기 10주차 (230109) (1) | 2024.01.09 |
Unity_2기 10주차 (230108) (0) | 2024.01.08 |