문제해결

[오류 해결] DOTween 실행 안 되는 이슈

samosa 2024. 2. 7. 22:50

정말 이해가 안 되는 상황이었다.

t.DOScale(1f, 0.5f).SetEase(Ease.OutBounce);

 

그냥 이것... 너무나 기본적인 DOTween 사용을 했는데, 

처음 한 번은 실행이 되고 다시 해당 씬으로 돌아오면 실행이 안 되는 것 아닌가?

 

의심해본 상황:

  1. DOTween 패키지 버그 >>> 재설치했으나 여전히 안 됨.
  2. SetAutoKill을 false로 >>> 애초에 씬을 왔다갔다 하면 트위닝한 녀석들이 destroy 되는데 kill을 해주거나 auto kill이 되거나 둘 중 하나 아닌가 싶고.. 영 해결 방법이 아니다 싶긴 했지만 어쨌든 Kill 관련 값들 조작해봄.
  3. Restart >>> DOTween 객체가 DontDestroy에 있길래, 이게 한 번 트위닝 한 것들을 계속 어떤 식으로든 참조하고 있나.. 그럼 일반 start가 아니라 restart 해줘야 하나.. 하면서 조작해봄.
  4. 어떤 이유에서든 DOTween Playing 상태가 아니다 >>> isPlaying 찍어보니 플레이 중 맞음.

이때 쎄~한 느낌이 들면서 DontDestroy DOTween 오브젝트 클릭했을 때 인스펙터 써있던 내용이 떠올랐다.

바로 맨 밑 부분 ("DOTween's TimeScale is not the same as ~~).

즉, 유니티의 time scale에 dotween의 timescale이 기본적으로 영향을 받는다는 것.

 

문제가 되던 상황에 바로 로그를 찍어보니 Time.timescale이 0이었다......

 

바로 1로 셋 해주고 해결!