Communitygithub.com

kohryan/unrealmotion

根据提示词创建无声动态图形解说视频,通过图像生成参考、实际 Three.js 重构、因果运动及确定性 MP4 渲染实现。适用于流程解说、剖面图、重组、产品影片、动态排版和数据可视化;不适用于纯素材剪辑。

unrealmotion 是什么?

UnrealMotion 是一个面向 AI 开发者和技术创作者的高级技能(Skill),旨在将自然语言提示词转化为可播放的 MP4 视频及其可编辑场景源码。它无需外部语言模型、API 密钥或付费视频服务,完全依赖本地环境中的 Three.js 进行 3D 渲染、脚本化运镜和确定性帧输出。该技能提供了完整的管线:从提示词分析、参考图像生成引导 3D 模型构建,到场景编排、预览、质量检查(QA)和最终渲染。它尤其适合制作无声解说视频,如产品拆解、机械原理演示、数据动画等,通过 ImageGen → 真实 Three.js 模型 → 确定性视频 的工作流,确保每一帧都由场景时间决定,无需实时录屏。该技能支持 Claude Code、Cursor、Codex 等主流 AI 编码代理,并附带丰富的参考文档(如艺术指导、运动库、数据集等)以辅助创作。

兼容平台~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 中。使用问题、因果进程、每个节拍的动作/文案、3D 相机和分辨率创作 storyboard.json。在剖切、重组和操作过程中,每个物理对象保留一个网格层次结构;对于连接上下文,使用持久的命名场景根、世界位置和连续的 cameraPath。将每个节拍绑定到其实际参考 ID。不允许使用光栅平面/裁剪图像替代。对于演示,直接创作 scene.mjs。CLI 是一个创作启动器,而非语义提示词解释器;在无关模型上更改标题不等于完成。
  5. 预览、擦洗、运行质量检查,并以原生分辨率检查代表性帧。遵循 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> 将提供的音频轨道填充/修剪到视频长度。除非请求,否则不要添加合成旁白或音乐。预览输出带有播放/暂停和帧擦洗的回环 URL;这不是公开部署。

默认的解说视频基础是 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 中。

相关技能