导入与导出 .gmacro¶
.gmacro 是宏的自包含交换包。它可以携带时间线、组件、宏内部节点和实际引用资源,但它本身不是内嵌资源管理器中的一种资源类型。
导出适合把一个宏交给其他蓝图或其他用户;保存蓝图则保存当前完整工程状态。两者用途不同。
导出入口¶
在宏时间线工具条点击“导出”,会打开 GhostClickAI 的共享保存浏览器,而不是简单的系统路径框。左侧可导航和搜索目录、创建文件夹,右侧显示“导出内容”。
文件名会自动补全 .gmacro,同名文件需要确认覆盖。录制准备、正式录制或已有文件传输进行中时,导入导出暂不可用。
四个导出选项¶
| 选项 | 默认 | 控制的时间线内容 |
|---|---|---|
| 导出 PC 轨道 | 开启 | 鼠标路径、PC 按键、桌面输入及 PC 控制片段 |
| 导出 ADB 轨道 | 开启 | ADB 触摸、ADB 输入及 ADB 控制片段 |
| 导出图像片段 | 关闭 | 预览轨道中的图像片段 |
| 导出视频片段 | 关闭 | 预览轨道中的视频片段 |
这四项只筛选时间线片段,不是“把整个宏的某类数据粗暴删除”。即使全部关闭,仍能导出一个结构合法的宏包。
以下结构始终保留:
- 宏内部节点、连线、变量和节点组。
- 预览组件及其属性。
- 轨道、分组和显隐状态。
- 保留内容仍然需要的绑定与引用关系。
嵌套片段会递归筛选。子时间线不再包含任何保留内容时,其包装和无用内容定义会被清理;保留下来的嵌套时长会重新计算。
真实资源闭包¶
导出会在完成片段筛选后重新计算资源引用,只打包仍被实际使用的 Image、Video 和 ONNX:
- 未被任何保留内容使用的资源不会进入包。
- 关闭“导出图像片段”只会删除预览图像片段。
- 如果图像仍被变量、图像识别坐标、组件或内部节点使用,它仍会导出。
- 同理,关闭“导出视频片段”不等于允许其他有效引用变成悬空。
因此,.gmacro 可以比完整蓝图小,同时仍保持执行所需资源闭合。派生预览缓存不会作为独立资源打包。
外接 ADB 操作规则会在导出前物化为宏包内部组件,并重写相关绑定。包内不允许继续依赖本机图片、视频、模型路径或父蓝图外部组件。
图像、视频和 .gmacro 的关系
图像和视频是根蓝图资源池中的数据块;.gmacro 只是传输这些数据与宏结构的容器。导入后不会在“内嵌管理”中出现一个名为 .gmacro 的资源。
导出安全性¶
写盘使用临时文件和可恢复替换。覆盖已有文件时,如果写入失败,编辑器会尽量恢复旧文件;自动恢复失败时会告知备份位置。
当前格式为 v1,单个宏包最大 512 MiB。单资源、资源总量和项目数也有安全限制;过大或结构异常的内容会拒绝导出或导入,不会生成部分有效的包。
在宏内导入并替换¶
点击时间线工具条“导入”并选择一个 .gmacro 后,编辑器会先完整读取和校验,再显示“替换当前宏?”确认窗口。
确认替换会整体更新:
- 当前宏时间线和嵌套序列。
- 预览组件与绑定。
- 宏内部节点、连线和变量。
- 该宏引用的内嵌资源。
导入不是边读边改。损坏文件、缺失资源、哈希错误、非法外部路径、不支持节点、过大内容或用户取消都不会改变当前宏。
正式替换是一条完整历史操作,成功后可以撤销。若写入过程中失败,编辑器会恢复替换前的时间线、内部节点和资源状态,不留下“节点已经换了、资源只导入一半”的中间结果。
资源怎样进入根蓝图¶
包内 Image、Video 和 ONNX 会合并到根蓝图的统一资源池:
- 内容相同的资源尽量复用。
- ID 冲突时会稳定重映射,并同步修正宏内引用。
- 原宏不再引用的资源可能变成未使用资源,但不会粗暴清空整张蓝图的资源池。
导入完成后,可在内嵌资源管理器查看每项资源的使用位置。
从蓝图画布导入为新宏¶
在根蓝图画布拖入 .gmacro,行为不同于宏内“导入”:
- 它会创建新的宏节点,不替换已经存在的宏。
- 可一次拖入纯
.gmacro批次,最多 32 个。 - 同一批中混入图片或 SVG 会整批拒绝。
- 任意一个包读取失败时,本批不会创建部分节点。
需要拆分或复用多个宏时,使用蓝图画布拖入;需要让当前宏完全变成包内内容时,使用宏编辑器工具条“导入”。
推荐导出组合¶
| 用途 | 建议选项 |
|---|---|
| 只交换可执行自动化数据 | PC 和 ADB 开启,图像与视频片段关闭 |
| 需要保留调试截图 | 在上项基础上开启图像片段 |
| 需要完整复现录屏预览 | 四项全部开启 |
| 只交换组件和内部节点模板 | 四项全部关闭,并确认所需识别资源仍由结构引用 |
导出前最好先保存蓝图并检查内嵌资源使用位置,但 .gmacro 会从当前内存状态生成,不要求先落盘才能包含刚完成的宏修改。
常见问题¶
关闭图像片段后,为什么包里仍有 PNG¶
某个保留的图像变量、识别坐标、组件或内部节点仍在引用它。导出选项控制的是图像片段,不会破坏其他真实引用。
导入后原宏资源为什么没有全部消失¶
资源池属于根蓝图。导入只替换当前宏的引用和内容;其他节点、节点组或宏仍可能使用同一资源。
为什么导入先校验很久,确认框还没出现¶
编辑器需要先验证结构、资源完整性、引用闭包和安全限额。只有能够完整读取的包才允许进入替换确认。
为什么导入按钮不可用¶
确认当前不在录制准备、正式录制、结束提交或另一项 .gmacro 文件操作中。
继续阅读¶
- 管理蓝图资源:Debug、保存与内嵌资源
- 编辑转换后的片段:转换、循环与控制
- 复制或拆分宏内容:选择、编辑与快捷键