글자 내부의 작은 점들이 계속 움직이며 획의 형태를 이루는 입자 채움 글자Small dots inside letter shapes keep moving while still forming the strokes.
제목 획 안을 반경 2px 점들이 6px 격자로 채우고 1.8초 주기로 흔들리며 커서가 다가오면 80px 반경 밖으로 피한다
점이 획을 벗어나 배경으로 새어 나와 글자 형태가 무너진다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 점 반경 | 2px | 1.5~3px | 1920x1080 |
| 셀 폭 | 6px | 5~8px | 격자 간격 |
| 주기 | 1.8s | 1.2~3s | 점 흔들림 |
| 회피 반경 | 80px | 60~120px | 장애물 피하기 |
// 캔버스 2D: 글자를 그려 알파 마스크로 샘플링
const pts = []; // {x,y,seed}: 셀 중심 중 마스크 알파>128인 것만, 시드 고정
function draw(t){
ctx.clearRect(0, 0, W, H);
pts.forEach(p => {
const a = t * 2 * Math.PI / 1.8 + p.seed;
ctx.beginPath(); ctx.arc(p.x + Math.cos(a) * 2, p.y + Math.sin(a) * 2, 2, 0, 6.283); ctx.fill();
});
}
tl.eventCallback('onUpdate', () => draw(tl.time()));그대로 붙여 넣는다Paste as is
<대상> 제목을 입자 채움 글자로 만들어줘. 캔버스에 글자를 그려 알파 마스크를 만들고 6px 격자 중 마스크 안의 셀에 반경 2px 점을 놓아. 점은 1.8초 주기로 원을 그리며 흔들리고 위상은 셀 인덱스 시드로 고정해. 총 점 4000개 이하.
Make the title in <target> a particle-filled text. Draw the text to a canvas to build an alpha mask, then place 2px-radius dots in every 6px cell inside the mask. Dots orbit on a 1.8s cycle with phase seeded from the cell index. Cap at 4000 dots.
<파일>에 particle filled text를 적용해. 캔버스 텍스트의 알파>128인 6px 셀에만 점을 두고 반경 2px, 주기 1.8초, 위상은 인덱스 시드. onUpdate에서 draw(tl.time()). 0초·0.9초·1.8초를 캡처해 점이 글자 밖으로 새지 않는지와 1.8초 시점이 0초와 동일한지 확인해.
Apply particle filled text in <file>. Place dots only in 6px cells where text alpha>128; radius 2px, period 1.8s, phase from index seed; draw(tl.time()) in onUpdate. Capture at 0s, 0.9s and 1.8s to verify no dots leak outside the glyphs and that the 1.8s frame equals the 0s frame.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo