Time.timeScale = 0이어도 애니메이션은 재생하고 싶어요

2025. 3. 25. 19:41·공부방/C# 에러발생 로그

게임오버 애니메이션 재생하기,  End Panel 띄우기

    public void GameOver()
    {
        isPlay = false;
        anim.SetBool("isDie", true);
        Time.timeScale = 0.0f;

        currentScoreTxt.text = time.ToString("N2");

        // Setting Best Score
        if (PlayerPrefs.HasKey(key))
        {
            float best = PlayerPrefs.GetFloat(key);
            if (best < time)
            {
                PlayerPrefs.SetFloat(key, time);
                bestScoreTxt.text = time.ToString("N2");
            }

            else
            {
                bestScoreTxt.text = best.ToString("N2");
            }
        }
        else
        {
            PlayerPrefs.SetFloat(key, time);
            bestScoreTxt.text = time.ToString("N2");
        }

        Invoke("EndPanel", 1f);
    }

    void EndPanel()
    {
        endPanel.SetActive(true);
    }

강의에서는 그냥 애니메이션 실행하는 0.5초를 기다렸다가 멈추기 때문에 TimeStop() 함수를 따로 만들고 Invoke로 0.5초 후에 실행했다. 근데 게임오버되는 순간 떨어지는 상자들은 전부 멈춘 상태에서 풍선만 터지는게 더 예쁠 것같아서 열심히 찾아봤다.


원하는 루틴은

게임 시간 정지 -> 애니메이션 실행 -> Balloon 오브젝트 삭제 -> EndPanel 활성화

그래서 애니메이션 update mode를 Unscaled Time으로 설정했다. 이렇게 하면 timeScale이랑 무관하게 실행됨!

그 다음에 판넬 활성화 함수 만들고 Invoke()로 시간 좀 주고 실행시키려고 했는데 
Invoke가 timeScale에 따라서 움직이기 때문에 뒤늦게 활성화할 수 없었다..

결국 코루틴까지 찾아봤고 너무 맘에 들게 해결 완료

'공부방 > C# 에러발생 로그' 카테고리의 다른 글

Animator 연결이 안 돼요  (0) 2025.04.04
UI Button 컴포넌트 OnClick() 내에서 함수 안 뜸  (0) 2025.03.24
NullReferenceException: Object reference not set to an instance of an object  (0) 2025.03.20
Visual Studio 자동완성 안 됨  (0) 2025.03.20
Can't add script behaviour  (0) 2025.03.20
'공부방/C# 에러발생 로그' 카테고리의 다른 글
  • Animator 연결이 안 돼요
  • UI Button 컴포넌트 OnClick() 내에서 함수 안 뜸
  • NullReferenceException: Object reference not set to an instance of an object
  • Visual Studio 자동완성 안 됨
happy124219
happy124219
happylaboratory 님의 블로그 입니다.
  • happy124219
    윤아 실험실
    happy124219
  • 전체
    오늘
    어제
    • 분류 전체보기 (116)
      • 공부방 (103)
        • Unity UI (2)
        • C# 알고리즘 (3)
        • C# 에러발생 로그 (7)
        • 내일배움캠프 Unity 9기 TIL (91)
      • 도토리도굴단 (9)
        • Project: HSR 개발일지 (3)
        • Project: HoP 개발일지 (6)
      • 개인 프로젝트 (1)
        • Project: BloomFolk (1)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    내일배움캠프후기
    유니티
    스파르타내일배움캠프TIL
    c#문법
    스파르타내일배움캠프
    유니티트랙후기
    도망공부일지
    게임개발
    도망개발일지
    내일배움캠프
    Unity게임개발
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
happy124219
Time.timeScale = 0이어도 애니메이션은 재생하고 싶어요
상단으로

티스토리툴바