점 격자의 위치는 유지한 채 각 점의 색이 영상 프레임을 따라 바뀌어 움직이는 장면을 점으로 재현한다A fixed grid of dots takes its colors from the video frame by frame, redrawing the moving scene as points.
5px 간격 격자의 2px 점들이 33.33ms마다 영상 프레임 색을 받아 4초 동안 인물의 움직임을 점으로 그려 낸다
점 간격을 20px 이상으로 벌려 영상 내용이 읽히지 않거나, 점 위치가 프레임마다 흔들려 노이즈처럼 보인다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 샘플 간격 | 5px | 4~8px | 1920 기준 384x216 점 |
| 점 크기 | 2px | 1.5~3px | 간격의 40% 안팎 |
| 프레임 갱신 | 33.33ms | 30fps 고정 | 원본 프레임과 동기 |
| 길이 | 4s | 3~6s | 영상 길이에 맞춤 |
const v = document.querySelector('video'); // paused, currentTime을 타임라인이 지정
tl.to({}, { duration: 4, ease: 'none', onUpdate() { v.currentTime = this.progress() * 4; drawDots(v, 5, 2); } }, 0);
// drawDots: 5px 격자마다 색을 샘플링해 2px 원을 그림그대로 붙여 넣는다Paste as is
<대상> 영상을 5px 간격 점 격자로 다시 그려줘. 각 점은 2px 원이고 색은 원본 프레임에서 샘플링하며 4초 동안 재생해. video는 paused로 두고 타임라인 progress로 currentTime을 지정해서 seek해도 같은 프레임이 나오게 해줘.
Redraw the video in <target> as a dot grid with 5px pitch. Each dot is a 2px circle whose color is sampled from the source frame, over 4 seconds. Keep the video paused and set currentTime from timeline progress so seeking gives identical frames.
<파일>에 particle video mosaic를 WebGL로 구현해. 샘플 간격 5px, 점 2px, 4초, 영상 텍스처 UV 샘플링. currentTime은 timeline progress로만 갱신한다. 0초, 2초, 4초를 캡처해 점 위치가 프레임 간 고정인지, 색만 영상 내용을 따라가는지 확인해.
Implement a particle video mosaic in WebGL in <file>: 5px sample pitch, 2px dots, 4 seconds, sampling the video texture by UV. Update currentTime from timeline progress only. Capture at 0s, 2s and 4s and verify dot positions are fixed across frames while only colors follow the video content.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo