[Unity] 최종 팀프로젝트 5일차 - 리듬게임 판정 애니메이션에 대해서

김소연·2025년 4월 11일

🎯

간단한 리듬게임 구현 중, 노트가 터지는 연출을 위해서 애니메이션을 추가했다.

노트 입력이 조건에 맞게 처리되면 setTrigger("NoteHit")으로 이펙트가 나오도록 했다.

판정선에서 이펙트 연출이 되는 게 맞을지, 아니면 노트 자체에 이펙트를 달아줘야 하는지 고민했고,
둘 다 연출해 봤다.

결과적으로는, 판정선에서 이펙트가 발생하는 것이 타이밍적으로 괜찮았다.

현재 노트는 입력이 들어오면 즉각적으로 노트가 파괴되는 것처럼 보인다.
(입력이 들어왔을 때 노트가 판정 오차범위 내에 있다면 SetActive False로 전환되기 때문에)
또한 노트는 한번 생성된 것을 재활용하고 있다. (오브젝트 풀링 형식)

이때 노트에서 이펙트가 발생하면, 노트는 즉시 안 보이지만 터지는 이펙트는 애니메이션의 종료까지 혼자 잔상처럼 남게 된다.
심지어 이 노트가 재활용되어 위치가 초기화 되면서 다시 떨어지기 시작했을 때도, 애니메이션은 여전히 진행 중이다.

따라서, 판정 시 이펙트를 판정선에서 재생하도록 하여
자연스러운 연출 및 오브젝트 풀링 안정성을 확보하고자 했다.

🎯

구현하면서 한가지 더 고려해야 할 점은, 어느 오차범위까지 이펙트가 발생해야 하는지에 대한 것이다.
현재 기획서 상, 판정 등급은 Perfect, Good, Bad, Miss로 나뉘며 Bad는 판정선으로부터 꽤 떨어진 위치에서 입력이 인정된다.

따라서 Good까지만 이펙트를 발생시키고, Bad부터는 이펙트 없이 노트가 사라지도록 했다.

💥

하지만 그렇게까지 자연스럽지게 보이지 않아서
판정 등급이 시각적으로 나타나야 노트가 그냥 사라지는 것에 대한 납득이 이루어질 듯하다.
구현해야 하는 모든 미니게임의 로직을 우선적으로 구현한 뒤,
판정 애니메이션 관련 구조를 재정립하고 구현할 예정이다.


++

✔ 노트가 사라지면서 이펙트가 발생하는 연출을 하려면 노트라는 빈 오브젝트의 자식으로 노트 이미지 / 노트 이펙트가 들어가야 한다.
만약 그렇게 분리하지 않고 이미지 컴포넌트 자체를 노트로 사용하면, 노트를 비활성화하면서 애니메이션 역시 재생되지 않을 것이다.

activeSelfactiveInHierarchy를 잘 구분해야 한다.
activeSelf는 자기 자신이 SetActive true인지 false인지 자기 상태만 확인하는 반면
activeInHierarchy는 부모까지 포함해서 최종적으로 Scene에 보이는지 여부로, 부모가 꺼져 있으면 false가 된다.

0개의 댓글