SuperAPI AI 工具集

davinci-resolve-fusion

设计与创作

查看项目

更新于 10-16 02:23

技能介绍

用途

该技能面向 DaVinci Resolve 与 Fusion 的脚本编写和自动化,主要帮助用户:

  • 编写 DaVinci Resolve 自动化脚本(Lua/Python),覆盖项目、时间线、媒体池、渲染等操作。
  • 构建或编辑 Fusion 合成、宏(.setting 文件)与动画。
  • 创建可复用的 Fusion 模板,如转场、生成器、标题、效果。

主要能力与资料结构

技能内置以下内容:

  • references/resolve-api.txt:官方 Resolve 脚本 README.txt 的纯文本快照,是 Resolve API 的权威来源。若本机安装了 Resolve,位于 …/Blackmagic Design/DaVinci Resolve/Developer/Scripting/README.txt 的实时文件为最新版本,优先于快照。可用 scripts/update-resolve-api.sh(macOS/Linux)或 scripts/update-resolve-api.bat(Windows)在 Resolve 更新后重新同步。
  • references/animation.md:Fusion 动画,包括关键帧、手柄、缓动、连接属性。
  • references/macro-authoring.md:构建 .setting 宏、暴露/隐藏控件。
  • references/fusion-templates.md:将转场、生成器、标题、效果制作为宏。
  • references/fusion-manual/:Fusion 8 脚本手册,含 00-index.md 索引、01-introduction.md 至 06-class-hierarchy.md,以及 classes/<ClassName>.md(46 个类各一个文件)。该手册由 PDF 转换而来,是较旧的快照,可能过时或不准确;当与 Resolve API 文档或实际可运行代码冲突时,以后两者为准。
  • scripts/:run-script.sh / .bat(通过 fuscript 运行脚本,仅 Studio 版)、update-resolve-api.sh / .bat(重新同步 resolve-api.txt)、split-fusion-manual.py(从转换后的手册 PDF 重新生成 fusion-manual/)。

使用方式

编写 Resolve 自动化脚本

从 references/resolve-api.txt 开始。可参考 DaVinci Resolve 自带的示例脚本,它们未打包进本技能,需从本地安装目录的 Scripting/Examples 子文件夹读取:

  • macOS:/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Examples
  • Windows:%PROGRAMDATA%\Blackmagic Design\DaVinci Resolve\Support\Developer\Scripting\Examples
  • Linux:/opt/resolve/Developer/Scripting/Examples(或 /home/resolve/...)

更可靠的 Resolve API 实际用法参考是 AutoSubs 项目中的 AutoSubs Lua 服务器 autosubs_core.lua,它展示了生产环境中用于时间线、媒体池、渲染及驱动 Fusion 宏的 API 用法。

运行脚本

有两种方式,取决于 Resolve 版本:

  • 菜单方式(免费版和 Studio 版均可用):将 .lua/.py 文件放入 Resolve 的 Fusion Scripts 文件夹,然后在 Resolve 中打开 Workspace → Scripts(顶部菜单)选择。放入 Utility 子文件夹可在所有页面列出。Scripts 文件夹路径:
    • macOS:~/Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Scripts(或 /Library/... 供所有用户)
    • Windows:%APPDATA%\Roaming\Blackmagic Design\DaVinci Resolve\Support\Fusion\Scripts(或 %PROGRAMDATA%\... 供所有用户)
    • Linux:$HOME/.local/share/DaVinciResolve/Fusion/Scripts(或 /opt/resolve/Fusion/Scripts)
  • 外部运行器(仅 DaVinci Resolve Studio):scripts/run-script.sh <file.lua>(macOS/Linux)或 scripts/run-script.bat(Windows)直接调用 Resolve 的 fuscript,可从任意位置运行脚本,无需经过菜单。对 AI 智能体通常更方便,但外部/fuscript 调用脚本 API 需要 Resolve Studio,免费版不支持。菜单方式两者都支持,是可靠的备选。

构建或编辑 Fusion 宏(.setting)

阅读 references/macro-authoring.md,了解两层控制模型(UserControls 与已发布的 InstanceInputs)及常见陷阱。工具/类细节可打开 references/fusion-manual/00-index.md 跳转到具体类文件。

动画

阅读 references/animation.md。最大的陷阱:SetKeyFrames() 的手柄坐标是相对的,但 .setting 文件存储的是绝对坐标。

制作可复用模板

阅读 references/fusion-templates.md,用于 Edit 和 Cut 页面的转场/生成器/标题/效果。

高效浏览 Fusion 手册

手册较大,按主题和类拆分为单文件。不要整体阅读。打开 references/fusion-manual/00-index.md,根据一行摘要找到所需章节或类,只打开该文件。按关键词查找时,在 references/fusion-manual/ 中 grep,而不是滚动。

如需重新生成拆分(例如从更新版手册),可用 Mistral Document AI(https://console.mistral.ai/build/document-ai/ocr-playground)将 Blackmagic 的 Fusion 脚本 PDF 免费转换为 Markdown,然后运行 python3 scripts/split-fusion-manual.py <converted.md>。

提示

  • Resolve/Fusion 同时支持 Lua 和 Python,两者对象模型相同,见 fusion-manual/02-scripting-languages.md。
  • 用 tool.Input = modifier.Result 将输入连接到修改器;用 tool.Input = nil 断开,再用 tool:SetInput(...) 设置静态值。
  • 更改宏的已发布控件后,重新加载合成或拖入新的节点实例——Inspector 布局按实例缓存。
  • 编辑 .setting 文件时,Fusion Setting Highlighter VS Code 扩展可提供正确高亮(含内嵌 Lua)。安装命令见 references/macro-authoring.md,或访问 https://github.com/tmoroney/fusion-setting-highlighter。

适用场景

  • 需要批量或自动化处理 Resolve 项目、时间线、媒体池、渲染任务。
  • 需要创建或修改 Fusion 宏、模板、动画效果。
  • 需要查阅 Resolve 脚本 API 或 Fusion 类细节。

限制

  • 外部/fuscript 运行脚本仅支持 DaVinci Resolve Studio,免费版只能用菜单方式。
  • Fusion 8 脚本手册为较旧快照,可能过时或不准确,冲突时以 Resolve API 文档和实际可运行代码为准。
  • 示例脚本未打包,需从本地安装目录读取。
  • 资料未提供具体收费、价格、平台兼容性细节或效果保证。