Motion 液態玻璃
將使用者的主題、旁白、文字和音樂,轉化為一個已渲染完成的動態影片,逐格從 HTML 頁面生成。作為品質標竿的參考影片是技能創作者製作的 Claude Wakizashi 第2部。新的影片會沿用該風格與引擎,但絕不會複製其主題:旁白、場景、Logo 和致謝皆為使用者原創。
在建立任何場景之前,請先閱讀 references/estilo.md:它記錄了技能創作者認可的視覺偏好,以及他拒絕過的風格。若需要修改程式碼或遇到任何問題,請閱讀 references/tecnica.md。
首次使用
如果 ~/video-tools/motion-vidro/perfil.md 不存在,請先依照 references/primeiro_contato.md 的步驟進行。如果該檔案已存在,請閱讀個人設定檔,並以姓名打招呼,然後詢問使用者希望進行的流程。個人設定檔中的偏好將套用於所有影片。
流程
- A. 建立新影片: 依照下方步驟進行。
- B. 改善已上傳的影片: 依照 references/melhorar_video.md 進行,並在診斷獲得核准後,再執行下方步驟。
- 加入參考素材: 隨時可依照
references/melhorar_video.md中關於參考素材的部分進行。
視覺概念永遠基於 Wakizashi,詳見 references/estilo.md。額外的參考素材與外部指南可作為此概念的補充,但不能取代它,除非使用者特別要求。
請使用繁體中文溝通,並保持簡潔。使用者傾向於「眼見為憑」,因此請多展示檔案和圖片,而非單純用文字描述。
需詢問的事項
- 影片的主題與目標受眾(若個人設定檔中未包含這些資訊)。
- 旁白音檔及對應的文字稿。若使用者尚未備妥,請根據主題為其撰寫腳本,待核准後請使用者自行錄製。
- 使用者選擇的背景音樂,以及音樂應開始播放的時間點(秒數)。
- 影片格式(預設為 16:9,1920x1080,30 fps)。
- Logo 名稱與致謝內容(需主動詢問;參考影片中的格式為
BY CREATOR: @diasl_uisvictor,請替換為使用者提供的資訊)。
同時,請使用者提供一個包含 .wav 音效的資料夾。若他們沒有,可提供 scripts/gerar_sfx.py 工具來生成,該工具的詳細說明在 references/dependencias.md 中。sfx.json 中的名稱即為這些音效檔案的名稱(不含副檔名),而音效資料夾的路徑則會在指令中透過 --biblioteca 參數指定。
如果缺少任何必要程式、音效或音樂,請依照 references/dependencias.md 的指示:將所有缺少的項目整理成一份清單,並一次詢問使用者是否同意處理。
步驟
請在標記處暫停並等待使用者核准。完整渲染後修改錯誤,每次約需耗費 10 分鐘,因此務必在渲染前找出所有問題。
1. 準備
確認已安裝 Python、FFmpeg 和 Chrome,如缺少任何項目,請遵循 references/dependencias.md。獲得使用者核准後,執行 scripts/preparar_ambiente.sh 一次。此指令將在 ~/video-tools/venv-vidro 建立 Python 虛擬環境,後續步驟中的 $PY 在 Windows 下為 ~/video-tools/venv-vidro/Scripts/python.exe,在 Mac 和 Linux 下則為 ~/video-tools/venv-vidro/bin/python。請在專案資料夾中工作,每次交付使用新版本編號(如 entrega_v01、entrega_v02),切勿覆蓋已交付的內容。
2. 分析音訊
$PY scripts/analisar.py narracao.mp3 musica.mp3 INICIO_MUSICA "texto digitado"
此步驟會生成 analise/palavras.json(每個單字的時間點)、停頓點、節拍點以及 anim/peaks.js(音樂每幀的音量峰值,用於驅動背景與聲波動畫)。指令中的文字稿為正確版本;音訊轉錄僅用於取得時間點,因為轉錄結果可能會有錯字(例如將「dicta」聽成「edita」)。
3. 分鏡板(需核准)
根據旁白的句子來劃分場景。如果已安裝「流量編輯」技能,請閱讀 ~/.claude/skills/fluxo-de-edicao/guias/oficio-motion.md 和 ~/.claude/skills/fluxo-de-edicao/guias/etapa-motion-mapa.md 以規劃鏡頭運動。針對每個句子,定義能推動故事進展的 UI 元素、其入場方式、鏡頭方向以及對應的音效。將 assets/wakizashi_referencia.html 複製為 anim/anim.html,並替換其中的 SC 陣列內容,保留動畫引擎不變。為每個場景建立一個與主題相關的 UI 物件。同時也要替換 Logo、致謝文字、<title> 標籤以及 FL 陣列中的文字,最後檢查確保沒有遺留任何 Wakizashi 的痕跡。請忽略指南中有關 HyperFrames 的部分:此處的動畫引擎是 HTML 頁面本身。調整 DUR(總時長)、HITS(重拍節奏點)、FOC(每個場景的光源焦點)以及 BL(Logo 切割動畫的時間點與位置)。
為每個場景生成一張圖片:
$PY scripts/render.py anim/anim.html analise/t --times 1.5,5.0,6.5
$PY scripts/folha.py analise/t analise/prancha.png
同時,提供一個包含時間、旁白、影像和音效的表格。只有在獲得使用者核准後才能繼續。
4. 音訊(需核准)
如果已安裝「流量編輯」技能,請閱讀 ~/.claude/skills/fluxo-de-edicao/guias/etapa-sfx.md 來決定每個音效的放置點。建構 sfx.json 檔案(格式請參考 scripts/mixar.py),然後執行:
$PY scripts/mixar.py narracao.mp3 musica.mp3 INICIO_MUSICA DUR sfx.json entrega_v01 --biblioteca PASTA_DOS_SFX
產出 audio_para_aprovar.mp3。預設的音量平衡如下:背景音樂音量較低,音效清晰,立體聲環繞感,且當旁白出現時音樂會自動淡出。如果使用者要求修改,只需調整其指定的部分。
5. 幀測試(若有重大視覺變更則需核准)
根據分鏡板,選取 12 到 16 個時間點進行渲染,特別是在 Logo 切割動畫前後多取幾幀。自行檢查這些畫面,確認以下項目:文字未被裁切、前景與背景的綠色有足夠區別、光暈沒有過曝、玻璃材質的背景顏色正確,以及致謝文字完全顯示在畫面內。
6. 完整渲染與預覽(需核准)
bash scripts/render_all.sh anim/anim.html entrega_v01/_frames NUM_QUADROS
$PY scripts/empacotar.py entrega_v01 motion_nome_v01 --so-preview
讓渲染在背景執行。將 preview 檔案提供給使用者,並說明你已檢查過的項目,以及哪些部分因動態效果而無法在靜態畫面中確認。
7. 封裝
獲得使用者「核准」後:
$PY scripts/empacotar.py entrega_v01 motion_nome_v01
此步驟會生成 ProRes 422 HQ 影片、附帶音軌的同一影片、獨立的人聲、音樂和音效軌道、mix.wav 以及 timeline.fcpxml。腳本會比對畫面幀數與時長,若有不符則會報錯並停止。最後,向使用者說明哪個檔案適用於後期編輯,哪個檔案適用於直接發布。
收到修改要求時
僅實施使用者要求的變更,並保留所有已核准的部分。只重新處理受影響的部分,並在完整渲染前進行幀測試。若有任何修正內容適用於未來其他影片,應在使用者確認後,將其連同日期記錄到 ~/video-tools/motion-vidro/perfil.md 中。請勿修改 references/estilo.md:該檔案保存的是原始風格,且技能更新可能會覆蓋它。