Community程式設計與開發github.com

geekfujiwara/fade-in-rise-animation

為選取的 PowerPoint 內容加入淡入與向上移入的自動動畫效果,並依位置產生交錯延遲,保持標題固定。適用於逐步揭示或細緻動畫。

fade-in-rise-animation 是什麼?

這個技能能自動為 PowerPoint 投影片上的選取內容,加入柔和的自動淡入(fade-in)與向上移入(rise)動畫,讓簡報顯得更加流暢專業。動畫觸發方式為投影片進入時自動播放,無需點擊。淡入效果約 250 毫秒,向上移入約 500 毫秒,兩者同時開始。所有可動畫化的物件會根據其位置,分別獲得 0、100、200、300、400、500、600 毫秒共七種延遲,營造交錯出現的層次感。標題、背景、頁尾等裝飾元素則保持不動,不被加入動畫。此技能適用於 macOS 和 Windows 版 PowerPoint,支援以工具列動畫功能或底層 OOXML 編輯兩種方式執行。若無法直接套用,會說明限制並提供手動設定建議。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/geekfujiwara/powerpoint-agent-skills/tree/HEAD/skills/fade-in-rise-animation

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

淡入向上移入動畫

預期效果

  • 投影片進入時自動開始,無需點擊。
  • 淡入約 250 毫秒,向上移入約 500 毫秒,兩者同時啟動。
  • 初始垂直偏移:最終位置下方約投影片高度的 3.889%。最終位置與版面配置不得變更。
  • 可動畫物件之間依七個延遲等級交錯:0、100、200、300、400、500、600 毫秒。
  • 標題、其他版面配置佔位符、背景、頁尾與裝飾元素保持固定。從版面配置與內容辨別標題角色,而非名稱「Title」。

執行步驟

  1. 確認目標投影片編號與方向:預設由上至下,流程/欄位時由左至右。除非明確要求,否則不為封面/分隔投影片加入動畫。在適當情況下提供僅淡入或無動畫選項。
  2. 檢查現有動畫、觸發、建構與媒體時序。保留它們。若所需效果需要取代它們,應說明將遺失哪些內容,並在獲得明確批准後才取代這些投影片上的時序。
  3. 在可用時使用支援的 PowerPoint 動畫工具。不要假設存在本機 Python 執行環境、投影片 XML 存取或特定內部工具。若功能不受支援,應說明限制並提供手動設定,而非假裝已套用效果。
  4. 僅選取實質內容物件。將有意義的群組保留為一個物件,除非使用者要求個別揭示。避免變更圖表建構、SmartArt、媒體或互動元素,除非獲得支援與批准。
  5. 根據每個可動畫物件的頂端或左側座標計算延遲: round((position - min)/(max - min) * 6) * 100 ms。 若所有位置相等,則延遲設為零。以閱讀順序處理平手情況。將同一卡片內的可動畫物件視為一個時序單位,使用該卡片的頂端或左側座標,賦予相同延遲。根據位置交錯卡片,使其動畫重疊。
  6. 為每個物件同時套用兩種效果,並使用計算出的延遲。保留最終幾何形狀、可編輯性、閱讀順序與現有轉場。若要求更快效果,可調整持續時間與間距,例如 150 毫秒淡入、300 毫秒向上移入,以及延遲層級間隔 120 毫秒。
  7. 以投影片放映模式播放編輯後的投影片。檢查自動開始、同時效果、時序、固定標題、無意外點擊以及最終放置位置。靜態預覽無法驗證動畫播放。若無法播放,應回報效果未經驗證,而非完全測試。

底層編輯邊界

若明確提供且需要進行 OOXML 編輯,應在副本上作業,保留無關的時序與關係,使用有效的唯一時序 ID 與目標形狀 ID,並在開啟前驗證套件。不要盲目取代 p:timing 或重複使用硬編碼的投影片編號。僅憑預設 ID 無法證明正確播放。

當 OOXML 編輯符合此邊界時,已建立的組合為:

  • 淡入:presetID="10" 搭配 animEffect filter="fade"。
  • 向上移入:獨立的 Motion 路徑,使用 presetID="42"、presetClass="path"、 decel="100000" 與 animMotion origin="layout",並使用 path="M 0 0.03889 L 0 0 " 與 rCtr y="-1944"。
  • 對兩種效果使用相同計算延遲的 withEffect。將第一個效果放在 onBegin 容器中,延遲設為零,使其自動啟動。
  • 對於包含文字的形狀,淡入使用 grpId="0",Motion 使用 grpId="1"。在 bldLst 中加入對應項目: <p:bldP spid=".." grpId="0" animBg="1"/> 與 <p:bldP spid=".." grpId="1" animBg="1"/>,使用實際形狀 ID。 圖片與線條不需要 bldP 項目。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能