문제해결
[오류 해결] DOTween 실행 안 되는 이슈
samosa
2024. 2. 7. 22:50
정말 이해가 안 되는 상황이었다.
t.DOScale(1f, 0.5f).SetEase(Ease.OutBounce);
그냥 이것... 너무나 기본적인 DOTween 사용을 했는데,
처음 한 번은 실행이 되고 다시 해당 씬으로 돌아오면 실행이 안 되는 것 아닌가?
의심해본 상황:
- DOTween 패키지 버그 >>> 재설치했으나 여전히 안 됨.
- SetAutoKill을 false로 >>> 애초에 씬을 왔다갔다 하면 트위닝한 녀석들이 destroy 되는데 kill을 해주거나 auto kill이 되거나 둘 중 하나 아닌가 싶고.. 영 해결 방법이 아니다 싶긴 했지만 어쨌든 Kill 관련 값들 조작해봄.
- Restart >>> DOTween 객체가 DontDestroy에 있길래, 이게 한 번 트위닝 한 것들을 계속 어떤 식으로든 참조하고 있나.. 그럼 일반 start가 아니라 restart 해줘야 하나.. 하면서 조작해봄.
- 어떤 이유에서든 DOTween Playing 상태가 아니다 >>> isPlaying 찍어보니 플레이 중 맞음.
이때 쎄~한 느낌이 들면서 DontDestroy DOTween 오브젝트 클릭했을 때 인스펙터 써있던 내용이 떠올랐다.
바로 맨 밑 부분 ("DOTween's TimeScale is not the same as ~~).
즉, 유니티의 time scale에 dotween의 timescale이 기본적으로 영향을 받는다는 것.
문제가 되던 상황에 바로 로그를 찍어보니 Time.timescale이 0이었다......
바로 1로 셋 해주고 해결!