가로로 펼친 이미지가 원형 띠로 말려 들어가거나 반대로 펴지는 극좌표 변환A horizontally laid-out image rolls into a circular band, or unrolls back.
가로 12칸 색 띠가 1초 동안 반지름 360px 원형 띠로 말려 시계 문자판이 된다
변환 중간에 이음매가 보여 찢어지거나 이미지 방향이 뒤집혀 읽히지 않는다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 지속 | 1s | 0.7~1.6s | 직선에서 원형까지 |
| 변환량 | 0 to 1 | 0~1 | 직교 UV와 극좌표 UV 혼합 |
| 안쪽 반지름 | 120px | 80~200 | 띠 안쪽 구멍 |
| 바깥 반지름 | 360px | 280~440 | 1920x1080 기준 |
const u = { m: 0 };
tl.to(u, { m: 1, duration: 1, ease: 'power2.inOut', onUpdate: draw }, 0.3);
// GLSL: vec2 pol = vec2(atan(p.y, p.x)/6.2832 + 0.5, (length(p) - r0)/(r1 - r0));
// vec2 src = mix(uv, pol, m); col = texture(tex, src);그대로 붙여 넣는다Paste as is
<대상>의 가로 띠 이미지에 극좌표 말기 변환을 넣어줘. 12칸 색 띠가 0.3초에 시작해 1초 동안 power2.inOut으로 안쪽 반지름 120px, 바깥 반지름 360px의 원형 띠로 말리게 해. 변환은 직교 UV와 극좌표 UV의 mix 값 하나로 처리하고 wrap 이음매는 12시 방향에 고정해.
Add a polar wrap to the horizontal strip in <target>. The 12-cell color strip starts at 0.3 seconds and rolls over 1 second with power2.inOut into a circular band with inner radius 120px and outer radius 360px. Handle it with one mix value between Cartesian and polar UVs and pin the wrap seam at 12 o'clock.
<파일>의 이미지 캔버스에 polar 셰이더를 추가해. pol=vec2(atan(p.y,p.x)/6.2832+0.5, (length(p)-120)/(360-120)), src=mix(uv,pol,m), m은 0.3초부터 1초 power2.inOut로 0→1. 0.5초·0.8초·1.5초 캡처로 띠가 서서히 말리고 이음매가 12시에 있으며 색 순서가 유지되는지 확인해.
Add a polar shader to the image canvas in <file>. pol=vec2(atan(p.y,p.x)/6.2832+0.5, (length(p)-120)/(360-120)); src=mix(uv,pol,m); tween m 0 to 1 from 0.3 s over 1 s power2.inOut. Capture at 0.5 s, 0.8 s and 1.5 s to confirm the strip rolls gradually, the seam sits at 12 o'clock and color order is preserved.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo