動畫解說影片
在規劃、撰寫、動畫製作或審查影片時,套用這些規則。故事規則優先:畫面精美但腳本平淡的影片仍會失敗。
製作影片
當用戶想要實際的影片檔案時,透過此技能中的模板,使用 Remotion(及 Three.js 處理 3D)來建置。
- 故事優先。 使用底下的故事規則,將腳本寫成一個個節拍(一個節拍一個想法)。在檢查其他東西之前,先檢查第一句話與開頭幾秒。
- 專案設置。 將
template/複製到新資料夾,執行npm install。在撰寫程式碼前先閱讀reference/remotion.md,在處理任何 3D 場景前先閱讀reference/threejs.md。 - 語音。 如果用戶提供了旁白(他們自己的錄音或任何文字轉語音檔案),將其放入
public/,並在public/plan.json中設定"voice"。如果沒有,則將每一行放入其場景的"text"中,然後執行npm run voice(免費的 Kokoro 語音,英語):它會產生public/voice.wav並設定每個場景的開始與結束時間。使用node scripts/voice.mjs am_michael(男聲)或預設的af_heart(女聲)來選擇語音。 - 時間對齊。 執行
npm run captions以取得逐字時間戳記。使用你自己的語音檔案時,將每個場景的開始時間設定為其所顯示行第一個單詞的時間;使用npm run voice時,這已經自動完成。 - 場景。 在
src/scenes/中為每個場景撰寫一個元件,註冊它,並在plan.json中列出場景。每個有口白的行都應有對應的視覺畫面。 - 檢查。 在每個場景的開頭、中間和結尾渲染靜態圖片(
npx remotion still Main out/still.png --frame=N),檢視它們,並修正任何違反下列規則的地方。 - 輸出。 執行
npm run render會產生out/video.mp4。在宣告完成之前,再次觀看前 3 秒。
需求:Node.js 18+ 與 ffmpeg。Remotion 會在首次渲染時下載其專用的無頭 Chrome。
故事
- 每個影片都是一個小故事:一個角色想要某樣東西,有個東西擋住了它,發生了一個轉折,有了一個回報。事實列表不是故事。
- 第一句話是一個大膽的主張、一個與人們相信的事物相矛盾的話題,或是一個有問題的角色。
- 好的例子:「你廚房裡的某樣東西正在殺死你。」/「我一直以為電腦在數學方面比人強。」/「這是唐叔叔,他有一個大問題。」
- 不好的例子:「X 是如何運作的?」/「這裡有 3 個工具可以…」/「今天我們將探討…」。如果影片回答的是「如何」的問題,將該問題移至第二句話。
- 在前 3 秒內提出一個問題或營造一個緊張感,並將答案保留到後續揭露。不要在鉤子裡就把轉折用掉。
- 選擇廣泛或具時效性的主題。冷門主題需要一個任何觀眾都能感受的日常角度。
- 強而有力的開場無法挽救一個薄弱的主題。先決定主題,再撰寫鉤子。
- 每個影片都應能獨立存在。不要有「第二部分」、不要有接續前一部影片的開場、不要有泛用的工具列表。
- 展現,而不是說教:每個有口白的行都應有對應的視覺畫面。如果靜音觀看影片時仍能理解,表示場景安排得當。
- 一個場景一個想法。如果一句話包含兩個想法,將它拆成兩個場景。
- 層層遞進:每個節拍都應比前一個節拍稍微提高賭注或增加驚喜。
- 以一句觀眾能夠複述或使用的話語結尾(一個可以問的問題、一個經驗法則),而不是總結。
- 長度是自由選擇:使用故事所需的長度。在較長的影片中,至少每 60-90 秒給予一個小的回報。
構圖(垂直 1080x1920,除非另有說明)
- 將主要主體保持在中上區域,大約在 y = 500-1100 之間。
- 底部約 20%(y > 1500)位於平台 UI 下方:那裡不要放置關鍵視覺元素。將字幕放在其正上方。
- 兩側保持約 60 像素的邊距。保持右邊緣(x > 960,y 900-1700)沒有關鍵資訊,因為按讚和留言按鈕位於該處。
- 垂直影片通常使用置中構圖效果最好。對於包含兩個主體的場景,使用三分法構圖。
- 每個畫面一個主導元素。其他所有元素都應更小、更暗或飽和度更低。
- 在關鍵時刻,角色的臉部至少應佔畫面寬度的約 15%。
開場秒數
- 在第 0 幀就開始說話。沒有無聲的開場,沒有標誌。
- 在最初的 1-2 秒內,有東西明顯改變:一個新物體、一個移動、一個轉變。沒有靜態的標題卡。
- 第一幀中的大字是可選的。如果使用,它陳述的是主張,而不是裝飾。
- 第一幀中的臉部是可選的。一個強烈的角色或圖像同樣有效。
鏡頭(2D 與 3D)
- 每次鏡頭移動都有其動機:跟隨角色、揭示資訊或增加強調。不要有裝飾性的移動。
- 絕不要線性移動:總是使用緩入緩出。
- 揭示 = 緩慢推近(在 1-3 秒內從 1.0 縮放到 1.1-1.25)。震驚 = 快速衝近(0.15-0.25 秒)並帶有輕微震動。
- 新場景:先使用廣角鏡頭,再切換到較近的鏡頭。
- 低角度 = 力量或威脅,高角度 = 弱小或無助,水平視線 = 中立。
- 如果兩個角色面對面,在整個場景中將每個角色保持在其各自的畫面側。
- 在 3D 中:視角(FOV)設定在 35-50 度,透過前景、中景和背景圖層製造深度。移動攝影機(dolly)而不是改變視角(zoom)。
- 在 3D 卡通場景中,使用線性色調映射並稍微提高飽和度;電影色調映射會沖淡卡通色彩。
剪輯與節奏
- 開場之後,節奏跟隨風格而定。快速的第一個瞬間比快速的整部影片更重要。
- 視線軌跡:新鏡頭中的興趣點應從前一個鏡頭結束的位置開始。
- 匹配剪輯:一個場景結尾的形狀或色彩,成為下一個場景的開端。
- 在笑點或妙語之後,暫留 0.3-0.6 秒再進行剪輯。
- 在關鍵時刻之前放慢,之後加快。
- 在動作中進行剪輯:在動作進行中切換鏡頭,而不是停止之後。
- 不使用白色閃爍或閃光轉場。使用甩鏡、匹配剪輯和擦除。
角色動畫
- 每次撞擊和跳躍時使用擠壓與拉伸(縮放 0.8-1.25,大致保持體積)。
- 預備動作:在一個大動作之前,先做一個相反方向的小動作(0.1-0.2 秒)。
- 跟隨動作:頭髮、天線和手臂在主體停止後仍會繼續移動並緩緩穩定下來。
- 四肢和拋出的物體沿弧線移動,絕不沿直線。
- 眨眼、呼吸和原地晃動永遠不該停止,即使在場景等待時也是如此。
- 時間點決定重量:重的物體移動緩慢且落地沈重,輕的物體移動快速。
- 誇張情緒:巨大的眼睛、誇張的嘴型、飛出的汗珠。
- 每個姿勢都有一個清晰的剪影。如果一個姿勢無法被解讀為黑色形狀,就修改它。
文字與字幕
- 字幕:每個片段 2-5 個單詞,與語音同步,以彈入方式出現,高對比度(白色字體加暗色輪廓)。
- 大型動態文字只在重點時刻使用,且一次只顯示一個大型單詞群組。
- 螢幕上的數字必須與旁白和來源完全一致。
語音
- 使用短句、口語節奏、縮寫(例如 "it's", "didn't")。
- 每分鐘約 170-200 個單詞。
- 節拍之間保持 0.2-0.4 秒的靜默,最後一句話前保持 0.6-1.0 秒的靜默。
誠實
- 螢幕上的每個數字都有真實的來源且與之相符。
- 切勿在旁白中插入創作者實際上並未做過的第一人稱主張。
- 諷刺性標題應使用明顯虛構的名稱,絕不模仿真實媒體。