/Godot4-Cutscener

一个用于Godot引擎的可视化事件编辑器

Primary LanguageGDScriptMIT LicenseMIT

Cutscener

English README

Screenshot

一个Godot的可视化事件编辑器,从Autoload中读取指定脚本中的所有方法以及变量,以创建可视化节点的形式编排运行方法与设置变量的顺序. 推荐用于制作游戏过场行为,也可以辅助用于制作对话.

使用

  • 压缩包解压到res://addons/目录下.
  • 启用插件.
  • 重新载入整个项目.
  • 切换到Cutscener编辑器,点击Setting按钮.
  • 配置要加载的Autoload全局单例脚本.
    • Cutscener会读取MethodBus下选中的全局脚本中的方法, 可以在信号节点中调用.
    • Cutscener会读取StateBus下选中的全局脚本中的变量, 可以在Set与条件节点中调用.

Important

注意: 要读取的脚本必须为Autoload全局脚本 ,且需要在顶部添加@tool注解,否则无法在编辑器中运行.

Screenshot

  • 在Cutscener编辑器中编辑完成后,保存为.crd存档文件

  • 在项目中实例化一个CutscenerRunner

Screenshot

Screenshot

  • cutscener_data : 该过场要执行的.crd存档文件

    • 为空时则会默认执行编辑器中最新保存过的存档
  • cutscener_name : 过场名,默认为"NA"

  • 在Cutscener编辑器界面编辑并保存.crd文件

  • 在脚本中调用CutscenerGlobal中的cutscener_run信号,并把要运行的过场名作为参数

CutscenerGlobal.cutscener_run.emit("过场名")

Note

目前同一个过场在执行结束前无法重复执行与外部中断

  • 当存档文件放在user://而不是res://时,即使游戏正在debug运行,在保存修改过的过场存档文件(.crd)后,依然可以即时看到修改效果,不需要重启游戏debug

节点介绍

StartNode 起点节点

只起作标记运行起点,也可以点击启动运行

Screenshot

SignalNode 信号节点

方法执行节点,自动读取设置中MethodBus下选择的所有Autoload的方法.

  • 下拉选择框选择要运行的方法
  • 自带参数类型提示,第一列用于自定义该参数提示
  • 自动根据一定规则自动将所填的String转换为方法参数所需类型

Screenshot

SetNode Set节点

方法执行节点,自动读取设置中StateBus下选择的所有Autoload的变量.

Screenshot

  • 下拉框选择变量,点击添加参数
  • 根据变量类型,支持多种运算赋值:+=,-=...

ConditionNode 条件节点

多条目判断节点,根据所添加的判断条件输出TRUEFALSE

Screenshot

  • 下拉框选择变量,点击添加参数
  • 支持多种判断条件
  • 支持andor连接

CombineNode 聚合节点

多节点合并为一个聚合节点,可以通过选中一个以上节点后从右键菜单创建,或者在未选中节点时,右键导入.支持将被合并节点中,导出开关打开的参数导出并显示到聚合节点上

Screenshot

Screenshot 创建:

  • 添加一个新的起点节点,将想要合并的节点的起点连接上去
  • 配置选中节点中参数条目的导出开关,打开表示该条目会被导出并显示在聚合节点上
  • 选中新添加的起点节点,和其他1个以上节点,点击右键,选择合并选中节点...
  • 选择聚合节点的存档位置,保存

使用:

  • 修改聚合节点上导出的参数,保存时会修改该参数条目对应的原参数
  • 运行时等同于合并前的原节点
  • 可以重新分解为原节点

目前限制:

  • 聚合节点的存档无法移动,移动会导致链接到此文档的所有聚合节点失效.

Important

目前已改为单一存档文件,新建聚合节点时会创建新的.cnd类型的文件,该类文件作为模板依旧可以导入,但数据不会链接上去,可以任意移动和删除,不会影响导入完毕的.crd存档文件.

  • 仅支持一级聚合,即合并节点中包括聚合节点时,运行可能异常.
  • 聚合节点的存档不能移动,可以打开修改,但删除其中导出过参数的节点,可能会导致链接到自身的聚合节点不可用.
  • 输出不支持分支.

通用菜单

Screenshot

  • 配置等待时间 : await方法运行结束后的等待时间,即该节点执行结束后的等待时间
  • 配置该节点在同层级节点中的运行顺序 : 所有到起点节点相隔节点数相同的节点都会视为同一层级的节点,无论是否在不同的分支上
  • 修改标题名 : 自定义节点名
  • 分解(聚合节点独有) : 将聚合节点解散为原节点,导出的数据以聚合节点为准
  • 显示连接数据(聚合节点独有) : 显示导出的参数在链接的存档文件中的位置

Tips

你可以在文本编辑框中使用{{StateBus包含的变量名}}来指替对应变量值:

Screenshot

当光标位于{{}}之间时,可以按ALT+↑/↓,在左侧显示的可调用的全局变量中快速选择.

Screenshot

LICENSE

Licensed under the MIT license.