Communitygithub.com

vibe-motion/skills

在 Remotion 中建立無限 3D 垂直滾動跑馬燈動畫。適用於視差藝廊、無限圖片捲動、多欄連續垂直滾動效果或 3D 照片牆(3D 照片滾動牆 / 3D 相冊瀑布流)。

skills 是什麼?

這個技能提供了一個可重複使用的架構模式與元件,用於在 Remotion 中建立無限、多欄的 3D 滾動動畫,常見於照片藝廊、3D 照片滾動牆、技術棧展示或工作人員名單。其核心原理是透過領域複製(domain duplication)與模數運算(modular arithmetic),搭配 CSS 3D 變形來營造無限滾動的錯覺。具體機制如下:首先將內容清單複製一份(例如 `[...items, ...items]`),然後根據幀率與想要的循環時長計算一個從 0 到 1 的 `progress` 值,並將欄位從 `0%` 平移至 `-50%`(反向則從 `-50%` 到 `0%`)。由於內容已複製,在 `-50%` 的畫面與 `0%` 完全一致,重置時便能形成無縫循環。此外,透過上層容器設定 `perspective: 1000px`、`rotateX(20deg)` 與 `scale(1.2)` 來實現 3D 透視效果,並利用 CSS `linear-gradient` 遮罩在頂部和底部平順淡出內容。此技能支援 Claude Code、Cursor 及 Codex 等平台,使用者只需複製 `assets/VerticalTicker.tsx` 元件、在 Remotion `<Composition />` 中渲染,並傳入任意圖片網址或 React 節點陣列作為欄位資料,即可快速建構出自訂的 3D 無限滾動效果。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vibe-motion/skills/tree/HEAD/remotion-3d-ticker

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Remotion 3D 垂直跑馬燈

本技能提供了一個可重複使用的架構模式與元件,用於在 Remotion 中建立無限、多欄的 3D 滾動動畫(常用於照片藝廊、3D 照片滾動牆、技術棧展示或工作人員名單)。

運作原理

無限滾動的錯覺是透過領域複製與模數運算,搭配 CSS 3D 變形來達成:

  1. 無限的數學原理: 我們將內容清單複製一份([...items, ...items])。根據幀率與想要的循環時長,計算一個從 0 到 1 的 progress 值。然後將欄位從 0% 平移至 -50%(反向則從 -50% 到 0%)。由於內容已複製,在 -50% 的畫面看起來與 0% 完全一致,重置時便能形成無縫循環。
  2. 3D 透視效果: 一個父層容器會套用 perspective: 1000px、rotateX(20deg) 與 scale(1.2)。scale 的關鍵在於確保傾斜的頂部和底部邊緣能延伸超出 2D 螢幕邊界,防止背景空白洩漏。
  3. 遮罩處理: CSS linear-gradient 疊加層會以絕對定位放置在頂部和底部,並設有較高的 zIndex,用以將內容平順地淡化到背景顏色中。

如何使用本技能

當使用者要求建立垂直滾動藝廊或無限跑馬燈時:

  1. 複製素材: 提供或複製位於 assets/VerticalTicker.tsx 的通用元件,並將其放入專案的 components/animations 資料夾中。
  2. 設定配置: 引導使用者匯入並在其 Remotion <Composition /> 中渲染 <VerticalTicker /> 元件。
  3. 調整資料: 該元件與資料無關,可接受任何圖片網址或 React 節點陣列作為欄位。您可以為每個欄位指定不同的 durationInSeconds 與 direction(1 或 -1)來實現視差效果。

提供的素材

  • assets/VerticalTicker.tsx:一個高度可重複使用、具備強型別定義的 Remotion 元件,實作了 3D 無限滾動模式。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

相關技能