AWESOME AI MOTION
효과Effects / 도형·패스Shape & Path / Nº 424

오프셋 패스Offset Path

Offset Path
오프셋 패스
다른 이름Also known as · Offset Paths · Outline Ripple
424
렌더 추가 예정CLIP COMING오프셋 패스Offset Path정의·파라미터·프롬프트는 아래에 있다Definition, parameters and prompts are below
도판Fig. 424. 오프셋 패스 · Offset Path · power2.inOut

도형의 외곽이 일정 거리만큼 부풀거나 줄어드는 확장과 수축A shape's outline grows or shrinks outward by a fixed distance.

01

무엇을 전하나What it tells

전달 효과ConveysCONVEYS
팽창과 수축이 형태를 유지한 채 진행되어 영향 범위가 넓어지거나 좁아지는 것이 명확하다Expansion and contraction keep the form intact, so widening or narrowing the area of influence reads clearly.
언제 쓰나Use whenUSE WHEN
  • 선택 영역이나 경계를 넓혀 강조할 때
  • 동심 윤곽으로 확산되는 파동을 만들 때
  • 도형이 커진다기보다 껍질이 두꺼워지는 표현이 필요할 때
  • Widen a selection area or boundary for emphasis.
  • Concentric outlines spreading like a wave.
  • Thicken a shell rather than scaling the shape.
과용 주의AvoidAVOID
  • scale로 대체하지 않는다(선 굵기가 변함)
  • 오프셋은 오목한 곡률 반경보다 작게 한다
  • 동심 윤곽은 3~5개로 제한한다
02

좋은 예와 나쁜 예Good and bad use

좋은 사례GOOD

도형 외곽이 600ms에 0에서 24px까지 균일하게 부풀고 모서리는 조인 형태를 유지한다

과용 · 나쁜 사례OVERUSE

scale로 키워 선 굵기와 모서리가 함께 커져 형태가 왜곡된다. 오프셋이 커서 안쪽 오목한 부분이 겹친다

03

파라미터Parameters

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

항목PARAM기본DEFAULT범위RANGE메모NOTE
시간0.6s0.4~1.0s팽창
오프셋0→24px0~40px법선 방향
윤곽 수11~5동심 시 간격 12px
조인roundround/miter모서리 형태
이징power2.inOutpower1~power3
GSAP
// 각 오프셋 값에 대한 외곽을 사전 계산한 path d 배열로 두고 보간
const d = [d0, d8, d16, d24]; // 0, 8, 16, 24px 오프셋 경로
const o = { t: 0 };
tl.to(o, { t: 3, duration: 0.6, ease: 'power2.inOut', onUpdate: () => el.setAttribute('d', d[Math.round(o.t)]) }, 0.3);
// 단순 원형은 r 만 tween: tl.to('circle', { attr: { r: '+=24' } })
04

에이전트 프롬프트Agent prompts

그대로 붙여 넣는다Paste as is

Claude Code

GSAP과 SVG로 <도형>의 외곽 오프셋 애니메이션을 만들어 줘. 오프셋 0, 8, 16, 24px의 path d를 미리 계산해 두고, 0.3초부터 0.6초 동안 power2.inOut으로 단계 보간해 균일하게 부풀게 해. scale로 키우지 말고 선 굵기와 모서리 형태를 유지해. 원이면 r만 24px 늘려도 좋아. paused 타임라인으로 작성해.

Use GSAP and SVG to animate an outline offset on <shape>. Precompute the path d at offsets 0, 8, 16 and 24px, and step through them from 0.3 seconds over 0.6 seconds with power2.inOut so it swells evenly. Do not scale; keep stroke width and corner shape. For a circle, tweening r by 24px is fine. Paused timeline.

Codex

<파일>의 도형에 offset-path를 적용해. 오프셋 경로 d 배열 [d0,d8,d16,d24]를 정적으로 두고 tween 객체 t를 position 0.3, duration 0.6, ease power2.inOut으로 0→3, onUpdate에서 setAttribute('d', d[Math.round(t)]). 0.3초는 원본, 0.6초는 중간 오프셋, 1.2초는 24px 오프셋이며 stroke 폭이 변하지 않았는지 캡처로 확인해.

Apply offset-path to the shape in <file>. Keep static d array [d0,d8,d16,d24]; tween object t 0 to 3 at position 0.3, duration 0.6, ease power2.inOut, and setAttribute('d', d[Math.round(t)]) in onUpdate. Capture 0.3s (original), 0.6s (mid offset) and 1.2s (24px offset with unchanged stroke width).

05

도구별로 쓰기In your tools

HyperFrames · ReelForge · Scrolline

HyperFramesVIDEO · GSAP
오프셋 경로는 도구에서 미리 계산해 정적 d 배열로 두고 단계 보간한다. 브라우저에서 즉석 계산하면 seek가 불안정하다
ReelForgeBRIEF TO VIDEO
브리프에 원본 path, 오프셋 값 배열 0/8/16/24, 조인 종류를 싣는다
Scrolline DeckSCROLL SCRUB
진행률 0~1을 오프셋 단계에 매핑한다. 윤곽 개수는 진행률에 따라 순차 노출한다
06

잘 맞는 조합Pairs well with

07

출처Sources

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