[25.05.27] TIL( UI Time 관련 트러블 슈팅, UI 제작 )

설민우·2025년 5월 26일

내일배움캠프 - Unity

목록 보기
50/85

오늘은 어제 작업한것에 이어, UI 애니메이션 추가, 빌보드형 다이얼로그 추가, 스킬 쿨타임 기능 추가, 미니맵 추가등의 작업을 진행했습니다.

  • 오늘의 작업에서 가장 인상깊었던 것은 미니맵이었습니다.
  • 생각보다 코드 한줄 없이 새로운 카메라를 생성하고, 랜더 텍스쳐를 이용해서 Layer 구븐으로 쉽게 구현할 수 있었습니다.

! 트러블 슈팅 !

1. 문제 상황

  • 코루틴을 이용해서 타이핑 효과를 넣어주려고 했는데, 아무리 확인해도 문제가 되는 부분이 없는데 진행되지 않는다!
  • 마찬가지로 두트윈을 이용해 알파값, 렉트 위치 조정을 이용한 UI 애니메이션을 추가하려고 했는데 트윈이 진행되지 않는다!

2. 문제 원인

  • 확인해보니 이전에 UI 자동화 기능에서, PopUI가 나올 경우 Time.timescale = 0f 로 바꾸어 주는 코드가 있었는데, 이를 확인하지 못한채로 코루틴에서 new waitforsec 을 사용해버렸습니다.
  • 두 트윈도 마찬가지로 단순히 seq.Append(canvasGroup.DOFade(0f, 0.4f)) 이런 방식으로 해서는 timescale 때문에 동작하지 않습니다.

3. 해결 방법

  • 코루틴에서는 WaitForSecondsRealtime 를 사용하여 timescale과 관련없이 동작 할 수 있도록 합니다.
  • 두 트윈에서는 트윈 행동 뒤에 .SetUpdate(true); 를 붙여 timescale과 관련 없이 동작 할 수 있도록 합니다.

4. 알게 된 것

  • 정말 생각지도 못한 부분에서 발생한 문제여서 찾기가 아주 어려웠습니다.. 특히 UI 담당이라 실제 플레이가 멈추지는 않으니 시간이 문제라는 것을 확인하는데 까지 시간이 오래 걸렸습니다.
  • null 과 변수이름등 기본적으로 꼭 체크해야 하는 항목에 TimeScale도 꼭 넣어야 할 것으로 보입니다.
profile
클라이언트 개발자를 지망하고 있습니다.

0개의 댓글