Communitygithub.com

kohryan/unrealmotion

從提示生成無聲動態圖形解說影片,透過 ImageGen 參考、實際 Three.js 重建、因果運動與確定性 MP4 渲染。適用於流程解說、剖面圖、重組、產品影片、動態排版與資料視覺化;不適用於純素材剪輯。

unrealmotion 是什麼?

UnrealMotion 是一個 AI 代理技能,能將使用者提示轉化為可播放的 MP4 影片與場景原始碼,無需額外的語言模型、API 金鑰或付費影片服務。它基於 Three.js(而非 Unreal Engine),從推論提示意圖開始,引導代理依序使用 ImageGen 生成影像參考、重建實際的 3D 模型、編寫因果運動腳本,最後進行確定性渲染與編碼。此技能支援解說片(預設 60 秒、1080×1920、30fps)與展示片(12 秒、1920×1080、60fps)兩種模式,並包含 4,146 筆的 Hugging Face 資料集目錄與 NVIDIA 的 2,677 筆 SimReady 元數據,用於檢索結構化參考與資產來源。輸出必須是基於時間的確定性場景(含 `createScene(config) → {update, draw, inspect}` 介面),並通過本地 QA 檢查與 `review.json` 紀錄,最後交付影片與可編輯專案。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kohryan/unrealmotion-skill/tree/HEAD

在你喜歡的 AI 中提問

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

說明文件

unrealmotion 是做什麼的?

根據使用者的提示,產出可播放的 MP4 與場景原始碼。活躍的編碼代理是創意引擎;隨附的腳本負責檢索參考、提供場景、擷取影格與編碼影片。無需單獨的語言模型、API 金鑰或付費影片服務。這是 Three.js,不是 Unreal Engine。

將 <skill> 解析為包含此檔案的目錄;在該目錄中執行套件命令。每次製作都使用新的 <project> 目錄,並保留先前的工作。若缺少相依性:npm ci 與 npx playwright install chromium。執行 node <skill>/scripts/unrealmotion.mjs doctor 檢查。需要 Node 22+、Python 3.10+、FFmpeg 與 ffprobe;僅在需要擷取完整資料集程式碼時才需要 Python 套件。

從提示到影片

  1. 從請求中推論主題、動作、預期訊息、語言、時長、格式與真實度。對於解說片,請閱讀 imagegen-threejs.md 與 explainers.md。使用 ImageGen → 實際 Three.js 模型 → 無聲影片,從 --mode explainer 開始:預設 60 秒、1080×1920、30 fps。除非使用者明確要求,否則保持既定的簡約粉彩剖面風格。提示決定主題、模型、故事與運動配方;內建示範並非預設內容。短展示保留 12 秒、1920×1080、60 fps。尊重要求的格式與資產。在合理假設下進行;無需範本或審核問卷。
  2. 閱讀 art-direction.md 與 motion-library.md。對於新的解說片,閱讀 dynamic-story.md:閱讀 continuous-camera.md 並使用一個相連的世界,搭配實際連續的 3D 攝影機路線、平穩易讀的節奏與 2–4 個一致的 ImageGen 參考,用於不同的解說情境。閱讀 text-motion.md 以了解動態文案,閱讀 data-motion.md 以在數量有助於解說時使用。選擇場景基礎與運動設定檔,然後撰寫精簡的 plan.json:定義身份的幾何形狀、材質調色盤、鏡頭時間點、主體動作、攝影機軌跡、轉場、本地資產與來源。形容詞如「逼真」需要具體證據:比例、表面反應、接觸、一致光線與運動。
  3. 搜尋隨附的 4,146 筆 HF 目錄,使用英文的主題/材質/機構術語。閱讀 dataset.md 以在結構細節有幫助時擷取 1–3 個相關的程式碼範例。檢查實際的 HTML/JS 建構,而不僅是標題。在 plan.json 中引用場景 ID。不要複製推理軌跡。資料集是參考語料庫,而非經過訓練或微調的模型。 對於工業/物件資產(儲存空間有限),閱讀 simready-imagegen.md:搜尋 2,677 筆 NVIDIA 元數據目錄,僅擷取相關的預算內縮圖/授權。這用於提供 ImageGen 外觀參考與原始網格重建;切勿下載整個 USD/紋理語料庫。對於拆解/重組,也請閱讀 reassembly.md。
  4. 建立專案。對於解說片,生成並檢查特定提示的 ImageGen 參考組合,在 reconstruction.json 中指定穩定的命名零件,並在 model.mjs 中建構實際的 Three.js 體積。將確切的提示/來源儲存在 asset-plan.json 中。撰寫 storyboard.json,包含問題、因果進展、每個節拍的動作/文案、3D 攝影機與解析度。在剖面圖、重組與運作過程中,為每個物理物件保留一個網格階層;對於相連的情境,使用持久命名的場景根節點,搭配世界定位與連續的 cameraPath。將每個節拍綁定到其實際的參考 ID。不允許使用光柵平面/裁切影像替代。對於展示片,直接撰寫 scene.mjs。CLI 是創作起點,而非語義提示解譯器;標題變更但模型無關不算完成。
  5. 預覽、撥動、執行 QA,並以原始解析度檢查代表性影格。遵循 quality.md:檢查保真度、力學/解剖、材質、構圖、文案、轉場以及後半段中有意義的運動。修正失敗並重複受影響的檢查。紀錄真實的 review.json,並連結到原始碼雜湊值。
  6. 使用 --final 渲染,驗證元數據,並交付 MP4、可編輯的專案以及簡潔的驗證說明。要求完成影片即授權本地匯出。若使用者只要求預覽,則傳送預覽。不要以原始 HTML 或聯絡表取代要求的影片。

本地指令

node <skill>/scripts/unrealmotion.mjs templates
node <skill>/scripts/unrealmotion.mjs create <project> --prompt "Film kamera titanium, lensa merakit presisi" --template optical-studio --motion precision-assembly
# 為任務說明書撰寫 project/scene.mjs、project/project.json 與 project/plan.json。
node <skill>/scripts/unrealmotion.mjs preview <project>
node <skill>/scripts/unrealmotion.mjs qa <project>
# 檢查 output/qa/contact-sheet.png 與原始解析度的影格 PNG,然後撰寫 review.json。
node <skill>/scripts/unrealmotion.mjs render <project> --final
node <skill>/scripts/unrealmotion.mjs probe <project>/output/video.mp4

--width、--height、--duration、--fps、--supersample 是建立選項。新的解說片使用版本 2 故事,搭配 --pace calm --assets multi;當任務說明書需要時,選擇 --pace dynamic 或 --assets single。現有的版本 1 專案仍受支援。使用 --output <new.mp4> 保留匯出;--force 取代明確選擇的輸出。可選的 --audio <local.wav> 會將提供的音軌填充/修剪至影片長度。除非要求,否則不要加入合成的旁白或音樂。預覽會印出一個帶有播放/暫停與影格撥動功能的迴圈網址;這不是公開部署。

預設的解說片基礎是 imagegen-explainer:特定提示的參考 → Three.js 模型 → 故事 → 影片。water-system-explainer 是較早的 SVG 運動研究。展示片基礎為 optical-studio、architectural-light、kinetic-editorial、pelagic-bloom 與 mechanical-reassembly。展示片攝影機設定檔:cinematic-orbit、precision-assembly、macro-dolly、continuous-flow、editorial-spring。解說片選擇跟隨流程、剖面操作、重組、閾值/回應或比較運動,搭配自訂的攝影機路徑。配方不會改變既定的風格。請參閱 motion-library.md。

不可妥協的製作屬性

  • 每個可見狀態都源自要求的影格/時間,包括著色器、粒子、骨架姿勢、材質變化與文案。保留 createScene(config) → {update(seconds, normalizedTime), draw(), inspect()};請參閱 runtime.md。最終交付時不允許使用累積旋轉、物理步進、更新期間的隨機取樣或即時螢幕錄製。
  • 保留本地資產、鎖定套件版本、種子化場景生成、單一色彩管線、一致的物理比例與穩定的物件身份。渲染器會封鎖外部請求。在就緒前載入模型、紋理與字型;缺少資產即為失敗。
  • 建模實際的體積與附件。使用倒角、一致的零件、正確的樞軸、合理的粗糙度/金屬度、柔和的接觸陰影與受控的反射。仔細渲染透明表面。一堆基本幾何體、棍狀解剖、漂浮的零件、斷裂的骨架或一個旋轉的通用物件不能滿足詳細的任務說明書。
  • 對於寫實的人類、動物、品牌物件或肖像關鍵場景,在程序化幾何無法滿足任務說明書時,使用適當的授權/使用者提供的模型、紋理與已綁定資產。記錄來源/授權。在整個動作過程中檢查附件、關節、輪廓、接觸與遮蔽。不要悄悄地以簡單的幾何角色取代寫實。清楚說明任何材質保真度的限制。
  • 主體動作必須承載故事:機構運作、物質流動、零件組裝、結構展開或資訊轉換。僅有攝影機環繞與飄散粒子是不夠的。避免剛性等速變換;在適當的情況下使用加速度、跟隨動作、交錯,以及速度連續的攝影機路徑。
  • 解說片必須透過完整的視覺序列回答其問題。較長的時長、額外的字幕與展示片捲軸無法取代因果關係、可讀的解說、適當的插圖/模型以及連貫的場景交接。尊重無聲要求;不要加入音訊設定。
  • 符合參考的複雜度與風格。對於此工作流程,偏好簡單連貫的幾何、粉彩表面與清晰的剖面圖;不要發明新的美術方向或加入裝飾細節。ImageGen 引導外觀;它不會還原隱藏的 CAD、精確尺寸或 NVIDIA 模擬元數據。
  • 自動化 QA 檢查技術屬性。它不認證美感、照片寫實度、準確的解剖或物理正確性。僅在檢查過證據後,才標記視覺檢查為通過。報告實際測試的內容。

可選的現有引擎

預設使用隨附的 Three.js 渲染器。對於使用者現有的 Remotion 或 HyperFrames 專案,請閱讀 engine-interop.md 並保留其原生的影格/搜尋合約。它們的執行環境是可選的、經獨立授權,且僅僅提及不會被捆綁或測試。此技能的來源研究、確切修訂版與授權區別,請參閱 source-study.md。

相關技能