Class GameDev* SheepAdult

[Unreal Engine 5] fresh_cooked_tweens 플러그인을 사용해보자! - Tick이 아닌 곳에서 Tick 기능 사용하기 본문

Unreal Engine

[Unreal Engine 5] fresh_cooked_tweens 플러그인을 사용해보자! - Tick이 아닌 곳에서 Tick 기능 사용하기

SheepAdult 2023. 9. 26. 14:26

유용한 오픈 소스 플러그인을 발견해서 작성한다. 틱에 작성하지 않고 틱처럼 돌아가게 하는(마치 타임라인과 비슷한) 플러그인이다.

 

아래는 해당 플러그인 깃 허브 링크이다.

https://github.com/jdcook/fresh_cooked_tweens

 

GitHub - jdcook/fresh_cooked_tweens: Tweens for Unreal Engine, with C++ API and Blueprint support

Tweens for Unreal Engine, with C++ API and Blueprint support - GitHub - jdcook/fresh_cooked_tweens: Tweens for Unreal Engine, with C++ API and Blueprint support

github.com

해당 플러그인은 블루프린트에서의 Start with Tick Enabled나 c++에서의 PrimaryComponentTick.bCanEverTick 을 false로 설정해 놓아도 사용할 수 있으며, 타임라인에 비해 굉장히 사용하기 편하다는 장점이 있다.

 

위의 링크에 설명이 자세하게 되어 있어 스펙이나 장점, 정확한 사용법 등의 자세한 설명은 생략하지만, 간단한 사용 예를 블루프린트를 활용하여 만들어 보았다.

 

아래와 같이 블루프린트에서 검색하면 해당 함수가 나타나는데 골라서 사용하면 된다. 아래의 함수들 제외하고 ~with custom curve도 있다. 기본으로 제공하는 ease 제외, 다른 curve를 제작해서 적용할 수 있다.

본인은 Tween Vector를 테스트할 것이다.

Tween Vector는 아래와 같다.

이름 보면 대충 어떤 인자들인지, 노드는 어떤 노드인지 감이 잡힐 것이다.

 

- In

  • Start / End - 시작점 및 도착점
  • Duration Secs - 재생 속도로, 값이 작을수록 주기가 감소하여 빠르게 움직인다.
  • Ease - 그래프 모양
  • Delay - 시작 지연 시간
  • Loops - 반복 횟수 (-1은 횟수 무한 국룰)
  • Loops Delay - 반복 사이 시간 텀
  • Yoyo - 한 번 재생하고 reverse할 것인지

- Out

  • Async Task - 상호작용 후 Tween을 중지하는 등의 작업을 수행하는 경우 해당 핀을 사용하여 작업할 수 있다.
  • Apply Easing - 그래프 모양을 따라가면서 작업할 내용(tick과 비슷)
  • On Loop - 반복할 때마다 호출
  • On Yoyo - Reverse될 때마다 호출
  • On Complete - 작업이 모두 끝난 후 호출
  • Value - 그래프 반환 값

얼추 이러한 값들이다.

 

한 오브젝트를 위아래로 움직이는 간단한 로직을 짜보았다.

정말 간단해 보인다. loop 횟수 무한으로 위아래로 왔다 갔다 할 것이다.

아래는 결과이다.