AWESOME AI MOTION
효과Effects / 전환·컷Transitions / Nº 142

스케일 스왑Scale Swap

Scale Swap
스케일 스왑
다른 이름Also known as · Scale swap · 축소 확대 교체 · 축소와 팝 교체 · scale-swap-transition · Anchored scale replacement · 앵커 확대 축소 교체
142
도판Fig. 142. 스케일 스왑 · Scale Swap · back.out(1.4)
재생 속도Speed

기존 장면이 기준점으로 줄어드는 동안 새 장면이 커져 그 자리를 잇는 전환The old element shrinks toward a pivot while the new one grows in to take its place.

01

무엇을 전하나What it tells

전달 효과ConveysCONVEYS
같은 자리에서 상태가 바뀌어도 이어진다는 감각. 튀어나오는 팝 느낌Different states continue in the same spot, with a small pop.
언제 쓰나Use whenUSE WHEN
  • 아이콘, 카드, 버튼 같은 요소가 다른 상태로 바뀔 때
  • 한 장면이 다른 장면으로 같은 위치에서 교체될 때
  • Change an icon, card, or button into another state.
  • Swap one scene for another in the same position.
과용 주의AvoidAVOID
  • scale 0까지 줄이지 않는다(0.2 아래 금지)
  • 오버슈트를 쓰려면 scale 1.05 이하로 제한한다
02

좋은 예와 나쁜 예Good and bad use

좋은 사례GOOD

앞 요소가 0.55초 동안 scale 1에서 0.2로 줄며 사라지고, 뒤 요소가 0.2에서 1로 커지며 50% 시점에 교차한다

과용 · 나쁜 사례OVERUSE

앞 요소가 0으로 완전히 줄어 빈 구간이 생기거나, 오버슈트를 1.3배 넘게 줘서 통통 튀는 느낌이 과하다

03

파라미터Parameters

기본값은 클립에 쓴 값Defaults are the values used in the clip

항목PARAM기본DEFAULT범위RANGE메모NOTE
전체 지속0.55s0.35~0.8s교차는 50%
원점50% 50%요소 중심 또는 클릭점두 요소 동일
앞 scale1→0.20.1~0.5opacity 1→0 동반
뒤 scale0.2→10.2~0.6에서 시작opacity 0→1 동반
GSAP
tl.to('.a', { scale: 0.2, opacity: 0, duration: 0.55, ease: 'power2.in', transformOrigin: '50% 50%' }, 0)
  .fromTo('.b', { scale: 0.2, opacity: 0, transformOrigin: '50% 50%' },
    { scale: 1, opacity: 1, duration: 0.55, ease: 'back.out(1.4)' }, 0.275);
04

에이전트 프롬프트Agent prompts

그대로 붙여 넣는다Paste as is

Claude Code

<대상A>를 <대상B>로 스케일 스왑해줘. 둘은 같은 위치에 겹쳐 두고 transformOrigin 50% 50%. A는 0.55초 동안 scale 1에서 0.2, opacity 1에서 0 (power2.in), B는 0.275초부터 0.55초 동안 scale 0.2에서 1, opacity 0에서 1 (back.out(1.4)). paused 타임라인으로 만들어.

Scale-swap <targetA> for <targetB>. Stack them in the same spot with transformOrigin 50% 50%. A goes scale 1 to 0.2 and opacity 1 to 0 over 0.55 seconds (power2.in). B starts at 0.275 seconds and goes scale 0.2 to 1 and opacity 0 to 1 over 0.55 seconds (back.out(1.4)). Use one paused timeline.

Codex

<파일>의 상태 교체에 scale swap을 적용해. 앞 요소 scale 1에서 0.2와 opacity 0 (0.55s, power2.in), 뒤 요소 scale 0.2에서 1과 opacity 1 (0.275초 시점부터 0.55s, back.out(1.4)). 0.3초에 두 요소가 함께 보이는지, 0.83초에 뒤 요소가 scale 1인지 캡처로 확인해.

Apply a scale swap to the state change in <file>. Outgoing element scale 1 to 0.2 with opacity to 0 (0.55s, power2.in); incoming element scale 0.2 to 1 with opacity to 1 (starts at 0.275s, 0.55s, back.out(1.4)). Capture at 0.3 seconds to confirm both are visible together, and at 0.83 seconds to confirm the incoming element is at scale 1.

05

도구별로 쓰기In your tools

HyperFrames · ReelForge · Scrolline

HyperFramesVIDEO · GSAP
형제 요소를 같은 위치에 겹치고 transform, opacity만 쓴다. back.out은 seek에서도 결정론적이다
ReelForgeBRIEF TO VIDEO
씬 워커 브리프에 originX, originY, fromScale, overshoot를 싣는다. 오브젝트 씬의 상태 교체 비트에 붙인다
Scrolline DeckSCROLL SCRUB
scrub에서는 back.out 대신 power3.out으로 바꿔 오버슈트 진동을 없앤다. 진행률 0.5에서 교차한다
06

잘 맞는 조합Pairs well with

07

출처Sources

개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo