AWESOME AI MOTION
효과Effects / 입자·생성Generative / Nº 506

입자 버스트Particle Burst

Particle Burst
입자 버스트
다른 이름Also known as · Particle burst · 입자 폭발 · Confetti burst · 색종이 폭발 · Confetti Burst · 색종이 분출 · Confetti cannon · Confetti explosion · Confetti · Cool Mode · ClickSpark · Click Burst · confetti · cool-mode
506
도판Fig. 506. 입자 버스트 · Particle Burst · power2.out
재생 속도Speed

한 점에서 입자 여러 개가 사방으로 터져 나가 중력에 떨어지며 사라지는 효과Particles explode outward from a single point, fall under gravity, and fade out.

01

무엇을 전하나What it tells

전달 효과ConveysCONVEYS
성공, 완료, 축하 같은 순간의 에너지를 보여주고 시선을 그 지점에 모은다Shows the energy of a success or completion moment and gathers the eye at that spot.
언제 쓰나Use whenUSE WHEN
  • 버튼 클릭, 결제 완료, 목표 달성 같은 성취 순간을 표시할 때
  • 로고나 숫자가 나타나는 지점에 폭발적 강조를 줄 때
  • To mark an achievement like a click, payment done, or goal reached
  • To add an explosive accent where a logo or number appears
과용 주의AvoidAVOID
  • 입자 수 150개 초과 금지(가독성과 렌더 비용)
  • 핵심 글자 위에서 입자 opacity 0.6 이하 유지
02

좋은 예와 나쁜 예Good and bad use

좋은 사례GOOD

체크 아이콘이 나타나는 순간 입자 80개가 1.2초 동안 퍼졌다가 중력에 떨어지며 페이드된다

과용 · 나쁜 사례OVERUSE

입자 500개를 1초 넘게 화면 전체에 흩뿌려 핵심 텍스트를 가리거나, 매번 다른 무작위 궤적을 쓴다

03

파라미터Parameters

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

항목PARAM기본DEFAULT범위RANGE메모NOTE
입자 수80개40~150개시드 고정
수명1200ms800~1800ms끝 300ms 페이드
초기 속도240~620px/s200~800px/s각도는 360도 균등 분산
중력600px/s²400~900px/s²아래 방향
크기4~9px3~12px수명에 따라 0.4배로 축소
GSAP
function mulberry(a){return()=>{a|=0;a=a+0x6D2B79F5|0;let t=Math.imul(a^a>>>15,1|a);t^=t+Math.imul(t^t>>>7,61|t)^t;return((t^t>>>14)>>>0)/4294967296}}
const r=mulberry(7),P=[...Array(80)].map(()=>({a:r()*6.283,v:240+r()*380,s:4+r()*5}));
// draw(p): x=cx+cos(a)*v*t, y=cy+sin(a)*v*t+300*t*t, alpha=1-t/1.2
04

에이전트 프롬프트Agent prompts

그대로 붙여 넣는다Paste as is

Claude Code

<대상>이 나타나는 순간 입자 버스트를 넣어줘. canvas에 입자 80개를 원점에서 360도로 균등하게 발사해. 초기 속도는 240~620px/s, 중력 600px/s², 수명 1.2초, 마지막 0.3초는 페이드, 크기는 4~9px에서 0.4배로 줄어들게. 난수는 시드 고정으로 매번 같은 궤적, 위치는 progress 값의 순수 함수로 그려서 seek 가능하게 해.

Add a particle burst to <target> at the moment it appears. On a canvas, launch 80 particles from the origin evenly over 360 degrees at 240-620px/s, gravity 600px/s^2, lifetime 1.2s with the last 0.3s fading, size 4-9px shrinking to 0.4x. Use a fixed seed so trajectories repeat, and draw positions as a pure function of progress so it is seekable.

Codex

<파일>에 particle-burst canvas를 구현해. 입자 80개, 수명 1200ms, 중력 600px/s², 속도 240~620px/s, seed 7. 트리거 후 0.2초, 0.6초, 1.3초를 캡처해 입자가 퍼졌다가 낙하하고 1.3초에 캔버스가 비었는지 확인해. 같은 시점을 두 번 렌더해 픽셀이 동일한지도 비교해.

Implement a particle-burst canvas in <file>: 80 particles, lifetime 1200ms, gravity 600px/s^2, speed 240-620px/s, seed 7. Capture 0.2s, 0.6s, and 1.3s after the trigger to check the spread, the fall, and an empty canvas at 1.3s. Render the same time twice and compare pixels for identity.

05

도구별로 쓰기In your tools

HyperFrames · ReelForge · Scrolline

HyperFramesVIDEO · GSAP
canvas draw를 tl.eventCallback이 아니라 타임라인 진행값 t의 순수 함수로 그린다. 입자 배열은 시드로 고정해 seek해도 같은 궤적이 나온다
ReelForgeBRIEF TO VIDEO
씬 워커 브리프에 count, lifetimeMs, gravity, seed, origin(x,y)를 싣는다. 색 팔레트는 브랜드 토큰에서 가져온다
Scrolline DeckSCROLL SCRUB
트리거 진행률 구간(예: 0.42~0.55)에서만 t를 0~1로 매핑한다. 구간 밖으로 스크롤하면 입자는 즉시 사라진 상태로 둔다
06

잘 맞는 조합Pairs well with

07

출처Sources

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