에디터 내에서는 DOTWeen이 부드럽게 잘 되는데 스마트폰에서는 끊겨보일때가 있을 것이다.

 

DOTween 애니메이션 성능 최적화를 위해 아래 방식들을 확인하자.

 

 

DOTween 업데이트 방식 [SetUpdate(true)]
DOTween의 업데이트 방식을 TimeScale과 무관하게 설정한다.

예를 들어, 애니메이션이 정확한 프레임으로 실행되도록 SetUpdate(true)를 추가해보자..

 

 

DOTween Update 설정 최적화 [SetUpdate(UpdateType.Late)]

SetUpdate(true)는 Time.timeScale에 독립적인 업데이트를 보장하지만,

성능 문제가 발생하면 애니메이션 간격이 부정확하게 느껴질 수 있다.

 

SetUpdate(UpdateType.Late)를 사용해 LateUpdate 단계에서 애니메이션 처리가 이루어지도록 설정해보자.

이는 화면 렌더링 후 부드럽게 애니메이션을 처리할 수 있게 한다.

 

 

 

DOTween의 UpdateType 옵션

  1. Normal (기본값)
    • UpdateType.Normal
    • Unity의 기본 Update 단계에서 애니메이션이 업데이트
    • 일반적인 게임 로직과 함께 실행
  2. Fixed
    • UpdateType.Fixed
    • Unity의 FixedUpdate 단계에서 애니메이션이 실행
    • 물리 연산처럼 고정된 시간 간격으로 업데이트
  3. Late
    • UpdateType.Late
    • Unity의 LateUpdate 단계에서 애니메이션이 실행
    • Update 단계가 완료된 후 실행되므로, 다른 애니메이션이나 로직의 결과를 반영한 상태에서 애니메이션을 진행
  4. Manual
    • UpdateType.Manual
    • DOTween 애니메이션의 업데이트를 수동으로 관리
    • DOTween.ManualUpdate(float deltaTime, float unscaledDeltaTime)를 호출해 직접 업데이트

 

UpdateType.Late의 사용 목적

UpdateType.Late를 사용하면 Unity의 LateUpdate 단계에서 DOTween 애니메이션이 실행되어 다음과 같은 장점이 있다.

  1. 렌더링 순서 조정
    • LateUpdate는 Unity의 프레임 렌더링 직전에 실행
    • 다른 Update 단계에서의 UI 또는 Transform 변경이 끝난 후 애니메이션을 처리 가능
  2. 의존성 문제 해결
    • 다른 오브젝트의 상태가 변경된 이후에 애니메이션이 실행되므로, 종속적인 로직이 있을 때 유용
    • 예를 들어, UI 배치가 Update 단계에서 변경된 후에 애니메이션이 자연스럽게 동작
  3. 더 부드러운 애니메이션
    • 핸드폰과 같은 환경에서, 프레임 렌더링과 애니메이션의 순서가 더 자연스러워질 수 있음
    • 특히 UI 관련 애니메이션에 효과적
반응형

+ Recent posts