GUI 애니메이션 만들기
TWEEN을 활용하여 GUI 애니메이션을 만듭니다.

GUI 애니메이션은 GUI의 Offset을 조절하여 만들 수 있습니다.
TWEEN의 .easing()과 .yoyo()를 사용합니다.
GUI에 애니메이션을 적용할 이미지 추가하기
애니메이션을 적용할 이미지를 GUI에 추가해줍니다.
GUI에 이미지 추가하기이미지 GUI 기본 설정하기
a. 이미지의 사이즈를 설정해줍니다.
비율이 유지되도록 Maintain AspectRatio를 켜주고, 단위를 퍼센트(%)로 바꾼 후 사이즈를 조정해줍니다.
이미지 사이즈 설정하기b. 이미지의 시작위치를 설정해줍니다.
Anchor를 통해 이미지의 기준점을 잡아주고 Offset을 조정해줍니다.
이미지 시작위치 설정하기반응형 GUI를 구성하기 위해서는 반드시 단위를 px에서 %(퍼센트)로 변경해주어야 합니다.
추가로 비율 유지 여부에 따라 Maintain AspectRatio를 ON/OFF 해주면 됩니다.
GUI 애니메이션 TWEEN 스크립트 작성하기
이미지 GUI에 오브젝트(클라이언트) 스크립트를 추가해줍니다. TWEEN을 통해 이미지의 Offset을 변경해줍니다.
offset 객체는 간략하게 본다면 { x : { value : Number }, y : { value : Number } }로 구성되어 있기 때문에 한 축으로만 값을 변경하고 싶다면 ui.offset.y를 TWEEN의 시작객체로 사용해주어야 합니다.
.yoyo()를 사용하기 때문에 GUI 애니메이션 시간은 tween.to(object, duration)에서 duration의 2배가 됩니다.
.easing()을 통해 객체의 움직임(보간 방정식)을 변경할 수 있습니다.

TWEEN.Easing.Exponential.InOut
const ui = GUI.getObject('Copy_notification.png(9cf)');
const tween = new TWEEN.Tween(ui.offset.y);
// GUI 애니메이션 시간 조정 가능, 기본은 1000ms
tween.to({ value : 20 });
// .easing()을 통해 움직임(보간 방정식)을 변경할 수 있습니다.
tween.easing(TWEEN.Easing.Exponential.InOut)
.yoyo(true).repeat(1);TWEEN의 기본 전환시간은 1000밀리초, 즉 1초입니다.
특정 이벤트가 발생했을 때 TWEEN 실행시키기
아래는 키보드의 c가 눌렸을 때, TWEEN을 실행해주는 예시입니다.
해당 TWEEN을 실행시키고 싶은 이벤트가 발생했을 때, tween.start()를 사용해주면 됩니다.
// ...
function OnKeyDown(event) {
if(event.code === 'KeyC') {
if(tween.isPlaying()) {
tween.stop();
ui.offset.y.value = -15 // 초기 위치
}
tween.start();
}
}GUI 애니메이션이 끝나기 전에 다시 시작된다면 다시 처음 위치에서 애니메이션이 실행될 수 있도록 정지시킨 후 위치값을 초기화해줍니다.