Remotion 3D Vertical Ticker
This skill provides a reusable architectural pattern and component for creating infinite, multi-column 3D scrolling animations (often used for photo galleries, 3D photo walls, tech-stack showcases, or credit rolls) in Remotion.
How it works
The infinite scrolling illusion is achieved using domain duplication and modular arithmetic, combined with CSS 3D transforms:
- The Math of Infinity: We duplicate the content list (
[...items, ...items]). We calculate aprogressfrom 0 to 1 based on the frame rate and desired loop duration. We translate the column from0%to-50%(or-50%to0%for reverse). Because the content is duplicated, the frame at-50%looks identical to the frame at0%, creating a seamless loop when it resets. - 3D Perspective: A parent wrapper applies
perspective: 1000px,rotateX(20deg), andscale(1.2). The scale is crucial to ensure the tilted top and bottom edges stretch beyond the 2D screen bounds, preventing empty background bleeding. - Masking: CSS
linear-gradientoverlays are placed absolutely at the top and bottom with a highzIndexto smoothly fade the content into the background color.
How to use this skill
When a user requests a vertical scrolling gallery or infinite ticker:
- Copy the asset: Provide or copy the generic component located at
assets/VerticalTicker.tsxinto their project's components/animations folder. - Configure: Guide the user to import and render the
<VerticalTicker />component within their Remotion<Composition />. - Adapt Data: The component is data-agnostic. It accepts any array of image URLs or React nodes as columns. You can specify different
durationInSecondsanddirection(1 or -1) per column to achieve parallax.
Provided Assets
assets/VerticalTicker.tsx: The highly reusable, strongly-typed Remotion component implementing the 3D infinite scroll pattern.