트러블 슈팅

멀티플레이 (데디서버) 캐릭터 슬라이딩 동작 중복 입력되는 문제

Turtle_Jun 2025. 10. 3. 21:46

 

 

 

⚠️ 문제

  • 캐릭터 슬라이딩 동작을 구현했을 때, 연속으로 키 입력을 받으면 쿨타임 없이 슬라이딩이 무한 반복 실행되는 문제가 발생
  • 그 결과, 의도치 않게 앞으로 계속 날아가는 버그가 생김

🔍 원인

  • 슬라이딩 동작을 시작할 때 중복 실행을 제어하는 로직이 없었음
  • 키 입력 시마다 LaunchCharacter()와 몽타주 재생이 즉시 호출되어 연속 입력에 그대로 반응
  • 슬라이딩 중인지, 쿨타임이 남았는지를 확인하는 변수가 없었기 때문에 무한 슬라이딩 가능

🚧 조치

  1. 슬라이딩 상태 변수 추가
    • bIsSliding : 현재 슬라이딩 중인지 여부 체크
    • bCanSlide : 슬라이딩 가능 여부(쿨타임 확인용)
  2. 중복 입력 방지 로직 추가
    • 슬라이딩 시작 시 bIsSliding == true이면 중복 요청 무시
    • bCanSlide == false이면 쿨타임 중이므로 실행하지 않음
  3. 서버 타이머를 활용한 쿨타임 구현
    • SetTimer 사용하여 슬라이드 동작 후 일정 시간(SlideCoolTime) 동안 재실행 불가
    • 타이머 종료 시 ResetSlideCooldown() 호출 → bCanSlide = true로 초기화

💡 결과

  • 슬라이딩이 연속으로 입력되어도 중복 실행이 차단됨
  • 슬라이딩은 한 번 실행 후 쿨타임이 끝나야 다시 가능
  • 캐릭터의 이동과 애니메이션이 정상적인 흐름을 유지하여 버그 없는 자연스러운 슬라이딩 동작 구현 완료