이미지가 대칭으로 복제되고 중심 회전에 따라 무늬가 계속 바뀌는 만화경An image is mirrored into symmetry and its pattern keeps changing as the center rotates.
6대칭 만화경이 3초 동안 60도 회전하며 원본 사진 한 조각이 방사형 꽃무늬로 바뀐다
대칭 수를 16 이상으로 올려 무늬가 뭉개지거나, 회전이 빨라 눈이 어지럽다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 지속 | 3s | 2~6s | 한 번 회전 |
| 대칭 수 | 6 | 4~12 | 섹터 개수 |
| 회전 | 60deg | 30~120 | 전체 회전각 |
| 줌 | 1.4 | 1~2 | 원본 샘플링 배율 |
| 진입 | 0.6s | 0.4~1s | 대칭 수 1에서 6으로 전개 |
const u = { rot: 0, n: 1 };
tl.to(u, { n: 6, duration: 0.6, ease: 'power2.out', onUpdate: draw }, 0)
.to(u, { rot: Math.PI / 3, duration: 3, ease: 'none', onUpdate: draw }, 0);
// GLSL: float a = atan(p.y, p.x) + rot; float s = 6.2832 / n;
// a = abs(mod(a, s) - s*0.5); uv = 0.5 + length(p) * vec2(cos(a), sin(a)) / zoom;그대로 붙여 넣는다Paste as is
<대상> 이미지에 만화경 효과를 넣어줘. 0초에 대칭 수 1에서 시작해 0.6초에 power2.out으로 6까지 전개하고, 3초 동안 선형으로 60도 회전하게 해. 소스 샘플링 줌은 1.4이고 화면 중앙(960,540)을 중심으로 섹터를 접어 반사 UV로 샘플링해. 마지막에 0.5초 정지해.
Add a kaleidoscope to the image in <target>. Start at symmetry 1 and expand to 6 over 0.6 seconds with power2.out, while rotating 60 degrees linearly over 3 seconds. Source sampling zoom 1.4, folding sectors around the center (960,540) and sampling with reflected UVs. Hold for 0.5 seconds at the end.
<파일>의 이미지 캔버스에 kaleidoscope 셰이더를 추가해. a=atan(p.y,p.x)+rot, s=2π/n, a=abs(mod(a,s)-s/2), uv=0.5+length(p)*vec2(cos a,sin a)/1.4. n은 0.6초 power2.out로 1→6, rot는 3초 선형 0→π/3. 0.3초·1.5초·3.2초 캡처로 대칭이 전개되고 회전이 이어지는지 확인해.
Add a kaleidoscope shader to the image canvas in <file>. a=atan(p.y,p.x)+rot; s=2π/n; a=abs(mod(a,s)-s/2); uv=0.5+length(p)*vec2(cos a,sin a)/1.4. Tween n 1 to 6 over 0.6 s power2.out and rot 0 to π/3 over 3 s linear. Capture 0.3 s, 1.5 s and 3.2 s to confirm symmetry expands and rotation continues.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo