Communitygithub.com

bang-motion

以 Bang Motion 風格渲染影片:高階電影級動態圖像,包含多層發光地平線背景、浮動彩色網格斑點、生動的影片顆粒、毛玻璃 UI 卡片、編輯式動態文字、呼吸鏡頭以及反簡報節奏。

bang-motion 是什麼?

Bang Motion 是一個專為 AI 編碼代理設計的專業 Motion Graphics 技能,能將網頁動畫提升至電影級水準。它提供完整的導演手冊與程式庫,包括 Remotion、Frames 和 Kyfram 引擎,以及風格 JSON 清單,讓開發者能輕鬆將「反簡報」美學整合到各種專案中。此技能支援從開場動畫、產品發表、動態文字到說明影片等多種工作類型,並透過嚴格的結構規範(如禁止幻燈片式段落切換、強制使用持續運動的世界)確保輸出結果是「像影片一樣移動的動畫」,而非傳統的簡報投影片。其核心哲學是每個視覺元素都是時間軸的純函數,確保重播與影格渲染的一致性。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/boytegar/motion-skills/tree/main/style/bang-motion

在你喜歡的 AI 中提問

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

說明文件

Bang Motion — 不是簡報的動態圖像網頁


屬於動態說明影片庫。 以下內容是獨立 index.html(HTML + CSS + GSAP)的 Bang Motion 導演手冊。在此庫中,相同的外觀也以三個引擎提供,並可像任何其他風格一樣被選取使用:

  • style.json: 清單(bang-motion,畫布 1080x1920,30 fps,引擎 remotion、fframes 和 kyfram)
  • remotion/: kit/(GlowHorizon、GrainyMeshBlob、GlassCard、KineticTitle、StatusPill、BangBanner、GlassCaptions、LivingGrain)、template/、sync_kit.sh、CATALOG.md、AGENT_BRIEF.md
  • fframes/: Cargo.toml、src/(lib、tokens、kit、look、video、main)、tools/ff.sh
  • kyfram/PRELUDE.lgv: 調色板標記與節拍元素(drawBackdrop、drawBanner、drawCaptions、drawPanel、drawDot、drawFrame)用於 .lgv 場景
  • docs/style-guide.md 和 docs/style-prompt.md: 壓縮樣式表與便攜提示

使用 ./core/new_episode.sh <series-dir> 01-slug Episode out-name --style bang-motion --engine remotion(或 --engine fframes|kyfram)搭建劇集。管線技能將風格名稱作為 $MOTION_STYLE,因此工作流程中的其他部分無需更改。

風格 DNA,一言以蔽之:一個連續的世界,至少兩層的背景(深色基底加上發光地平線)且始終在移動,顆粒根據 t 偏移而非隨機噪聲,呼吸鏡頭而非靜止畫面,有動機的轉場而非單一的循環擦除手法,以及每個鏡頭只表達一個陳述,而非一張投影片那樣塞滿資訊。

v1.19.0 · 由 Bang Tutorial 製作 · MIT 授權。 變更記錄在 CHANGELOG.md;安裝方式在 README.md。

此技能適用於任何 AI 編碼代理(開放式 Agent Skills 格式)。其內容是關於「像影片般移動、而非簡報」的動態圖像的法則與配方——在撰寫程式碼前必須遵守。

先決條件 — 僅需瀏覽器

交付物(index.html)只需現代瀏覽器 + 網際網路以載入 CDN(GSAP、字型)。Python 和 Node 為可選,僅用於工具:scripts/serve.py(無快取伺服器,僅在使用本地模組時需要)、puppeteer(自動化快照/驗證,scripts/export-frames.mjs → MP4)。如果使用者沒有這兩者:(1) 仍然構建單一檔案,雙擊即可打開;(2) 通過 ?debug=1(面板拖曳)和每個關鍵秒數的手動螢幕截圖進行視覺驗證;(3) MP4 透過螢幕錄製(OBS / 瀏覽器標籤頁錄製)——說明螢幕錄製可能會掉幀,而逐幀渲染需要 Node。絕不要建立需要 npm install 才能觀看的交付物。

ffmpeg 也是可選的。 先檢查(ffmpeg -version);如果不存在:

需求有 ffmpeg無 ffmpeg
VO 同步(句子/段落邊界)silencedetectscripts/vo-pauses.html — 在瀏覽器中打開,選擇音訊,複製 SEG/PARA;結果完全相同(Web Audio,無需安裝)
音訊時長/格式ffprobe來自 vo-pauses.html 的 DUR 數字;瀏覽器可直接播放 wav/mp3/m4a/ogg
導出 MP4合併 export-frames.mjs 的 PNG無 MP4 — 提供一鍵安裝指令(winget install Gyan.FFmpeg / brew install ffmpeg)或螢幕錄製
學習參考影片(提取幀)fps= + tile=要求用戶發送關鍵秒數的螢幕截圖,或在瀏覽器中打開影片並在特定秒數截圖

即使沒有 ffmpeg,說明影片流程仍可完整執行至 VO 同步;僅 MP4 需要額外安裝。

播放器 — 無、自動播放、循環

預設交付物:螢幕上沒有任何面板/播放器,打開後立即播放,並在結束時從頭開始循環(onComplete → play(0);如果有聲音,音訊也隨之循環)。隱藏控制:R 重新播放,空白鍵暫停。拖曳/時間面板僅在 ?debug=1(審查工具)時出現,而 ?clean=1 則會阻止自動播放以便導出。有聲音嗎?嘗試直接 play();如果被瀏覽器阻止,則停留在第 0 幀並在第一次點擊時開始——不要顯示「點擊開始」的文字。這已內建在兩個起點中。

結構性禁令 — 可機械檢查的簡報測試

其他模型(以及你,如果你累了)即使閱讀了以下法則,也會陷入這個模式。在提交之前,檢查程式碼,而不是感覺:

  1. grep -c "class=\"scene\"\|<section" index.html — 如果 ≥ 3 個場景是以 <section> 形式呈現,並通過 autoAlpha/opacity 顯示/隱藏 → 那就是幻燈片。場景的切換應是世界/鏡頭移動的結果(鏡頭移動、甩向另一個角落、推進、背景變換),而不是因為章節淡入淡出。合法的例外:舞台卡通(references/kartun-panggung.md)在舞台之間使用 96 像素的剪切/滑動——可以,因為每個舞台都充滿生機(≥10 個物體在活動),而不是靜止圖像的淡入淡出。

  2. 存在一個持續的視覺主線:一個主體(連續動作)或者鏡頭探索的同一個拼貼/紙張/白色世界(卡通、照片、目錄、素描)。全版照片無共同世界地交替 → PPT。每個場景一張圖 + 一句話,然後切換 → 即使鏡頭在動,也仍然是幻燈片:每個場景應有 3–5 個元素,按短語逐步進入(explainer.md「一個場景 = 3–5 個元素」)。

  3. 計算每個場景的文字節點:上標/引言 + 標題 + 正文/鳴謝 = 3 層 → PPT。最多兩層:一個大數字/句子 + 一個世界標籤。文檔/印章/日期區塊包含 ≤ 3 行短文,算作物件,而非文字層級。

  4. Ken Burns(照片上縮放 1.0→1.05)作為唯一的運動 → PPT。每秒的運動必須來自從 techniques.md §7c 選單中選擇的背景運動語言(呼吸鏡頭搭配紋理背景、漸變移動、浮動斑點、生動顆粒、每段光掃、緩慢旋轉的大形狀、上升粒子、呼吸網格、幽靈文字移動、Ken Burns + 視差…)。橫向移動的條/線/片段(「車道」、「範圍」、「條紋」、「水平粒子雨」)已經連續兩個不同名稱的專案使用過——這不是預設值;僅當主題確實是速度/流動時才使用,且不能連續兩個專案。

  5. 所有剪輯的轉場僅有淡入淡出 + 縮放凸起 + 漏光 → 模板 PPT。應使用甩向另一個角落、剪輯到儀器(地圖/速度計/個人資料)、推進。

  6. 說明影片應從其風格的起點開始:starter-explainer-kartun、-jurnalisme、-katalog、-sketsa(拼貼模式:鏡頭探索靜態素材)、starter-explainer(連續動作:世界流動)、或 starter-explainer-panggung(舞台卡通:每個場景一個舞台、關節綁定、鏡頭僅在舞台內)。拼貼模式有一種綁定;舞台模式有另一種綁定。不能從 assets/starter-opener.html(文字開場)開始,也不能從零開始。

  7. 縮小是幻燈片。 鏡頭縮放 < 1.08,使得房屋如拇指般大,空地佔據一半螢幕 → 即使所有東西都在動,也還是 PPT。世界被分割成幀大小的舞台,而不是一個被探索的大地圖(kartun-panggung.md 法則 1)。

  8. 模板框架(開場/宣傳片)。 檢查流程和程式碼:第一個場景是文字放大然後向左退出;三個並排的特色圖塊/卡片;輸入框/搜尋欄正在輸入;掛鉤 → 功能 → 功能 → 承諾 → 標誌 → CTA 的順序。兩個或以上符合,且沒有概念要求 → 模板,即使外殼是新的。從 references/opener-konsep.md 重新選擇框架。

只要有一點不符合 → 在展示給使用者之前必須重做。

涵蓋的工作類型

此技能適用於通用的網頁動態圖像。說明影片只是其中一種——它有自己獨立文件,因為結構不同,而不是因為它是主要的。

起點根據其類別命名:starter-opener.html 用於開場、宣傳片、片頭、介紹和動態文字;starter-explainer-*.html 用於說明影片,後綴為模式/風格(-kartun、-jurnalisme、-katalog、-sketsa = 拼貼;無後綴 = 連續動作;-panggung = 舞台卡通)。舞台卡通是一種說明影片模式(風格 6),而非獨立類別:其目標仍然是通過 VO 進行解釋,不同的只是製作方式。

類型常見時長特徵配方
開場 / 產品宣傳片25–40 秒一個概念從選單中選出(框架源自產品,非固定順序),一個特殊時刻,品牌結尾references/opener-konsep.md + 下方工作流程 + references/techniques.md
片頭 / 標識 / 標誌片頭3–8 秒標誌構建,一個簽名動作,在觀眾意識到之前結束techniques.md(標誌構建、漏光)
頻道介紹 / 片尾5–12 秒頻道名稱 + 每集相同的簽名動作下方工作流程
動態文字 / 歌詞15–60 秒文字是主體;按詞/字母分割;節奏跟隨音頻techniques.md(分割 + 定向模糊、每個詞的 3D 平移)
標題 / 下方第三 / 段落片頭2–6 秒覆蓋在素材上的小元素,乾淨進出,透明背景techniques.md
說明影片 / 解說影片30–90 秒有來源的事實,呈現實體,視角切換,五種風格references/explainer.md + 每種風格的起點

說明影片與角色:在決定鏡頭前請先閱讀

對於扁平角色教育卡通說明影片(第六種風格,舞台卡通),或是感覺像幻燈片/縮小版的修改,請閱讀 references/kartun-panggung.md:每個場景一個舞台,縮放 1.08–1.95,舞台內連續,舞台之間 96 像素剪切/滑動,手動關節綁定,無字幕,扁平明亮調色板。區分句子、視覺節拍、取景和舞台切換。要直接在 After Effects 中構建,請閱讀 references/ae-bridge-higgsfield.md。這些說明影片的具體指南澄清了下面的開場規則;字體示例、場景數量和效果不是通用配方。

法則 #1 — 這是影片,不是幻燈片

最常見的毛病:模型像幻燈片一樣組織場景——標題 + 副標題 + 正文 + 一排徽章。這會立即被識別為「PPT」並被拒絕。

嚴格規則:

  • 對於開場:每個場景一個短句 + 最多一個主要物件。 沒有引言(「01 — 功能」)、副標題、說明段落、功能晶片/徽章或技術後設資料(套件名稱、長 URL)。正在使用的產品 UI 一部分的晶片、按鈕和標籤不在此限。
  • 新資訊 = 新的視覺反應。 在說明影片中,如果仍然相關,請更改同一世界內的狀態/動作;句子的變化不一定需要更換鏡頭。
  • 列表點應替換為視覺化,而不是自動三個圖塊。 從 references/opener-konsep.md 的功能選單中選擇一種方式(展示一個功能、文字變化、物件變形、卡片洗牌、網格圖塊…);連續兩個開場不得使用相同方式。
  • 場景必須是活的。 當物件承載動作時,鏡頭可以停留。移動鏡頭以跟隨或揭示某些東西;不要依賴在靜止背景上淡入/滑入文字,或在所有區段重複平移/縮放。
  • 「拉近拉遠」= 鏡頭尺寸,不是鏡頭呼吸。 如果影片感覺靜態或用戶要求縮放,鏡頭應靠近正在講述故事的元素(中近景 / 特寫),然後根據內容節奏後退到全景;百分之幾的呼吸幾乎看不見(techniques.md §3b)。

在設計場景之前,請先閱讀 references/anti-ppt.md——它包含實際違規案例及其修正方法。

法則 #2 — 確定性,否則死亡

沒有一行程式碼應該讀取系統時鐘。所有視覺效果都是 tl.time()(GSAP 時間軸時間)的純函數:光譜、運行數字、粒子、鏡頭抖動(高頻正弦波,非 Math.random())、「流動」的物體位置(距離補間,非每幀累積速度)。結果:拖曳精確如 After Effects 時間軸,且逐幀渲染到 MP4 每次都會產生相同的圖像。

法則 #3 — 風格源自主題,而非起點,也非參考

常見失敗:另一個產品的開場與前一個產品的開場外觀完全相同——黑暗、藍色點綴、發光、星雲、相同的字體——因為模型從起點提取了風格。動畫可能很好,但仍然失敗:開場是產品的臉,而兩個產品不應該有相同的臉。

  1. 先有風格簡報,後有程式碼。 在觸碰起點之前,先寫下這六行並連同場景流程展示給使用者:
    • 主題/產品 +

…

(剩餘部分截斷)


注意:原文被截斷,上述翻譯基於提供的完整 SKILL.md 內容。其餘內容(如 references、scripts 等)未包含在原文中,因此無法翻譯。

Individual skills in this repo

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

isometric

Render a reel in the Isometric style: calm precise product line art in 2:1 dimetric isometric on a white or dark ground, drawn only with constant 2px hairlines, white-filled faces so nearer objects hide farther lines, rounded slabs with visible thickness, stacked layers, repeated-part grids, and one tiny dark accent per frame. Use when the user says isometric, product line art, technical illustration, exploded hardware view, or asks for a clean documentation-grade diagram look.

motion-build

Build and render a papercut episode from a storyboard with the library. Scaffolds the project, builds scenes with parallel agents, assets and audio, renders the mp4, then harvests reusables. Use for "build the reel", "scaffold an episode", "rebuild scene 4", "render it".

motion-explainer

Make a papercut reel, video or explainer end to end. Short vertical (9:16) cut-paper explainers from a link (repo, product page, announcement), idea to mp4. Also routes partial asks to the stage skills and hands out the style prompt for other tools.

motion-script

Turn a link into a papercut reel script. Researches a sourced facts list, writes the 75-95 word script on the 10-beat spine, a banner fact track, a staging table with one set per banner, and the humour pass. Use for "write the script", "research this repo for a reel".

motion-storyboard

Storyboard a papercut script before any code. Writes the Camera / Cut table, one block per scene with frame-level events on each stressed word, the SFX plan and the proof beat. Use for "storyboard this script" or "plan the camera moves and cuts".

papercut

Render a reel in the Papercut style: layered construction paper brought to life with paper grain, torn edges, stacked shade strips, drop shadows, rigid cut-out animation, a slow camera push, taped headline banners and word-by-word torn-tag captions. Use when the user says cut paper, papercraft, paper cutout, paper collage, construction paper, or asks for the default handcrafted explainer look.

相關技能