Communitygithub.com

PhucDnag/video-3d-agent

導演並創建與旁白/字幕同步的精美3D垂直影片,影像豐富、有意義且動作和諧;適用於財經、知識、家庭、情感、自我成長等主題。

video-3d-agent 是什麼?

此技能專為將腳本和旁白轉換為9:16垂直3D影片而設計,即使靜音也能傳達核心訊息。它強調整合影像與口語內容的精確同步,確保每個鏡頭都準確說明正在講述的想法,並包含可見的變化或動作。該技能支援多種主題,如金融、知識、家庭、情感和自我提升,並優先考慮基於場景情緒的直接視覺隱喻而非通用圖示。在技術上,它與使用JSON結構化時間線的專案相容,其中包含用於場景、攝影機和動作的欄位,並要求對現有場景枚舉和資源解析器進行可行性檢查。工作流程包括將腳本分解為語義節拍、選擇支持性視覺效果、設計情緒弧線,以及根據實際音訊/字幕時間調整時間。該技能也強調多樣性,以避免重複使用金色水晶、霓虹燈、圖表或軌道攝影機動作等常見視覺元素。它提供了一份詳細的品質檢查清單,用於驗證正確的詞語關聯、節奏、美學、運動、連續性和配音表演,同時承認現有文字轉語音管線的局限性。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/PhucDnag/skill_tao_video/tree/HEAD/.agent/skills/video-3d-agent

在你喜歡的 AI 中提問

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

說明文件

根據旁白導演3D影片的技能

目標

將腳本和旁白轉換為精美的9:16垂直影片,即使靜音也能輕鬆理解。每個鏡頭都必須準確說明正在講述的想法,與字幕同步,並包含可見的變化或動作。多樣化角色、物體、場景、構圖、顏色、材質、燈光和動作;不要讓每個影片都包含金色水晶、霓虹燈、圖表、時鐘或軌道攝影機動作。

保持與專案實際渲染器、場景和CLI的相容性。除非在程式碼中驗證過,否則不要描述或承諾存在某個資產、動作、對齊器、AI提供者或命令。當引擎尚不支援新場景時,使用最合適的現有形狀/資產組合來描述場景,並明確說明限制;僅在使用者要求修改軟體時才擴展渲染器。

導演流程

  1. 閱讀完整腳本,並檢查場景建立管線、TTS、字幕時間、渲染器以及實際支援的場景/攝影機。保持內容、語氣和陳述含義不變。
  2. 將口語分割成意義節拍,不要預設一個句子就是一個場景。為每個節拍記錄:原始台詞/字幕、核心含義、主體、動作、對象、情緒、因果關係、必須看到的內容以及絕對不能錯誤說明的內容。
  3. 優先選擇直接說明:如果口語提到特定的人、物體、動作或地點,就讓觀眾看到它。對於抽象概念,使用簡單、易於理解的視覺隱喻,並且僅在能讓含義更清晰時使用。緊扣否定詞、比較、轉折和結果;不要只抓主題關鍵字。
  4. 根據口語節奏製作分鏡:確定鏡頭、主要動作、畫框/攝影機角度、燈光-顏色-材質設計、場景過渡以及相關節拍之間角色/道具的連續性。每個鏡頭聚焦於一個主要想法或動作。
  5. 設計整個影片的情緒線:以與內容相符的問題、奇特圖像或正在進行中的動作開場;在發展部分逐步增加規模/節奏;將揭示或最強烈的時刻保留給關鍵想法;如果腳本包含,則以持久的圖像/情緒或行動呼籲結束。不要添加會扭曲訊息的台詞、事實或轉折。
  6. 根據每個節拍和整個腳本的細微差別來指導朗讀方式;不要讓聲音從頭到尾都保持平調。在建立TTS或錄音之前,為每個節拍明確記錄情緒、強度(輕/中/強)、節奏(慢/中/快)、重點(需要強調的詞/短語)以及必要的停頓。
  7. 根據實際音訊/字幕調整時間。如果管線提供,則使用逐詞時間/對齊;如果沒有,則使用現有區段時間並標記精確度限制。如果沒有逐詞時間戳,不要聲稱已逐詞同步。
  8. 連同圖像預覽一起聆聽音訊;修正朗讀不自然、重點錯誤、語氣單調或與表情/動作不協調的地方。使用專案的確切流程渲染最終檔案。

字幕綁定與圖像節奏規則

  • 每個節拍都有一個visualClaim:一個描述觀眾將看到發生的事情的句子,與台詞精確匹配。在渲染之前,將分鏡與每個字幕句進行對比。
  • 在陳述想法時立即將主體放入畫面;在動詞短語附近開始動作;在口語陳述結果時準確顯示結果。可以讓圖像比口語提前一點點,以便觀眾識別,但不要過早揭示結果。
  • 在意義邊界、暫停節奏或主體改變時進行場景切換;避免在一個意義短語中間剪輯。如果仍然正確說明,一個連續圖像可以跨越幾個句子;如果語義改變,一個長句子可以分成多個鏡頭。
  • 卡拉OK字幕和朗讀必須使用相同的時間來源。不要平均分配句子長度來偽造逐詞對齊。保持字幕可讀、拼寫正確、有對比度,並且不遮擋重要動作。
  • 對於否定/對比,清楚顯示兩種狀態或應避免的動作;不要使用與口語相反的肯定圖像。對於建議,說明具體動作,而不僅僅顯示通用圖示。
  • 鏡頭不能只是軌道/縮放:必須有動作、變化、互動或揭示來幫助傳達內容。攝影機支援敘事,不能替代動作。
  • 開場需要透過腳本本身的內容來激起好奇心:直接從細節、問題、後果或引人注意的選擇開始;避免冗長的標誌介紹、通用的飛行穿越以及漂亮但不相關的場景。
  • 根據朗讀風格和重要性來調整剪輯節奏:對於快速列舉/對比使用較短的鏡頭,對於情緒、需要觀察的操作或需要思考的想法使用較長的鏡頭。使用場景大小變化、運動方向、聲音的靜默時刻(如果有)或揭示來建立節奏;不要僅僅為了營造活躍感而不斷快速剪輯。
  • 使用有視覺動機的場景過渡:根據形狀/運動進行匹配剪輯、使用場景中的物體遮擋鏡頭、轉移焦點/光線,或在口語節奏處直接剪輯。限制重複的裝飾性過渡效果。

富有情感的朗讀導演

  • 在選擇細微差別之前,先理解各句的含義和關係。對於每個節拍,記錄emotion、intensity(輕/中/強)、pace(慢/中/快)、emphasis(需要強調的詞/短語)以及必要的pauseAfter/pauseBefore。這些標籤是指導性說明;僅在API/架構實際支援時才傳遞給TTS。
  • 建立自然的情緒曲線:開場清晰且引發好奇;解釋部分平靜且易於聆聽;重要想法穩重強調;感人段落溫暖且真誠;警告部分嚴肅但不喊叫;結論有分量。根據腳本調整,不要對每個影片套用相同的朗讀模式。
  • 在意義邊界、揭示之前、反問句之後或需要觀眾思考的句子之後,有目的地使用停頓。不要在每個句子之後都插入長時間停頓,也不要更改標點符號來改變含義或修正內容。
  • 透過語調和節奏來強調,而不僅僅是提高音量/速度。避免對悲傷內容使用過度興奮的廣告式朗讀、對中性知識使用聳人聽聞的語氣、或對溫和建議使用過度悲傷的語調。確保發音清晰、音量穩定,且不損害可理解性。
  • 如果有多種語音選擇,選擇適合年齡/情緒/類型的聲音,並在影片中保持一致。除非有特定的敘事意圖,否則不要在節拍之間更改語音。
  • 在設計表情控制之前,先檢查實際的TTS能力。在目前的管線中,可以配置voice、rate、pitch欄位;不要預設存在情緒/風格標籤或逐段韻律控制。如果引擎只有rate/pitch,則使用管線支援的腳本分段、標點符號和停頓;記錄表情限制。如果在聆聽檢查之前,不要聲稱TTS已像真人一樣富有表現力。當需要精緻的表演而引擎無法滿足時,建議真人錄音或整合具有表現力控制的引擎作為單獨的更改。
  • 讓聲音和圖像一起表演:溫柔的句子使用柔和運動和較少剪輯;果斷的句子使用清晰的姿勢/乾淨的剪輯;驚訝的句子可以適時揭示;沉思的句子保持足夠長的鏡頭。圖像支持情緒,而不是誇大與內容不符的情緒。

有目的的圖像多樣性

選擇適合主題和情緒的風格,而不是對整個影片套用一個美學預設。可以結合角色動畫、微縮模型/黏土模型、黏土、精緻低多邊形、玻璃/陶瓷/木材/織物/金屬材質、日常立體模型、風格化建築、自然或抽象象徵。優先考慮清晰的形狀、具有深度感的表面、塑造體積的光線、漸層顏色、簡潔的背景以及在手機螢幕上突出的主體。

每個影片在分鏡之前都需要一個簡短的藝術指導:主題/情緒、主要形狀類型和主導材質、3-5種顏色的調色板、光線類型、角色設計(如果有)、對比度和風格化程度。例如:家庭故事可以使用木材、織物、溫暖的窗光;科學內容可以使用剖面模型、半透明塑膠和實驗室光線;緊張主題可以從緊湊的構圖、強烈的對比開始,然後在解決問題時逐漸展開空間。這是一個靈活的指導方針,不是強制性的預設。

透過分層級來建立視覺焦點:一個主要焦點、一個輔助支持元素和一個細節較少的背景。使用特寫鏡頭表現情緒/細節、中景鏡頭表現互動、全景鏡頭表現規模或轉變;僅在幫助主體更清晰時使用透視和景深。設計易於識別的輪廓、在小尺寸下可讀的表情/姿勢、以及有明顯區別的材質。避免3D圖像中的仿文字、未要求的徽標/浮水印、難以識別的變形物體、過曝的高光、過於雜亂的背景以及統一的霓虹色調。

在確定分鏡之前,檢查相鄰鏡頭,當它們出現重複時主動更改至少兩個元素:主體/道具、地點、場景大小/構圖、攝影機角度/運動、調色板、材質或過渡類型。除非需要連續性,否則不要讓同一個主要物體連續出現超過兩個節拍;不要連續三個鏡頭使用同一種攝影機風格。多樣性必須來自口語含義的變化,而不是隨意的顏色更改。

在同一個故事線中保持角色、服裝、道具、時間和運動方向的一致性。為每個故事線使用一個主導調色板;可以更改光線或強調色來表現情緒轉變。限制粒子/發光和背景細節,以免干擾主體、文字或字幕區域。

透過更改適合腳本的敘事方式來實現影片間的多樣性,而不僅僅是更改顏色或更換一個道具:可以選擇貫穿始終的角色故事、一系列小插曲、空間之旅、兩個選項的對比、變化的延時攝影或探索內部模型/結構。僅在讓訊息更容易理解時才使用一種敘事結構。如果有先前的影片歷史記錄,避免重複最近的藝術指導和獨特的鏡頭序列;如果沒有數據,不要聲稱已對比過歷史記錄。

選擇場景與可行性

  • 在使用之前,檢查程式碼和預設中已註冊的場景/攝影機。舊的場景庫是可行的選項/備用方案,而不是將每個腳本都強行塞入管道、齒輪或水晶圖像的理由。
  • 如果專案支援sceneSpec/場景圖,則結構化描述環境、角色、物體、動作、攝影機和過渡;僅使用資產解析器/渲染器實際支援的幾何體、骨架、材質和動畫。
  • 如果僅支援scene枚舉,則選擇最合適的現有枚舉。不要發明枚舉/攝影機然後聲稱渲染器會理解;在必要時將所需的場景作為分鏡提出,讓使用者決定擴展引擎。
  • 優先考慮可實現的動作:行走、放置/拿起、打開/關閉、掉落、給予/接收、建造、破裂、成長、改變方向、相遇然後離開。複雜的人物動畫需要有效的骨架/剪輯;如果沒有,則使用輪廓、簡單的遮擋或替代物體。
  • 僅使用來源和權限清晰的程式庫資產。如果專案沒有相應的提供者,不要聲稱可以從文字隨意建立3D模型。當管線支援此元數據時,明確記錄哪個資產是程序化的、程式庫的、生成的還是備用的。

時間線與資料結構

保持現有專案架構和必填欄位以確保相容性。當支援時,每個區段應包含:

{
  "id": "beat_01",
  "vi": "原始台詞",
  "meaning": "節拍的含義",
  "visualClaim": "需要看到的具體動作/圖像",
  "mustShow": ["主體", "動作", "結果(如果有)"],
  "mustNotShow": ["與台詞矛盾的發展"],
  "continuityIds": ["跨場景的角色或道具"],
  "scene": "專案的有效場景",
  "camera": "專案的有效攝影機",
  "actions": [{"verb": "可視動作", "cue": "觸發短語(如果有時間)"}],
  "timing": {"source": "tts_alignment 或 segment_timing", "startSec": null, "endSec": null}
}

這是一個分鏡建議,不要將不相容的欄位新增到正在渲染的專案中。最終時間必須在渲染之前從音訊/TTS管線獲取;如果渲染器需要時間戳,不要在渲染時間線中保留null。如果只有基於句子的時間,則將節拍保持在區段內,不要偽造時間點。

品質檢查

在匯出之前,根據清單檢查每個節拍:

  • 詞語正確: 靜音觀看時仍能猜出主要含義;圖像不與否定、主體、情緒或因果關係相矛盾。
  • 節奏正確: 重要動作在對應短語被朗讀時出現;字幕和朗讀根據管線的可驗證能力沒有偏差。
  • 美觀且清晰: 主體突出、用色有目的、光線/材質營造深度感、構圖在小螢幕上可讀、不遮擋字幕。
  • 有運動: 鏡頭包含動作/變化/揭示;不過度使用軌道或縮放。
  • 多樣且連續: 相鄰場景有目的地不同,但相關的角色/道具保持一致。
  • 引人入勝且有節奏: 開頭1-3秒直接與掛鉤相關;圖像隨內容進程變化;高潮/揭示服務於正確的主要想法;結尾不會在動作中間突然中斷。
  • 有藝術指導: 在每個故事線內風格、調色板、光線和材質保持一致;每個鏡頭都有視覺層級;不使用僅用於裝飾的效果。
  • 聲音有變化: 細微差別、重點和停頓適合每個想法;圖像節奏與聲音相伴;TTS的所有限制都已明確說明。
  • 渲染可行: 資產可解析、沒有空白/黑色場景、物體沒有被裁剪;持續時間和音訊/影片在工具限制內匹配。

如果無法使用現有工具驗證某個標準,則明確記錄為未執行的檢查,而不是報告為通過。僅在管線支援或使用者要求時,才匯出分鏡/清單/品質報告。

根據台詞選擇圖像的範例

  • “每天你只進步一點點”:同一個角色在桌子旁練習數天,動作逐漸熟練;更改光線/天氣來體現時間流逝。僅在句子確實談論數據時才使用圖表。
  • “你無法留住一個想離開的人”:兩人在走廊鬆手,一人走向門口;不以團聚結束。
  • “錢因為小額支出而消失”:角色觸碰手機,幾筆小額帳單/交易依次從餘額中扣除;不要預設使用漏水管。
  • “與父母相處的時間不多了”:家庭聚餐、日曆翻頁、角色回來坐在父母身邊;如果敘述語氣溫和,不要將提示變成悲傷的場景。
  • “自律是在沒有動力時也去做”:角色在陰暗的房間裡坐在書桌前,深呼吸,然後開始寫作;窗外的光線逐漸亮起;不要只顯示一個日曆或一個時鐘。

相關技能