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

불티 분사Spark Spray

Spark Spray
불티 분사
541
렌더 추가 예정CLIP COMING불티 분사Spark Spray정의·파라미터·프롬프트는 아래에 있다Definition, parameters and prompts are below
도판Fig. 541. 불티 분사 · Spark Spray · power2.out

작은 밝은 점이 빠르게 튀어 나가 짧은 꼬리를 남기고 꺼지는 불티Small bright dots fly outward, leave short tails and go out.

01

무엇을 전하나What it tells

전달 효과ConveysCONVEYS
충돌, 마찰, 순간적인 충격. 짧은 에너지 방출Collision, friction and a brief release of energy.
언제 쓰나Use whenUSE WHEN
  • 두 물체가 충돌하는 순간을 강조할 때
  • 용접·스위치·전기 접점 같은 불꽃 이미지가 필요할 때
  • When emphasizing the moment two objects collide
  • When a welding, switch or electric contact spark is needed
과용 주의AvoidAVOID
  • 입자 수 100 이하
  • 수명 0.6초 이하
  • 시드 고정 난수만 사용
02

좋은 예와 나쁜 예Good and bad use

좋은 사례GOOD

충돌 지점에서 점 60개가 초기 속도 350px/s로 사방에 흩어져 450ms에 꺼진다

과용 · 나쁜 사례OVERUSE

입자를 수백 개 오래 유지해 화면이 지저분해지거나, 매 렌더가 다른 배치다

03

파라미터Parameters

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

항목PARAM기본DEFAULT범위RANGE메모NOTE
입자 수6030~100캔버스 1920x1080
초기 속도350px/s200~500px/s방사형
수명450ms300~600ms점마다 ±15%
합성lighterlighter밝은 점이 겹칠 때 빛남
GSAP
let s = 11; const r = () => (s = (s * 16807) % 2147483647) / 2147483647;
const P = Array.from({ length: 60 }, () => ({ a: r() * Math.PI * 2, v: 250 + r() * 200, l: 0.38 + r() * 0.14 }));
tl.to({ t: 0 }, { t: 1, duration: 0.8, ease: 'none', onUpdate() { draw(this.targets()[0].t * 0.8); } }, 0.4);
04

에이전트 프롬프트Agent prompts

그대로 붙여 넣는다Paste as is

Claude Code

GSAP과 canvas로 <대상> 충돌 지점에 불티 분사를 넣어줘. 시드 11 고정 난수로 입자 60개를 만들고 각 입자는 각도 랜덤, 초기 속도 250~450px/s, 수명 0.38~0.52초. draw(t)를 시각의 순수 함수로 짜서 위치는 v*t*(1-t/수명*0.5)로 계산하고 lighter 합성으로 그려. 0.4초 시작, paused 타임라인.

Add a spark spray at the collision point of <target> with GSAP and canvas. Build 60 particles from a seed-11 random with random angle, initial speed 250 to 450px/s and life 0.38 to 0.52s. Write draw(t) as a pure function of time, computing position as v*t*(1 - t/life*0.5), and draw with lighter blending. Start at 0.4s on a paused timeline.

Codex

<파일>의 <대상>에 spark-spray를 적용해. LCG seed 11로 60개 입자를 만들고 draw(t)를 순수 함수로 작성, globalCompositeOperation lighter. Math.random 금지. 0.5초·0.7초·1.0초를 캡처하고, 같은 시각을 두 번 렌더해 픽셀이 동일한지, 1.0초에 입자 수가 0인지 확인해.

Apply spark-spray to <target> in <file>. Build 60 particles from an LCG seeded 11, write draw(t) as a pure function, globalCompositeOperation lighter. No Math.random. Capture at 0.5s, 0.7s and 1.0s, render the same time twice to confirm pixel equality, and check the particle count is 0 at 1.0s.

05

도구별로 쓰기In your tools

HyperFrames · ReelForge · Scrolline

HyperFramesVIDEO · GSAP
draw(t)를 시각 t의 순수 함수로 만들어 seek와 렌더가 같은 프레임을 낸다. 입자 상태를 누적하지 말고 초기값에서 계산
ReelForgeBRIEF TO VIDEO
브리프에 개수·속도·수명·시드·중심 좌표를 넣는다. 캔버스 크기는 1920x1080
Scrolline DeckSCROLL SCRUB
scrub에서는 draw(진행률*0.8)로 계산한다. 순수 함수이므로 되감기도 정확하다
06

잘 맞는 조합Pairs well with

07

출처Sources

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