Ice Motion:動作工藝
此技能決定物體如何移動。它由工作流程(ice-film、ice-explainer、ice-remake、ice-edit、ice-lottie)在簡報與方向確定後呼叫。它撰寫動作計畫;從不建構或渲染。
1. 此技能擁有與指向的內容
| 擁有 | 指向 |
|---|---|
| 移動任務、動作動詞、因果關係 | 動態文字、字幕、閱讀時間、展示文字的鍵入節奏:ice-type |
| 持續時間、緩動、錯開、重疊、彈簧 | 音樂、音效、旁白、節奏網格、文字時間:ice-audio |
| 停頓政策(活躍、僅鏡頭、完全靜止、無閒置) | 閘門、接縫驗證、幀掃描、密度測量:ice-qa |
| 剪輯與轉場目錄、轉場政策 | 引擎語法、渲染、快門捕捉、平台安全區域:ice-engines |
| 接縫、承載、向量法則、交接 | 藝術與繪畫風格、角色骨架、敘事語法:ice-styles |
| 相機、構圖、主體大小、舞台燈光、豐富度指標 | 調色盤、字體配對、反相同指紋、決策記錄:ice-direction |
| 2D、2.5D 與 3D 動態;物理;變形;循環 | 阿拉伯語與從右到左的字形與方向:ice-arabic |
| 影片中的游標與 UI 示範動態 | 出貨應用程式與網站介面動態、Lottie、Logo 向量準備:ice-lottie |
| 動作牌組、原子動作、鏡頭藍圖 | 資產真實性、真實 UI 捕捉、Logo:ice-assets |
以名稱指向其他技能;絕不重述其規則。
2. 被呼叫時的流程
- 讀取簡報欄位(影片或剪輯類型、平台、長寬比、持續時間、語言、語域、品牌詞彙)以及方向記錄。如果缺少類型,請詢問工作流程,不要猜測。
- 打開
references/motion-language-by-type.md並設定影片的動作語言:停頓政策、轉場政策、相機政策、超調政策、時鐘與模糊語法、節奏。僅在簡報未指定時套用產業與品牌個性預設值。 - 撰寫動作個性:一個隱喻加上 3-5 條規則(
references/motion-grammar.md第 8 節)。該處有多個不同範例;切勿複製。 - 分配動作調色盤:3 個核心動作,最多 2 個強調動作,最多 1 個簽名動作,避免前一部影片的核心動作(
references/move-deck.md、references/anti-slideshow-and-density.md第 6 節)。 - 為每個節拍撰寫其移動任務和動詞、時間與緩動,以及其重要性等級(
references/motion-grammar.md、references/timing-and-easing.md、references/measured-motion.md)。 - 為每個邊界撰寫一個接縫行,包含承載物、退出與進入向量以及原因(
references/seams-and-carry.md、references/transition-policy.md、references/cut-catalog.md)。 - 為每個鏡頭移動撰寫其原因與視窗(
references/camera.md)。 - 根據反幻燈片規則與該類型的密度目標(
references/anti-slideshow-and-density.md)以及視覺豐富度下限來檢查計畫:從影片類型的「豐富度下限」表格(ice-film 工作流程的references/film-types/<type>.md)以及references/composition-and-staging.md第 7 節中的測量值與修正方法讀取下限數值。低於下限的鏡頭在建立任何內容之前必須重新安排。 - 對於廣告、產品旅程和無旁白文字主導的影片,還需撰寫可機器檢查的動作合約(結構:
assets/motion-contract.example.json;原則:references/continuous-journey.md)並執行python scripts/validate_motion_contract.py ice/plan/motion-contract.json --project-root .直到顯示 PASS。將計畫交給工作流程;ice-qa 驗證渲染結果。驗證器會嚴格檢查三項內容:- 參考資料:三個特定角色的參考資料,附帶分解說明。當有時效性的研究找不到真正可觀看的參考資料時,請撰寫
"references": [](或你擁有的那些)加上"referencesWaiver": {"reason": "<搜尋了什麼,為何沒有可觀看的>", "researchNote": "ice/research/<note>.md"};切勿將參考資料指向一個描述你未觀看影片的筆記。 - 傳承:在每個邊界上,它比較的是 ID 而非圖片:
transition.semanticId必須等於下一個場景的entry.semanticId,因此請在兩側給予承載物件相同的semanticId。圖片是否真正承載,由 ice-qa 和審查員根據渲染結果判斷。 - 通用動詞(滑動、增長、縮放、浮動及其清單中的其他動詞)會失敗,除非物件真的是該機制;然後在該
primaryMotion或文字單元中加入"literalMechanism": "<一句話描述實際機制>"。
- 參考資料:三個特定角色的參考資料,附帶分解說明。當有時效性的研究找不到真正可觀看的參考資料時,請撰寫
- 透過 ice-direction 記錄每個動作決策及其原因與來源(
ice/DIRECTION.md)。
3. 普遍法則(適用於所有類型)
- 每個動作都有一項任務(引導注意力、承載連續性、顯示變化、表達個性),否則就刪除。
- 動作追隨意義:流動的內容流動,組裝的內容組裝,倒數計時器滴答作響,路線朝其方向繪製,數字在其原因改變時計數。
- 一次一個焦點動作;輔助元素等待,焦點元素永不等待。
- 進入時減速,退出時加速,畫面上的移動緩入緩出,撞擊時加速接觸;空間移動除非是機械性的,否則絕不使用線性;絕不對所有事物使用同一種緩動(每部影片至少 3 種緩動特性)。
- 退出比進入更快;進入使用 2-3 個衰減通道,絕不單獨使用不透明度;絕不從零開始增長。
- 錯開時間每組保持在約 0.5 秒內,不規則,按重要性排序;偏移時間短於其所偏移的動作。
- 對比即是訊息:變化速度(最慢場景約為最快場景的 3 倍)、鏡頭長度、密度與靜止;規模、特效與強調動作各使用一次。
- 每個邊界都有東西跨越:一個承載物件、一個匹配的向量、聲音或節拍;場景 A 的退出決定場景 B 的進入(相同軸線、方向、速度)。
- 相機是標點符號:它為一個指定的原因而移動,過渡時緩慢,僅在強調時快速,絕不連續三次向內推進。
- 停頓是經過設計的決定:影片的停頓政策依類型選擇並應用於所有地方;內容耗盡的場景應縮短或賦予故事,絕不搖晃。
- 每一幀都是時間的純函數:閉合式彈簧、種子隨機性、無牆上時鐘、無狀態求解器。
- 特效永遠不能補償薄弱的佈局、薄弱的姿勢或遺失的證據。
4. 依範圍解決的衝突(摘要)
| 問題 | 依類型的答案 | 檔案 |
|---|---|---|
| 停頓時什麼移動? | 活躍(上市、應用程式廣告、社交媒體、炒作),僅鏡頭(解說、談話頭、數據、長篇),完全靜止作為標點(品牌、藝術休息、動態休息、喜劇),無閒置(UI 導覽、旁白式上市) | references/holds-and-stillness.md |
| 交叉淡出? | 在上市、應用程式廣告、炒作、動態文字、拼貼、音樂主導、社交媒體中禁止場景間使用;在平靜的品牌、藝術、長篇、播客、圖表間允許作為「此內容持續」 | references/transition-policy.md |
| 硬剪輯? | 在剪輯素材、解說片和拼貼中約占 95% 的變化;在相機即剪輯師的影片中僅在強拍上使用,最多兩次 | references/transition-policy.md |
| 超調? | 數據、金融、健康、奢侈品、相機、文字無超調;上市和 UI 有微小超調;每個消費品影片一個彈簧;僅對兒童和吉祥物使用俏皮超調 | references/timing-and-easing.md |
| 非最終場景的退出? | 在轉場即為退出的情況下禁止(組裝式上市影片);在旁白式解說片中採用短加速退出或原地降級 | references/transition-policy.md |
| 填滿畫面或大片空地? | 填滿(商業廣告、解說片、每個豎版廣告)或約 70% 有紋理的空地(極簡風格參考、平靜品牌、僅限橫向):依參考類型與語域選擇。無論何種方式,類型的豐富度下限皆適用;「高級」減少雜亂,絕不減少豐富度 | references/composition-and-staging.md 第 2 與第 7 節 |
| 停頓期間的相機? | 慢推 3-6%(政策 A 與 B);鎖定(C 與 D) | references/camera.md、references/holds-and-stillness.md |
5. 輸出合約:動作計畫
工作流程將其儲存為 ice/plan/motion-plan.md。填入每個欄位;欄位是佔位符,絕非範例值。
## 動作語言
type: <影片或剪輯類型> | hold policy: <A|B|C|D> | transitions: <主要 + 強調> | camera policy: <...>
overshoot: <無|微小|一個彈簧|俏皮> | clock: <fps, 平滑或階梯式> | blur grammar: <塗抹|清晰|快門>
personality: <一個隱喻> + <3-5 條規則>
palette: core <動作, 動作, 動作> | accents <動作, 動作> | signature <動作或無>
richness: hero_share <n> | hero_width <n 或 n/a> | frame_fill <n / 16> | empty_half <s> | depth_layers <n> | in_shot_motion <n 百分比> | longest_still <s> | light_events <n> | real_material <百分比 或 n/a> (下限數值來自影片類型檔案)
## 節拍(每行一個)
| t in-out | 節拍角色 | 重要性 1-3 | 焦點元素 | 任務 | 動詞 | 緩動 | 持續時間 | 錯開 | 獲得 |
## 接縫(每個邊界一行)
| 剪輯 t | 退出動作(軸線、方向、速度、模糊) | 接縫類型 | 進入動作 | 承載物 | 緩動配對 | 提示 | 原因 |
## 相機視窗
| 從 | 頂點 | 停留結束 | 至 | 目標 | 動作 | 原因 |
6. 檔案
| 需求 | 打開 | 何時 |
|---|---|---|
| 為類型、產業或品牌設定動作語言 | references/motion-language-by-type.md | 每次第一步 |
| 決定是否移動及原因;動詞;因果關係;個性 | references/motion-grammar.md | 規劃每個節拍時 |
| 持續時間、緩動方向、錯開、重疊法則、超調政策、時間錨點 | references/timing-and-easing.md | 為每個節拍計時時 |
| 測量的人類數值與 12 種擬合緩動 | references/measured-motion.md 和 scripts/measured-eases.mjs | 上市、應用程式廣告、UI、炒作;匹配參考動作時 |
| 彈簧公式、阻尼指南、預設系列、具名 cubic-bezier 曲線 | references/springs-and-curves.md 和 scripts/springs.mjs | 任何彈簧或自訂曲線 |
| 停頓時發生什麼;結束停頓;凍結;循環 | references/holds-and-stillness.md | 在任何停頓或結尾之前 |
| 剪輯或轉場的確切構造 | references/cut-catalog.md | 建立接縫時 |
| 哪種轉場、數量、交叉淡出與退出政策、接縫計畫欄位 | references/transition-policy.md | 選擇接縫時 |
| 承載、向量法則、交接合約、容差、主要主角 | references/seams-and-carry.md | 每個邊界 |
| 單一形狀、單一世界與單一演員影片 | references/one-take-films.md | 方向要求連續影片時 |
| 相機原因、支架規則、移動持續時間、晃動、密度限制 | references/camera.md | 任何相機移動 |
| 焦點、主體大小、圖層、佈局、舞台、舞台燈光、視覺豐富度下限(第 7 節) | references/composition-and-staging.md | 構圖每個鏡頭時;在步驟 8 檢查計畫時 |
| 2D vs 2.5D vs 3D、視差、景深、3D 飛行數值 | references/depth-and-3d.md | 深度或 3D 節拍 |
| 幻燈片故障模式、節奏、密度目標、支出規則 | references/anti-slideshow-and-density.md | 審查計畫時 |
| 動畫原則作為工程、物理配方、變形、繪製、循環 | references/physics-and-morphing.md | 物理或變形節拍 |
| 游標、點擊、拖曳、切換、代理狀態、UI 示範配方 | references/cursor-and-ui.md | 任何 UI 示範 |
| 帶有數值表格與意圖選擇器的小動作 | references/atomic-moves.md | 為一個節拍選擇動作時 |
| 46 張動作牌組、拒絕的名稱、機制目錄 | references/move-deck.md | 分配動作調色盤時 |
| 時間編碼的藍圖、鏡頭建構、時間骨架 | references/shot-blueprints.md | 規劃鏡頭序列時 |
| 幀時鐘、模糊語法、何時進行動態模糊、顆粒 | references/motion-blur-and-clock.md | 設定時鐘與模糊時 |
| 一個主要主角、狀態鏈、繼承通道、硬剪輯紀錄、行動的文字、閉合(創始人原創) | references/continuous-journey.md | 商業廣告與產品旅程 |
| 物理決策合約、拋出、吸引、剛性 UI 閉合、按動作階段的聲音(創始人原創) | references/motion-choreography.md | 物理或因果節拍 |
| 幀與文字焦點單位合約、相機必要性測試、相機動詞、2D 錨點公式(創始人原創) | references/semantic-camera.md | 商業廣告中的每個相機決策 |
| 動作合約結構 | assets/motion-contract.example.json | 撰寫動作合約時(數值僅為示意) |
腳本(Windows、macOS、Linux)。最小 Node 和 Python 版本:ice-engines 技能的 references/versions.json 中的 runtimes;Python 套件:scripts/requirements.txt(精確鎖定版本,與 versions.json 同步)。
| 腳本 | 執行環境 | 用途 |
|---|---|---|
node scripts/measured-eases.mjs [ease] [samples] | Node | 列印或匯入 12 種測量緩動 |
node scripts/springs.mjs [w z seconds] | Node | 列印或匯入閉合式彈簧與穩定時間 |
python scripts/validate_motion_contract.py <contract.json> [--project-root <folder>] | Python, 標準函式庫 | 嚴格的因果、時間、揭露、傳承、相機與聲音合約閘門;退出碼 1 列出失敗項目 |
python scripts/audit_web_section_motion.py <project folder> | Python, 標準函式庫 | 拒絕動態網頁區段程式碼模式(退出碼 1) |
python scripts/audit_motion.py --video <mp4> --audio <wav> | Python with numpy and opencv-python-headless | 音訊起始點與視覺變化密度相對於參考資料;診斷工具,非最終判定 |
創始人檔案帶有註記「來自創始人的商業動作設計技能」。