cinetic
你正在執導一部短片,而不是為網頁製作動畫。畫面、文案與聲音是由一個時間軸檔案驅動的單一系統,在尚未經過渲染、測量與評論之前,沒有任何東西算完成。
- 引擎。 預設為 Remotion 4.0.529 (React, 幀驅動)。替代方案為 HyperFrames 0.8.79 (HTML 加上暫停的 GSAP 時間軸)。工藝與引擎無關;§7 列出了因引擎而異的規則。
- 數字。 這裡的每個數字都是來自已交付作品的經驗證預設值:是一個起點,當你有明確理由時可以偏離。它並非自然法則。
- 品牌。 當使用者提供品牌(顏色、字型、標誌、素材、語調)時,以品牌為主。品味預設值涵蓋了你必須自行發想的部分。
- 路徑。 像是
scripts/render.sh這類路徑在技能根目錄與影片專案內都可運作,因為scripts/new-film.sh會將每個腳本複製到專案中。每個腳本(內部輔助腳本brand-svg.ts(由brand-kit.sh呼叫)和hf-preflight.cjs(由hf-finish.sh執行)除外)都會印出--help。 - 實作範例。
references/worked-example.md詳細介紹了 Tessel,一部 33 秒、1920×1080、60 fps 的上市影片,並展示了以下每個規則的實際應用,包括犯過的錯誤。在製作你的第一部影片之前,請先閱讀一次。
標準
目標是讓人看兩次的影片:產品擁有一個點子,用畫面來講述,每個影格都看起來經過精心挑選,沒有什麼是為了填空而存在。
- 內涵重於打磨。 展示這個產品所做的事中,具體而巧妙的部分,那些較簡單的產品做不到的部分。圍繞一個空泛主張的完美動畫,仍然輸給一部讓觀眾心想「哦,這很聰明」但製作粗糙的影片。
- 有自己的風格。 每個品牌都應該從其名稱、產品和個性中衍生出一種視覺語言,並在「嚴格禁令」的範圍內。克制意味著沒有裝飾,並不代表所有東西都用一種極簡的家居風格。
- 極致乾淨流暢。 乾淨、現代的畫面,搭配創意的點子與編舞。每個動作都在 60 fps 下經過緩動、具有重量感且流暢:沒有抖動、沒有彈跳、沒有用來代替點子的特效。
- 視覺化,非旁白式。 關掉聲音也能讀懂點子;文字只是確認畫面已經說過的話。
- 重量感與靜止。 動作有質量,在節拍上到達定位然後靜止,如此一來快速的部分才能產生衝擊。
- 讓畫面感覺更好的聲音: 每個重拍都是由你能看到的東西所觸發。
- 克制重於裝飾。 有疑問時,就移除。
- 證據,而非印象。 下面這個流程之所以存在,是因為這些東西都無法在編輯器或 Studio 中判斷:你只有在觀看實際渲染結果並進行測量之後才會知道。
嚴格禁令
當你設計風格時,這些東西永遠不該出現。它們是生成式作品最明顯的特徵,而這個技能存在的目的就是為了製作出不像生成式的影片。lint-film.mjs 會檢查 token 與樣式,而評論者會檢查影格。
-
文字:
- 在主標題上方的眉題或 kicker 標籤;
- 堆疊的標語,以及「Introducing…」;
- 一次傾倒出完整的句子:文案應以簡短片段的形式出現,一個接一個,並在之間穿插畫面 (§4,「文字流動」);
- 文字牆,以及隨機的填充文字:裝飾性的等寬字體標題、沒人需要的假指標、lorem ipsum。
螢幕上的每個字都需有其存在的價值。
-
字型: 襯線字型,以及斜體或傾斜樣式,包括偽造斜體的傾斜效果。使用一種乾淨、現代的無襯線字體,如果產品需要,再搭配一種用於程式碼或數字的等寬字體。
-
顏色:
- 橙色、琥珀色、米色、奶油色、黃褐色或沙色,作為強調色、底色或發光色;
- 霓虹色:非常亮、飽和的強調色、發光、光暈和光暈效果;
- 紫色、紫羅蘭色或靛藍色,以及紫到藍或任何多色漸層;
- 玻璃擬態風格。
-
裝飾:
- emoji 與圖庫圖示;
- 代表「AI」的閃爍星星、粒子、五彩碎紙、鏡頭耀斑與程式碼雨;
- 任何非落地動作的有彈性的 overshoot,以及文案中任何 overshoot 或逐字元效果(只有一個英雄詞可以逐字母移動)。
剩下的還很多:墨水與紙張(淺色或深色,中性或冷色調),一個來自禁令之外任何色系(紅、綠、青、藍、黃)且有意義的強調色,一種無襯線字體,以及極致乾淨流暢、經過緩動、具有重量感、動態模糊且無抖動的動作。創意應投入於點子、裝置和編舞,而不是特效。
如果使用者提供的品牌包含上述任一元素(他們的襯線商標、他們的橙色),則以品牌為主,因為這是他們的標誌而非預設值。將其記錄在 BRIEF.md 中,以免評論者標記它,並在設定它的程式碼行上標記 // cinetic:brand-supplied <什麼> 以便 lint 接受。
1. 格式與預設值
先選擇一個列。它會設定長度、密度和要交付的檔案清單。每種格式的配方在 references/formats.md 中。這些數字是平穩的節奏,是預設值;如果簡報要求有能量(預告片、發布會、激情剪輯),則選擇清爽配置 (§5),它更快並允許稍多的文字(最多 5 個字的片段,最多 10 個字可見),但仍不會一次傾倒一個句子。
| 格式 | 長度 | fps | 網格 (BPM) | 故事節拍 | 字數:總計 · 每新片段 · 同時可見 | 音效 | 交付物 |
|---|---|---|---|---|---|---|---|
| 上市影片 / 預告片 | 20–45 秒 | 60 | 100 (清爽 120) | 每 30 秒 6–8 個 (清爽 8–10 個) | 15–25, 上限 30 · ≤ 4 · ≤ 8 (取代模式 ≤ 5) | 完整配樂 + 音效 | 16:9 母版, 9:16 與 1:1 重新排版, 海報, 自創品牌的品牌套件 |
| 產品 / 功能介紹、更新影片 | 8–30 秒 | 60 | 100 | 每 8–10 秒 1 個功能 | ≤ 12 · ≤ 4 · ≤ 8 | UI 音效;平靜:僅效果音在 -18 LUFS (僅當簡報想要節奏時使用輕背景) | 母版, 海報 |
| 功能循環 | 4–15 秒, 整小節 | 60 (GIF 25) | 任意;整小節 | 3–5 | ≤ 6, 靜音時可讀 · ≤ 4 · ≤ 4 | 可選 | MP4, WebM, GIF, 無縫銜接 |
| 標誌串場 | 3–8 秒 | 60 | 100–120 | 2–4 | 名稱 + ≤ 3 · ≤ 3 · 名稱 + 3 | 一個調校過的衝擊音 + 尾巴 | MP4, ProRes 4444 透明通道 (保留與清除), 海報, 自創品牌的品牌套件 |
| UI 導覽 | 20–90 秒 | 60 | 90–100 | 每 2–4 小節 1 個章節 | 每個標題 ≤ 5 · ≤ 4 · 一個標題 | 背景音樂 + UI 音效 | 母版, SRT 字幕 |
每當 UI、文字或攝影機移動時,使用 60 fps。在 30 fps 下,緩慢的漂移會明顯地有階梯感,快速移動則會產生頻閃,而 24 fps 永遠不適合 UI。GIF 是唯一的例外:從 60 fps 母版以 25 fps(或 50 fps)匯出,因為 GIF 影格延遲是百分之幾秒為單位,而 30 fps 會快 11%。
2. 五大法則
- 一個點子,專屬於此產品。 你可用一句話說完這部影片,而證據展示了此產品做了什麼是顯而易見或較簡單版本做不到的。克制適用於裝飾和文案,但絕不適用於產品的智慧:如果功能很聰明,影片就展示其聰明之處。原因: 觀眾只會帶走一件事,而一部對競爭對手或較簡單功能也同樣成立的影片,無法給他們任何值得帶走的東西。
- 一個故事裝置。 一個物體、形狀或顏色貫穿每個鏡頭,且在剪輯點時絕不消失。在上市影片中,它理想上應在結尾演變成標誌;在功能循環或產品影片中,它是產品所作用的單元(卡片、行、檔案)。找到這個產品擁有的物體。一個單純的點、線或區塊是懶惰的預設,同時也是此技能自身範例的風格。原因: 它使影片具有連續性,讓影片即使在靜音時也能被理解,而一個專屬的物體正是讓影片無可置疑地屬於這個品牌的東西。
- 一個強調色,一個意義。 強調色是一個單一的 token,只代表一個意思,例如「現在」、「新」或「你的」。節制地使用它(約 ≤ 8% 的像素),並最多只讓它充滿整個畫面一次。原因: 一個有意義的顏色無需文字就能被理解,而一個到處使用的顏色則毫無意義。
- 一個統一的動作系統。 使用少數幾條命名的曲線和彈簧,每條都有明確的理由,並從
timeline.ts中取得每個影格編號。原因: 一致的動作就是品牌動作,而臨時拼湊的緩動函數會看起來像是生成的。 - 透過測量驗證。 只有當渲染出的像素和解碼後的聲音通過腳本以及一輪評論後,一部影片才算完成。原因: Studio 預覽會隱藏編碼檔案將顯示的爆音、鬼影、同步誤差和色偏。
3. 工作流程
每個步驟都寫入一個檔案,每個關卡都是你實際會執行的檢查。在同一個執行環境中工作。子代理僅用於評論 (§8),因為並行建構影格所花費的時間比節省的時間更多。
步驟 0:接收 → BRIEF.md
- 如果簡報已說明產品、訊息和長度,則推斷其他所有內容並寫下你的假設。
- 如果沒有,則最多問 3 個問題:產品一句話說明、格式和長度,以及影片將在何處播放。從 §1 中取得其他所有內容。
- 選擇引擎:預設為 Remotion;如果使用者已經有 HyperFrames 專案、想要 HTML/GSAP,或需要由變數驅動的
--batch渲染,則選擇 HyperFrames。 - 將嚴格禁令(上文)複製到
BRIEF.md,以及任何品牌提供的例外。評論者稍後會逐字使用此檔案作為提示,因此它同時也作為 QA 合約。 - 選擇節奏:平靜(預設值),除非簡報要求有能量;將其寫入規格行。清爽是明確的選擇加入 (§5)。
- 搭建專案骨架:
bash <skill>/scripts/new-film.sh films/<name> --fps 60 --size 1920x1080 [--engine hyperframes]。它會保持起始範本的節奏(Remotion 100 BPM, HyperFrames 120)和平靜節奏;加上--pace crisp可製作清爽的影片(120 BPM 和清爽節奏),或加上--bpm N來設定其他節奏。傳遞--link-modules <dir>/node_modules以重複使用現有安裝,而不是執行npm install(在 Windows 上是 junction)。 - 關卡:
BRIEF.md有一個規格行,例如1920x1080@60, 30s, 100BPM, pace: calm, audio: earshot kit (calm), no music。
步驟 1:概念 → TREATMENT.md
立即閱讀 references/concept-and-story.md。
- 從具體細節開始,而不是從風格開始。寫下:
- 名稱的含義或聯想(它通常會給你標誌和裝置的靈感);
- 功能非顯而易見的行為,完成句子「與顯而易見的版本不同,它……」;
- 產品自身的物件(它的行、卡片、讀數和狀態)。
- 針對每個不同的角度,撰寫 3 個概念:
- (a) 產品自身的動詞或隱喻的具體化;
- (b) 觀眾的痛點變得可見;
- (c) 一個形式化的裝置:一個接力物件、一個頭尾呼應、一個不中斷的鏡頭運動,或一個變成產品的容器。
- 丟棄任何其道具可能出現在另一部產品影片中的概念。它不是你的。
- 抽取技術;不要選擇它們。 執行
python3 scripts/pick.py --format <launch|feature|loop|sting|walkthrough|vertical> --energy <calm|medium|high> --seconds <length> --json out/qa/picks.json,除非簡報要求能量,否則使用--energy calm。它會從assets/library/techniques.json的已測量庫中,以平靜節奏下約每 3.5 秒一個技術、否則約每 2.5 秒一個技術(對於 30 秒上市影片為 9 或 12 個,對於短片至少 4 個)的比例抽取,權重傾向於經過驗證的動作和影片的能量,並以格式所需的順序排列,並印出每個配方及其預設計時。手動選擇會導致每部影片都使用相同的淡入、推近和結尾卡片;抽取法是讓兩部影片看起來不再相似的方法。建構概念所能承載的抽取結果,以其物件和裝置重新詮釋;故事、產品真理和一種統一的 UI 語言優先,而一部塞滿各種動作的影片看起來像作品集。重新抽取一個與概念衝突的抽取結果最多兩次(--category <cat> --exclude <id>),或放棄它,並附上書面理由;永遠不要添加一個抽取結果未給你的技術(使用--category抽取一個),並在品牌擁有被禁止的外觀時傳遞--brand-supplied <look>。使用pick.py --show <id>完整閱讀一個抽取到的條目;references/technique-library.md列出了每個條目(搜尋它,不要完整閱讀)。測量過的節奏、緩動和文字計時規範在references/craft-rules.md中。 - 為你選擇的概念填寫
assets/TREATMENT.md:- 一句話摘要;
- 故事弧:鉤子(進入問題,在 1 秒內感受到)→ 轉折 → 證據(1–2 個功能)→ 承諾 → 鎖定畫面;
- 抽取到的技術,帶有種子行,每個放置在一個節拍中(範本的 §3b);
- 裝置路徑,逐個鏡頭;
- 一個節拍表,包含欄位列:小節 | 時間 | 畫面 | 文案 (片段, 模式) | 畫面節拍 | 聲音:任何超過 4 個字的想法都寫成一連串片段,每個片段都附帶它交接的畫面節拍;
- 完整的文案及其字數;
- 最終影格。
- 執行刪除測試。移除展示功能的節拍,價值應仍可讀出。移除價值節拍;如果影片仍然「可行」,那它只是一次功能導覽。
- 執行特異性測試。這部影片對一個較簡單的產品(例如,一個平均分配而非逐項列出的東西,或一個普通列表而非排名列表)是否同樣成立?如果是,則證據低估了產品;展示困難的部分。
- 執行功能詞語測試。在靜音模式下觀看時,陌生人是否會使用簡報中描述功能的詞語(「連續記錄」、「分割」)?如果一個巧妙的裝置讓它讀起來像是別的東西,則保留功能熟悉的形式,並讓裝置來裝扮它。
- 關卡:
- 一句話摘要 ≤ 15 字;
- 特異性測試通過,並寫下了答案;
- 字數在 §1 的預算內;
- 每個片段 1–4 字;沒有節拍顯示超過 8 個字的文案(取代模式為 5 個);任何超過 4 個字的想法都是一個鏈,其片段之間有 30–90 影格的畫面節拍,並且沒有一個片段是以一個區塊的形式出現(清爽影片允許每個片段 5 個字,螢幕上 10 個字);
- 文案計畫在最長約 65% 的執行時間內(清爽為 80%),每 10 秒中至少有一個 1.5 秒的純畫面段落;
- 裝置出現在每個節拍行中,並且每個抽取到的技術都放置在一個節拍中或放棄……
… [為翻譯而截斷]