Communitygithub.com

不硬切的動效成片

把靜幀收成一條跟著對方自己的音樂走的連續動效成片。畫面不硬切,緩動偏液態。倉庫裡有靜音示範 mp4,換上音樂之前就能看完成度。

不硬切的動效成片 是什麼?

MotionKit 用 HyperFrames 把介面靜幀和一條給定音軌渲成一條不硬切的動效成片。運鏡、連貫和完成度都寫成了規則。README 掛了完整靜音成片,包括 a-ember-lumen.mp4、b-morph-nook.mp4、c-neon-aura.mp4、d-saas-tally.mp4,另有 webp 預覽。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/DyneStein/motionkit/tree/main/skill

在你喜歡的 AI 中提問

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

說明文件

MotionKit

Kit 根目錄:此技能所在的資料夾上一層(稱之為 $KIT;若技能是符號連結,請解析連結——例如 ~/.claude/skills/motionkit → <clone>/skill,則 $KIT = <clone>)。它由使用者策展的 60 部參考影片提煉而成;請遵循它,而非使用通用動態預設。

不可協商事項(使用者的慣用偏好)

  1. 無突然剪輯。 每個場景轉換都需由轉場兩側的某個元素承載($KIT/grammar/01-continuity.md)。最多 ⅓ 的接縫可以是硬剪輯,且只能在強拍上進行。
  2. 液態、流暢、圓潤。 長尾緩出、接觸時擠壓/拉伸、在形狀之前先變化材質、使用模糊作為黏著劑(02-motion-easing.md)。
  3. 絕不生成或合成音樂。 使用使用者的音軌。如果沒有提供,請索取一個。此工具包不含任何音樂。
  4. 攝影機由內容決定(第 3–4 輪): 規劃多變的路線(絕不連續兩次相同方向:左右平移、上下直移、對角線、推近、拉遠、定格),並將攝影機節拍與元素節拍交替進行,在靜止攝影機下讓精緻元素互動;將事件與音樂同步(sync_check.py 提升 ≥ ×1.35;環境音軌用 beatSync(),節奏感強的音樂用節拍網格)。文字驅動的影片 → 滑行跟拍(透過字詞目標使用 spline e:"glide",區域間使用鐘形緩動——絕非逐字跳躍);元素驅動的影片 → 幾乎鎖定的攝影機,僅有有動機、有隨機種子的移動(camSeed、seed)——絕不為移動而移動,絕無重複模式。先前的規則對文字影片仍然適用:(第 2 輪:「這只是視角,攝影機沒有移動」):跟拍作用中的詞語/主角,穿越比畫面更大的世界;單一物件故事則在站點間進行載體旅行;始終要有視差參考層($KIT/grammar/08-camera.md § v3、$KIT/research/camera-notes.md、primitives §19–20)。此外:(使用者稱其缺失為「重大重大重大缺陷」):將每部影片建構成一個透過 camera-rig.js 觀看的 3D 世界;攝影機移動時間 ≥ 65% 的影格(參考資料:中位數 77%,以 research/camera_motion.py 測量);字幕跟隨世界,停頓時持續移動,停頓與掃視節奏,≥ 3 個具有視差的深度圖層、景深、手持晃動、掃視時的動態模糊($KIT/grammar/08-camera.md)。
  5. 打磨標準($KIT/grammar/09-polish-bar.md):僅限緊緻發光(無光暈,絕不縮放發光元素,無大型 SVG 模糊濾鏡——使用漸層 + 顆粒);容器變形使用 SVG 幾何圖形,以便每個影格保持圓角(無 clip-path 顯現);文字承載的 UI 從景深/柔焦中浮現——無縮放彈出、無傾斜貼紙佈局;每個平面物件都需有陰影 + 邊光 + 接觸陰影。
  6. 專業元素與字體: 從 $KIT/elements/ 建構 UI/3D 元件(參見 elements/showcase/ 和 research/element-notes.md);字型來自 $KIT/fonts/FONTS.md——絕不使用通用預設值。
  7. 專業完成度: 每行一個重音,斜體襯線或粗細跳躍強調,每個影格 ≤ 3 個焦點元素,整個影片中有一個持久不變的元素(畫布、標題、地平線或霧氣)。
  8. 除非另有指示,預設為 Reels 格式: 1080×1920,文字位於 168–1330 px 頻帶內,每行 ≤ 5 個詞,無元素小於 28 px,第 0 影格是鉤子(絕非黑色,絕非標誌)。
  9. 保持 Token 效率:每個章節一個場景檔案(或一個連續變形使用一個),僅快照狀態變更。

工作流程

  1. 簡報(簡短)。 主題/品牌、訊息、格式、長度、音樂檔案。僅詢問缺少的資訊;一輪完成。
  2. 從 $KIT/styles/STYLES.md 選擇風格(底部的表格對應簡報 → 風格)。完整閱讀該風格卡片;打開 $KIT/research/video-notes/ 中該風格的 1–2 個參考筆記以獲取細節。
  3. 分析音樂: npx hyperframes audio <track> --only kind,bpm,beats,downbeats,sections,onsets --json。節奏感強 → 使用節拍網格(beat(n)、bar(k),primitives §1)。環境音 → 在章節邊界劃分章節,在最強的起始點放置主要事件(--threshold 0.3)。
  4. 使用一個表格進行規劃: 章節 ×(時間區間、下一個場景的載體、物件狀態、字幕、攝影機移動)。為每個接縫命名載體和攝影機移動;如果做不到,重新設計接縫。將章節佈局為一個 3D 世界中的不同地點。
  5. 使用 HyperFrames 建構(先加載 /hyperframes 以取得合約)。從最接近的樣本開始(v2 = 含攝影機):$KIT/samples/a-ember-lumen (S1)、b-morph-nook (S2)、c-neon-aura (S3)、d-saas-tally (S4) —— 使用 cp -R 複製到新專案,然後改寫。使用 $KIT/primitives/PRIMITIVES.md 中的區塊。將色板和字體放入根目錄的 data-composition-variables 中。
  6. 驗證: npx hyperframes check --json 2>/dev/null(stderr 很吵)→ 修正錯誤,評估警告 → npx hyperframes snapshot --at <every state change + mid-sweep> -o .snap/x → 讀取縮圖頁 → 修正(放大角落和發光:snapshot --zoom)。執行 07-engineering-pitfalls.md 和 09-polish-bar.md 清單。渲染後,測量攝影機運動:python3 $KIT/research/camera_motion.py <dir-with-mp4> out.json — 目標 moving_frac ≥ 0.65(參考資料的下四分位數;中位數 0.77)。
  7. 渲染: npx hyperframes render -o <out>.mp4。在使用者審查並準備最終交付渲染前,先打開 Studio 預覽。

快速參考

  • 載體(每部影片選 3–5 個):元素化為世界 · 放大穿過 · 形狀變形 · 引導物件 · 單卡多狀態 · 虹膜 · 色彩氾濫 · 模糊揮鞭 · 連續世界攝影機 · 錨定詞語 · 形狀押韻 · 跨越承載 · 粒子溶解 · 中間擦拭。
  • 緩動調色盤:進入 expo.out/power4.out 0.5–0.9 秒 · 退出 power3.in(入口時間的 40–50%) · 攝影機/變形 power2.inOut · 高級彈簧 back.out(1.4) · 僅對軌道/旋轉/進度使用線性。
  • 文字:逐詞模糊淡入(無平移) · 灰色→墨水跟讀 · 吃角子老虎機式單詞 · 關鍵字高亮藥丸 · 斜體襯線重音 · 行內圖示置於句子中。
  • 故事架構:問題(黑暗)→揭示→功能→行動呼籲 · 混沌→秩序 · 單一主角多狀態 · 提示→結果 · 宣言與錨定詞語 · 微循環。

擴充工具包

當使用者新增參考影片時:製作縮圖頁(帶時間戳,0.33–1 秒採樣)+ 轉場處的 10 fps 條帶,為每個影片在 research/video-notes/ 中撰寫筆記,向 research/INDEX.md 新增行,並將新模式歸納到語法/風格檔案中。當一次建構教導了新的錯誤或原語時,將其新增到 07-engineering-pitfalls.md / PRIMITIVES.md。

相關技能