[ ps ]
[ 백준 / C++ ] 11003 : 최솟값 찾기 (tistory.com)
[ Unity ]
플레이어 hp가 0이 되었음에도 사망 애니메이션이 간헐적으로 나오지 않는 버그가 있었다.
테스트 결과, 플레이어가 달리던 중에 hp가 0이 되면 이러한 버그가 발생하였다.
플레이어 Animator 창을 보면서 분석했는데, Run Animation과 Death Animation이 동시에 진행되면
Run이 늦게 끝나고, Run Animation이 끝나고 Idle State로 돌아가면서 Death State가 풀리는 버그였다.
따라서 아래 코드처럼 Death Animation이 0.1초 후에 나오도록 코드를 수정하여 오류를 고쳤다.
void Update()
{
// ... //
// Check player HP
if (hp <= 0 && !isDead)
{
isDead = true;
// DeathAnimation();
// ↓ 코드로 수정함
Invoke("DeathAnimation", 0.1f);
}
// -- Handle Animations --
if (!isDead) HandleAnimation(inputX);
}
private void HandleAnimation(float inputX)
{
// ... //
//Run
else if (Mathf.Abs(inputX) > Mathf.Epsilon)
{
// Reset timer
m_delayToIdle = 0.05f;
m_animator.SetInteger("AnimState", 1);
}
//Idle
else
{
// Prevents flickering transitions to idle
m_delayToIdle -= Time.deltaTime;
if (m_delayToIdle < 0)
m_animator.SetInteger("AnimState", 0);
}
}
private void DeathAnimation()
{
m_animator.SetBool("noBlood", m_noBlood);
m_animator.SetTrigger("Death");
}
'TIL' 카테고리의 다른 글
[ 24.06.27 ] 내일배움캠프 TIL - 기획, Trail Renderer? (0) | 2024.06.27 |
---|---|
[ 24.06.24 ] 내일배움캠프 TIL - .gitignore (0) | 2024.06.24 |
[ 24.06.20 ] 내일배움캠프 TIL - Attack Trigger (0) | 2024.06.20 |
[ 24.06.19 ] 내일배움캠프 TIL - FSM (0) | 2024.06.19 |
[ 24.06.18 ] 내일배움캠프 TIL - Rendering Pipeline (0) | 2024.06.18 |