Communitygithub.com

itswenxin/motion-replicate

當使用者貼上 Pinterest、Behance、Dribbble、Vimeo、YouTube 或直接影片連結(或拖入影片檔案)並希望在 After Effects 中重現動畫時使用。取得或取樣參考素材,測量時間與動作,以可編輯關鍵影格重建,並逐格比較直到完全匹配。

motion-replicate 是什麼?

Motion Replicate 是一款專為 After Effects 使用者設計的 AI 代理技能,能從 Pinterest、Behance、Dribbble、Vimeo、YouTube 等平台或直接影片連結/檔案中取得參考動畫,並在 After Effects 中精確重建為可編輯的關鍵影格動畫。其核心原則是「先測量再動手」:透過工具自動取得參考影片、以指定幀率取樣、分析每一幀的動作能量與關鍵數據(如位置、縮放、旋轉),再產生詳細規格表供後續重建使用。支援多種平台,但對於封閉式播放器(如 Behance 內嵌影片),會引導使用者透過瀏覽器取樣工具手動擷取幀。重建時優先使用貝茲曲線關鍵影格,僅在關鍵影格無法滿足時才使用表達式,並支援逐格比較渲染結果與參考素材,持續迭代修正直到符合使用者要求。最後可記錄學到的參數與關鍵影格,供未來專案參考。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/itswenxin/motion-agent/tree/HEAD/agent-skills/motion-replicate

在你喜歡的 AI 中提問

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

說明文件

Motion Replicate — 從參考連結到可編輯的 AE 重建

請先閱讀 skill/SKILL.md 中的「复刻参考片失败的五个根因」與「复刻参考片:先逐帧量,再动手」章節。 規則:先測量再動手。重建中的每個數字都來自參考素材。

1. 取得參考素材

python3 tools/fetch_reference.py "<連結>" --slug <簡稱>
  • Pinterest(pin.it 或 /pin//):透過 Pinterest 公開 widget API 下載該 Pin 的影片,包含 idea/story 類型。如果 Pin 只有圖片,工具會提示並印出外部連結:真正的動畫通常在那裡(例如 Instagram 或 Behance 貼文)。請前往該連結。
  • 直接影片 URL(.mp4/.mov/.webm/.gif):直接下載。
  • Behance、Vimeo、YouTube、作品集網站:通常會拒絕命令列請求(退出碼 3)或內嵌播放器。此時請觀看而非下載:
    1. 在瀏覽器中開啟專案頁面,列出所有播放器: [...document.querySelectorAll('iframe,video')].map(n => n.src || n.currentSrc)。
    2. 開啟播放器 URL 本身(例如 https://player.vimeo.com/video/<id>),將 tools/browser_frame_sampler.js 貼到瀏覽器的 JavaScript 工具中,執行 await motionAgentSample({ fps: 12 }),然後截圖:你會得到一張帶時間戳的接觸式印樣與每幀動作能量。await motionAgentShowFrame(t) + 截圖則可獲得一張全解析度幀,用於測量位置。
    3. 將截圖與回傳的 JSON 儲存到 refs/<簡稱>/ 中。
  • 切勿繞過登入、付費牆或機器人檢查,也切勿偽造標頭來取得受保護的檔案。如果頁面封鎖你,請使用瀏覽器途徑或請使用者自行下載片段。

refs/ 目錄下的所有內容皆被 git 忽略。參考影片屬於其創作者:切勿提交它們或其幀;請在案例中標明創作者(meta.json)。

2. 測量

python3 tools/analyze_reference.py refs/<簡稱>/reference.mp4 --fps 24

閱讀 refs/<簡稱>/ANALYSIS.md:尺寸、幀率、持續時間、停頓、剪接、最快時刻、是否循環、色板,以及接觸式印樣與動作能量圖。然後從 frames/ 中測量每個移動元素(像素位置、縮放、旋轉在其起點、終點與轉折點;tools/measure.py 可協助),並撰寫簡短規格:元素 → 關鍵(時間,數值) → 速度形狀(緩入/緩出/兩者俱備,過衝)。

在開始重建前,用 3–5 行向使用者說明你測量了什麼以及你將如何重建。

3. 在 After Effects 中重建

  • 合成設定為參考素材的尺寸與幀率(若參考素材較小,則放大 2 倍,並加以說明)。
  • 在工作時保持合成視窗開啟並移動播放頭,以便使用者觀看。
  • 優先使用貝茲曲線關鍵影格(明確的速度/影響力,以重現測量到的速度曲線);僅在關鍵影格無法達成時才使用表達式。
  • 每個合成與圖層名稱使用一個簡短單詞。
  • 在每次結構變更前儲存備份。

4. 比較與疊代

以與參考幀相同的時間戳記渲染,並將它們並排顯示:

python3 tools/sheet.py "<我們的幀 glob>" refs/<簡稱>/compare.png --pair "refs/<簡稱>/frames/f_*.jpg"

檢查時間(停頓與剪接是否落在同一幀)、位置(在相同縮放比例下相差幾個像素內)、速度形狀與顏色。先修正最大的不匹配處,然後再次比較。每次迭代都附上比較圖。直到使用者滿意為止。

5. 保留所學

當使用者確認渲染結果後,執行 agent-skills/motion-retrospective。該案例會標明原始創作者與來源連結,僅包含我們自己重建的幀,並記錄測量到的數值以及重現它們的關鍵影格。

Individual skills in this repo

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

相關技能