AWESOME AI MOTION
효과Effects / 질감·스타일Texture & Style / Nº 446

필름 그레인Film Grain

Film Grain
필름 그레인
다른 이름Also known as · Film grain · 살아있는 필름 그레인 · film-grain-seeded-flip · Animated noise grain · 움직이는 노이즈 질감 · Animated Grain · 움직이는 그레인 · Noise Texture · Noise Background · Noise · Grainient · noise-texture · noise-background
446
도판Fig. 446. 필름 그레인 · Film Grain · steps(1)
재생 속도Speed

프레임 위에 미세한 입자 노이즈를 낮은 프레임 레이트로 갱신해 필름 질감을 주는 효과A fine layer of grain updated at a low frame rate gives the frame a film texture.

01

무엇을 전하나What it tells

전달 효과ConveysCONVEYS
디지털 화면의 차가움을 덜고 필름 같은 유기적 질감과 통일감을 준다Softens digital coldness and adds organic texture and a consistent look.
언제 쓰나Use whenUSE WHEN
  • 전체 영상에 일관된 필름 톤을 깔고 싶을 때
  • AI 이미지나 합성 컷의 지나친 매끈함을 눌러줄 때
  • To lay a consistent film tone over a whole video
  • To tame the over-smooth look of AI images and composited shots
과용 주의AvoidAVOID
  • opacity 0.12 초과 금지
  • 입자 갱신은 12fps 이하로 유지(24fps는 지글거림)
02

좋은 예와 나쁜 예Good and bad use

좋은 사례GOOD

opacity 0.08의 1~2px 입자가 12fps로 갱신되며 어두운 영역에서만 은은히 보인다

과용 · 나쁜 사례OVERUSE

opacity 0.3 이상으로 지글거리게 해 압축 노이즈처럼 보이거나, 매 프레임 다른 무작위 값을 써 재렌더마다 결과가 다르다

03

파라미터Parameters

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

항목PARAM기본DEFAULT범위RANGE메모NOTE
opacity0.080.05~0.12overlay 혼합
갱신율12fps8~15fps프레임 시드 교체
입자 크기1.5px1~2px1080p 기준
타일 수8장6~12장노이즈 타일 순환
혼합overlayoverlay/soft-light어두운 부분이 더 보임
GSAP
// 시드가 다른 노이즈 타일 8장을 미리 만들어 12fps로 순환
const tiles=8;
const i=Math.floor(tl.time()*12)%tiles;
// 타임라인 진행값으로 인덱스를 정하므로 seek해도 같은 타일
grain.style.backgroundPosition=`${-i*256}px 0`;
04

에이전트 프롬프트Agent prompts

그대로 붙여 넣는다Paste as is

Claude Code

<대상> 영상 전체에 필름 그레인을 얹어줘. 256px 노이즈 타일 8장(시드 고정)을 만들어 overlay 혼합, opacity 0.08, 입자 1.5px로 얹고, 12fps로 타일을 순환시켜. 타일 선택은 타임라인 시간의 순수 함수로 하고 Math.random은 쓰지 마. 레이어는 pointer-events none.

Add film grain over all of <target>. Build eight 256px noise tiles with a fixed seed, overlay them with mix-blend-mode overlay at opacity 0.08 and 1.5px grain, and cycle the tiles at 12fps. Choose the tile as a pure function of timeline time, no Math.random. Keep the layer pointer-events none.

Codex

<파일>에 film-grain 오버레이를 추가해. 타일 8장, opacity 0.08, 12fps 갱신, 입자 1.5px, mix-blend-mode overlay. 1.00초와 1.08초를 캡처해 두 프레임의 입자 패턴이 다른지, 같은 시점을 두 번 렌더하면 동일한지, 밝은 영역에서 노이즈가 과하지 않은지 확인해.

Add a film-grain overlay in <file>: 8 tiles, opacity 0.08, 12fps update, 1.5px grain, mix-blend-mode overlay. Capture at 1.00s and 1.08s to verify the grain pattern differs, render the same time twice to verify identical output, and check that noise is not excessive on bright areas.

05

도구별로 쓰기In your tools

HyperFrames · ReelForge · Scrolline

HyperFramesVIDEO · GSAP
타일 인덱스를 tl.time() 기반 순수 함수로 계산한다. 레이어는 최상단 고정, mix-blend-mode overlay, pointer-events none
ReelForgeBRIEF TO VIDEO
브리프에 grainOpacity, grainFps, tileCount를 싣는다. 미리 만든 PNG 타일 시트를 쓰면 워커 간 결과가 동일하다
Scrolline DeckSCROLL SCRUB
스크롤 진행률로 타일 인덱스를 12구간 단위로 바꾼다. 스크롤이 멈추면 입자도 멈추므로 거의 보이지 않게 opacity를 0.05로 낮춘다
06

잘 맞는 조합Pairs well with

07

출처Sources

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