reel-style:三種風格,並排比較,絕不重複相同的三種組合
套件存放位置: 所有指令都應在
reels-maker資料夾(即 github.com/thativanng/reels-maker 的克隆,內含template/和tools/)中執行。如果專案中還沒有該資料夾,請先依照該儲存庫的 SETUP.md 進行設定。
為什麼存在: 當代理被要求「製作一支關於 X 的影片」時,往往會不由自主地趨向同一種風格:不是使用它自己的預設值,就是更糟地沿用上一次被接受的風格。而一種在前期沒有被呈現過的風格,最終會在看完成品時才被發現,此時說「看起來很廉價」就意味著要全部重來。製作三張靜態稿只需要幾分鐘;但選錯風格卻會毀掉一整部影片。
1 · 開始構思前請先閱讀
- 已簽署的簡報: 平台、比例、目標觀眾、訊息、品牌,以及委託者回答「對我來說什麼看起來廉價」的答案(這是一個硬性約束)。
- 風格紀錄檔,位於委託者專案中的
.reels/looks-log.md(格式請參考 references/looks-log.md)。如果該檔案不存在,請建立它。 - 品牌。 如果有品牌,三種風格會共享其顏色和字體,而在它們的「骨架」上有所區別:媒介、佈局、紋理、動態。如果沒有品牌,則在所有方面都不同。
2 · 構思五種,保留三種
首先撰寫五個一行描述的概念,每個概念來自不同的出發點:
- 主題本身的世界(例如,供應鏈主題就使用倉庫貨箱)
- 希望觀眾感受到的情緒
- 觀眾:滿足他們的期待,或者刻意打破它
- 這個主題的其他影片看起來的樣子,將其翻轉
- 一個不尋常的格式(一張收據、一個倒數計時、一封信、一個巨大的單詞)
保留差異最大的三個。每種風格必須在 references/axes.md 中定義的 6 個特質中,至少有 3 項與其他兩種風格不同,並且始終在「媒介」或「佈局」上有所區別。至少有一種風格必須打破該主題的常見外觀。 如果兩種風格的佈局輪廓相同,則視為一種。如果簡報指定了佈局(reel-intake F4),則三種風格都保留該佈局,並在「媒介」以及至少另外兩項特質上有所區別。
然後,根據以下兩個清單檢查每一種風格:
- 應避免的預設風格(references/axes.md)。套件本身的
template/starter.html就是其中之一;它只是一個骨架,永遠不該被當作一種風格。 - 風格紀錄檔。 除非委託者要求,否則絕不重新展示一種其「媒介」、「佈局」和「色板」都與紀錄檔中任何一條完全相符的風格。被拒絕的風格就是一個約束條件。委託者選擇過的風格只有在他們主動要求時(「和上次一樣」)才會重新出現,並且會作為第四個選項,與三種新的風格並列。
3 · 製作三張靜態稿
- 將
template/starter.html為每一種風格複製一次到該影片的資料夾中(reels/<name>/look-a.html、look-b.html、look-c.html),旁邊放上該影片的reel.json;對於 3D 外觀,則以相同方式複製template/film.html。字型和 formats.json 會從套件根目錄載入,因此複製的檔案可以直接使用。只更改外觀:CSS 變數、佈局、背景、字體。每張靜態稿都使用相同的開場節拍和相同的文字。 - 以簡報指定的格式為每種風格渲染一張靜態稿,然後將它們並排顯示並加上名稱:
node tools/stills.mjs --page reels/<name>/look-a.html --format 9:16 --out reels/<name>/out/looks/a 1.5 node tools/stills.mjs --page reels/<name>/look-b.html --format 9:16 --out reels/<name>/out/looks/b 1.5 node tools/stills.mjs --page reels/<name>/look-c.html --format 9:16 --out reels/<name>/out/looks/c 1.5 python3 tools/sheet.py reels/<name>/out/looks/sheet.jpg 3 360 --labels "A · Ledger,B · Dock,C · Receipt" reels/<name>/out/looks/a/t001.50.jpg reels/<name>/out/looks/b/t001.50.jpg reels/<name>/out/looks/c/t001.50.jpg - 使用探測工具檢查每張靜態稿:文字必須位於安全區內(
node tools/probe.mjs --page reels/<name>/look-a.html --format 9:16 "1.5" "sel:.title,.line,.kicker,.cap" "safe"→inside: true;探測工具測量的是文字本身,因此超出畫面的單詞會失敗)。 - 顯示帶有名稱的合併圖,並為每種風格加上一行描述,例如 A · Ledger: 以字型為主導、淺色紙張、平靜。再加入一行關於動態能量的說明,因為靜態稿無法呈現。在委託者觀看之前,不要推薦任何一種:先入為主的推薦會限制他們的判斷。
4 · 選擇與紀錄
- 委託者選擇一種,或者進行混合(「A 的佈局,C 的色板」)。混合是一種新的風格:在製作之前,先將其呈現為靜態稿。
- 將所有內容寫入紀錄檔: 每種展示過的風格(其六項特質和靜態稿)、選擇了哪一種、哪些被拒絕,以及委託者用自己的話表達的評論。
- 然後,film-engine 會以被選中的風格製作 10 秒測試片段,以便在完整製作前獲得委託者的確認。被選中風格的靜態稿同時也是封面圖的初稿。
系列模式
當簡報指定為「系列」時,第一集的選擇將被鎖定在紀錄檔中,作為該系列風格。後續的影片會跳過三種風格的選擇過程,並維持該風格。多樣性則在風格內部實現:主題、開場畫面、節拍順序。如果委託者在系列中途想要一種新風格,這將被視為一個新系列。
當故事是一段旅程
只有在簡報是關於一段旅程(例如職業生涯,或一個從頭到尾的過程)時,體素行走(voxel-walk 技能)才能被選為三種風格之一。它永遠不是預設選項,並且受相同規則約束:必須與其他兩種風格不同,且受到風格紀錄檔的規範。
誠實的限制
- 只有體素行走經過了端到端的建構和測試。其他每一種風格都是根據簡報即時建構的:採用新風格的第一部影片需要更長時間,並且會接受完整的影片審計。
- 靜態稿能呈現顏色、字型和佈局。它們無法呈現節奏。10 秒的測試片段才是判斷動態效果的地方。
鳴謝
「從不同路徑構思五種,保留離群值,相同佈局視為一種」的規則改編自 HyperFrames 的提案階段(heygen-com/hyperframes, Apache-2.0)。命名預設風格並記錄嘗試過程的想法源自 Anthropic 的前端設計技能(經改寫)。相同場景、不同風格、並排比較,是常見動態工作室處理風格幀的做法。