Communitygithub.com

amingshaseminia/motion-design

用於動畫專案的藝術指導與動態設計工藝——創意簡報、分鏡、風格幀、色彩與字型系統、構圖、時間軸與緩動、轉場詞彙、聲音指導、無障礙設計與從右至左(波斯語/阿拉伯語)文字排版。在建立場景前、影片看起來業餘或普通時、選擇色板與字型時、要求『感覺高級/電影感/現代』時,或文字、節奏、層次不夠到位時使用。不限制工具;可與 blender-animation、remotion-motion-graphics 和 manim-animation 搭配使用。

motion-design 是什麼?

這項技能是一種專業的藝術指導與動態設計技能,旨在將抽象形容詞轉化為具體、可操作的視覺決策,幫助開發人員和 AI 代理產出高品質的動畫作品。它提供從創意方向、構圖規則、時間與緩動曲線,到轉場、色彩、字型、聲音、無障礙設計的完整指南,特別涵蓋了波斯語/阿拉伯語的從右至左排版需求。這項技能適用於多種平台,包括 Claude Code、Cursur、Codex 等 AI 代理工具,以及 Blender、Remotion、Manim 等動畫工具。透過遵循其結構化的方法論,使用者可以避免常見的業餘錯誤,確保視覺層次清晰、節奏流暢,並產出專業水準的動畫作品。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aminghaseminia/blender-animation-skill/tree/HEAD/skills/motion-design

在你喜歡的 AI 中提問

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

說明文件

動態設計 — 藝術指導與動態工藝

此技能將形容詞轉化為可觀察的決策。「高級」不是金色漸層;而是克制、間距、受控的對比和經過考慮的時間點。「未來感」不是隨機的霓虹燈;而是連貫的網格、精準的運動和有限的色板。

有關數字、表格和實際範例,請閱讀 references/MOTION-CRAFT.md。

1. 從精簡的創意方向開始

在編寫任何場景程式碼之前,先寫下這七行:

主題:      一句話
觀眾:      觀眾是誰以及他們在哪觀看
訊息:      他們必須記住的一件事
調性:      3 個形容詞,每個都轉化為一個視覺決策
色板:      4–6 個十六進位值及對應角色
字型:      1–2 個家族、粗細、比例
動態:      速度、緩動特徵、轉場詞彙

如果調性形容詞無法轉化為決策,代表方向尚未完成。轉換範例:

形容詞具體決策
高級緩慢緩動、顯示字型寬字距、1 個強調色、深層負空間、柔和主光、無彈跳
充滿活力快速進場(8–12 幀)、6–10% 過衝、拍子切換、高對比、飽和強調色
值得信賴對稱網格、中間色調色板、緩慢揭示、穩定鏡頭、平實語言、無花招
技術性等寬字體強調、標尺線、測量刻度、精確線性運動、冷色中性色

2. 一個系統,然後再處理場景

定義系統並重複使用:

  • 網格: 12 欄,5–8% 外邊距。垂直/社群格式需要更多邊距,因為平台 UI 會遮擋邊緣。
  • 字級: 例如 1080p 下為 96/64/40/28/20 px。切勿為每個場景發明一個尺寸。
  • 間距: 8 px 基本單位。空間比線條或方框更能傳達分組關係。
  • 色彩角色: 背景、表面、主要文字、淺色文字、強調色、語義色。一個強調色,節制使用。
  • 形狀語言: 圓角半徑、筆畫粗細,以及元素是平面、斜面還是有光照。
  • 動態語言: 進場風格、出場風格、轉場詞彙,以及是否包含鏡頭移動。

一個風格幀比十個完成的場景更便宜。先渲染一個代表整個作品的正確幀。

3. 經得起考驗的構圖規則

  • 每拍一個焦點。如果兩個東西同樣亮、同樣大、同樣在動,就沒有層次。
  • 對比是相對的:如果所有東西都發光,就等於什麼都沒發光。
  • 負空間是一個特色。30% 空白的畫面看起來很自信。
  • 對齊某個基準——網格、視覺中心或刻意對角線。接近對齊看起來像錯誤。
  • 在社群格式中,將主體保持在外部 5% 之外。
  • 文字疊加在影像上時,確保正文的亮度差至少約 4.5:1;使用遮罩而不是沉重陰影。
  • 2D 的深度線索:比例、模糊、不透明度、重疊、視差。使用其中一或兩個,不要全部四個。

4. 時間

持續時間傳達重量。以 30 FPS 為起點:

元素進場出場停留
短標題(1–3 字)12–18 幀8–12 幀≥ 24 幀
長標題18–24 幀12 幀≥ 45 幀
正文行12–16 幀8 幀≥ 30 幀
Logo 揭示24–40 幀12 幀≥ 45 幀
圖表30–45 幀10 幀≥ 60 幀
全螢幕轉場10–18 幀——
相機移動(3D)45–90 幀——

規則:

  • 距離或質量越大 → 持續時間越長。
  • 群體一起移動,然後錯開 2–6 幀;不要讓所有東西都錯開相同的量。
  • 在重要的揭示之後保留一個靜止的節拍。
  • 如果觀眾必須閱讀它,它在螢幕上的時間大約要是您認為的兩倍長。

5. 緩動

情況曲線
到達並穩定ease-out(三次或四次方)
離開ease-in
在兩個靜止狀態之間移動ease-in-out
機械式/連續/循環linear
物理彈動spring,阻尼 14–22,剛性 90–180
相機非常柔和的 ease-in-out,長時間

切勿對所有屬性使用相同的緩動。位置、不透明度和旋轉可以共用曲線;比例通常想要稍微緊湊的時間。避免彈跳,除非品牌是俏皮的——它很快就會顯得過時,而且會妨礙可讀性。

6. 轉場

建立一個 3–4 個轉場的詞彙庫並重複使用:

  1. 直接切 — 節奏的預設。最便宜且通常最好。
  2. 交叉淡入淡出 — 6–12 幀,用於柔和的連續性。
  3. 遮罩擦拭 — 定向,用於空間關係。
  4. 縮放穿過 — 推進到一個元素內,用於章節改變。
  5. 匹配剪輯 — 形狀或動態連續性,最令人滿意也最難。

避免:到處都是預設的縮放模糊、星形擦拭,以及與故事行進方向矛盾的轉場。

7. 色彩

  • 從一個主色、一個強調色和中間色開始。只有在第二個強調色承載意義時才添加它。
  • 以最終尺寸檢查對比度,而不是在大螢幕上。
  • 控制飽和度:大面積的高度飽和顏色會使眼睛疲勞。
  • 深色背景需要稍微去飽和的強調色和提升的陰影細節;純黑色加純白色文字會很刺眼。
  • 一致地使用顏色來編碼意義(一種顏色代表「之前」,另一種代表「之後」),而不是裝飾性地使用。
  • 跨工具驗證顏色:瀏覽器(sRGB)、Blender(檢視轉換)和編碼器。顏色暗淡的合成通常表示不匹配的檢視轉換,而不是不好的色板。

8. 字型排版

  • 最多兩個字體家族:一個顯示用,一個文字用(或一個具有多種粗細的家族)。
  • 顯示字型字距:大號無襯線字體使用緊湊(-1% 到 -3%),短的全大寫標籤使用寬鬆(+8% 到 +20%)。
  • 正文行高:1.35–1.6。顯示行高:1.0–1.2。
  • 行長:45–75 個字元。標題可以更短。
  • 避免孤兒行和單字結尾行;必要時重寫文案。
  • 數字:計數器和表格使用表格數字。
  • 切勿拉伸或壓縮字體以適應;更改版面或尺寸。

從右至左(波斯語、阿拉伯語、希伯來語)

  • 在容器層級設定方向,並使用支援形狀變化的字體(例如 Vazirmatn、IBM Plex Sans Arabic、Noto Naskh Arabic)。
  • 在渲染的幀中測試形狀變化、連字、變音符號和標點符號,而不是在程式碼中。
  • 混合內容:將拉丁品牌的品牌名稱/URL 保留在帶有 dir="ltr" 的自己的跨度中,否則雙向演算法會重新排列標點符號。
  • 波斯數字與拉丁數字:為整個作品選擇一個系統。
  • 行高需要比拉丁文字更多的空間才能達到相同的視覺大小。
  • 不要在阿拉伯文字上設定字母間距——它會破壞書寫體的連字。

9. 聲音

  • 在選擇音軌之前決定聲音的角色:節奏設定器、情感基底、資訊(語音)或標點符號(音效)。
  • 分離音軌:語音、音樂、環境音、點狀效果。將音樂音量降低 6–10 dB 以配合語音。
  • 強調視覺事件,而不是剪輯的開始。
  • 淡化每個剪輯;突然的開始或結束會產生雜音。
  • 保留動態餘裕(-1 dBTP),避免削波,檢查手機喇叭的單聲道相容性。
  • 寂靜是一種工具。在揭示之前將音樂靜音一個節拍,比加入一個上升音效更強大。
  • 授權每首曲目並記錄來源。切勿假設「免費下載」意味著允許商業使用。

10. 無障礙設計與平台相容性

  • 任何口語內容都需要字幕;螢幕上的文字也有助於靜音觀看,這是社群平台上的多數情況。
  • 不要只用顏色編碼意義。
  • 避免高於 3 Hz 的閃爍;不要有頻閃。
  • 將重要文字保留在安全區域內,大小要在手機上可讀。
  • 在交付之前,檢查平台當前的時長、長寬比、編碼器和位元率要求。

11. 審查方法

觀看作品三次:

  1. 靜音,以 50% 大小 — 層次結構是否可讀?是否有任何部分被裁切?
  2. 全尺寸,有聲音 — 節奏是否有效?聲音是否與影像衝突?
  3. 逐幀檢查邊界 — 檢查閃爍、間隙、跳動、無法閱讀的幀。

然後問三個問題:

  • 觀眾記住的一件事是什麼?
  • 注意力首先去哪裡,這是預期的嗎?
  • 什麼可以刪除而不失去訊息?

刪除通常是最有價值的修改。

12. 設計階段的交付成果

  • brief.md — 主題、觀眾、訊息、限制、假設。
  • style-guide.md — 帶有角色和十六進位值的色板、字級、間距、動態語言。
  • storyboard.md — 每場景一行/區塊:時間、目的、構圖、文案、動態、轉場、聲音、工具。
  • 1–3 個風格幀 — 視覺目標,在大規模生產前獲得批准。

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

aminghaseminia/blender-animation

Build 3D animations in Blender headlessly with Python (bpy) — scene setup, materials, lighting, camera rigs, keyframe and procedural animation, Geometry Nodes, particles and simulations, EEVEE/Cycles rendering, and MP4/PNG-sequence output. Triggers include "animate in Blender", "blender python", "bpy script", "3D logo animation", "cinematic render", "particle animation", "product turntable", "render an .blend", "blender headless", or any 3D scene, camera move, or motion graphics job that needs real geometry, light, and depth.

aminghaseminia/manim-animation

Produce mathematical, scientific, and technical animations with Manim Community — equations, proofs, graphs, coordinate systems, geometry, algorithms, data structures, and precise diagram transformations. Use when correctness of mathematical relationships is central, for educational explainers, research or conference visuals, and for animated derivations where every element must be exactly placed. Covers installation with uv, scene design, LaTeX/MathTex, camera and 3D scenes, rendering quality presets, and compositing with other tools.

aminghaseminia/motion-studio

End-to-end animation and motion-graphics production from a natural-language brief. Routes work to Blender (3D), Remotion (2D/typography/data), Manim (math/science), motion-design craft, and FFmpeg (encode/composite/validate), then builds, previews, inspects, revises, and delivers an editable project plus final MP4. Use for any request to "make an animation", "create a video", "animate this logo", "render a motion graphic", "vibe-code an animation", or produce a promo, explainer, title sequence, or social clip.

aminghaseminia/remotion-motion-graphics

Create 2D motion graphics as code with Remotion and React — kinetic typography, logo reveals, explainers, animated charts, UI demos, social clips, subtitles, and data-driven or batch-rendered video. Use when the deliverable is primarily layout, text, and 2D graphics rather than real 3D; when a video must be generated from data or a template; or when a Blender 3D pass needs titles, captions, and transitions composited on top. Covers project setup, deterministic frame-based animation, easing, typography, audio, rendering, and licensing.

aminghaseminia/video-composition

Assemble, mix, normalize, and validate finished video from Blender, Remotion, Manim, screen capture, and audio sources using FFmpeg and FFprobe — concatenation, overlays, alpha compositing, subtitle burn-in, loudness, fades, speed ramps, GIF/thumbnail export, and platform-specific encodes. Use when combining scenes, fixing mismatched resolutions or frame rates, adding music/voice-over, burning captions, converting formats, or verifying that a rendered file is actually correct.

相關技能