프레임 위에 미세한 입자 노이즈를 낮은 프레임 레이트로 갱신해 필름 질감을 주는 효과A fine layer of grain updated at a low frame rate gives the frame a film texture.
opacity 0.08의 1~2px 입자가 12fps로 갱신되며 어두운 영역에서만 은은히 보인다
opacity 0.3 이상으로 지글거리게 해 압축 노이즈처럼 보이거나, 매 프레임 다른 무작위 값을 써 재렌더마다 결과가 다르다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| opacity | 0.08 | 0.05~0.12 | overlay 혼합 |
| 갱신율 | 12fps | 8~15fps | 프레임 시드 교체 |
| 입자 크기 | 1.5px | 1~2px | 1080p 기준 |
| 타일 수 | 8장 | 6~12장 | 노이즈 타일 순환 |
| 혼합 | overlay | overlay/soft-light | 어두운 부분이 더 보임 |
// 시드가 다른 노이즈 타일 8장을 미리 만들어 12fps로 순환
const tiles=8;
const i=Math.floor(tl.time()*12)%tiles;
// 타임라인 진행값으로 인덱스를 정하므로 seek해도 같은 타일
grain.style.backgroundPosition=`${-i*256}px 0`;그대로 붙여 넣는다Paste as is
<대상> 영상 전체에 필름 그레인을 얹어줘. 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.
<파일>에 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.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo
claude-skill:hyperframes-animation/techniques.md)unknowngongnyang/reelforge:skills/reelforge/references/grammar/07-stylize-time.md#film-grain-seeded-flip)Apache-2.0gongnyang/reelforge:skills/reelforge/references/gallery/gallery-index.json)Apache-2.0