Skip to content

中间节点

中间节点通常用于蓝图中的逻辑处理,数值计算等操作,处理数据逻辑的输入,同时输出数据或逻辑

计算

将两个数值相加,输出结果。

输入:

  • A:第一个数值
  • B:第二个数值

输出:

  • A + B:两个数值的和

将两个数值相减,输出结果。

输入:

  • A:被减数
  • B:减数

输出:

  • A - B:两个数值的差

将两个数值相乘,输出结果。

输入:

  • A:第一个数值
  • B:第二个数值

输出:

  • A x B:两个数值的积

将两个数值相除,输出结果。

输入:

  • A:被除数
  • B:除数

输出:

  • A ÷ B:两个数值的商

长度

计算向量的长度(模长),基于勾股定理计算。

输入:

  • x:x坐标
  • y:y坐标

输出:

  • 长度:向量(x, y)的长度,计算公式为 √(x² + y²)

转换

取整数

将浮点数转换为整数,支持三种取整方式。

输入:

  • 向下取整:输入数值,使用Math.floor向下取整
  • 向上取整:输入数值,使用Math.ceil向上取整
  • 四舍五入:输入数值,使用Math.round四舍五入

输出:

  • 输出:取整后的结果

说明: 节点会优先使用第一个有值的输入,如果第一个输入有值则使用向下取整,否则检查第二个输入,以此类推。

平方根

计算数值的平方根。

输入:

  • 输入:需要开平方的数值

输出:

  • 开平方:输入值的平方根

绝对值

计算数值的绝对值。

输入:

  • 输入:需要计算绝对值的数值

输出:

  • 绝对值:输入值的绝对值(始终为正数或0)

正负反转

将数值的正负号反转。

输入:

  • 输入:需要反转的数值

输出:

  • 输出:输入值乘以-1的结果

角度

角度差

计算两个角度或向量之间的角度差。

输入:

  • 角度A:第一个角度或向量
  • 角度B:第二个角度或向量

输出:

  • 输出:两个角度之间的差值(0-180度之间)

属性:

  • 输入的类型:可选择"角度"或"向量"
    • 角度模式:直接比较两个角度值,返回较小的角度差
    • 向量模式:输入为包含x和y属性的对象,计算两个向量之间的夹角

将位置转换为角度

根据x、y坐标计算对应的角度值。

输入:

  • x坐标:x轴坐标
  • y坐标:y轴坐标

输出:

  • 角度:从原点指向(x, y)的角度值(0-360度)

说明: 使用atan2函数计算角度,返回角度范围在-180到180度之间。

将角度转换为位置

根据角度和斜边长计算对应的x、y坐标。

输入:

  • 角度:角度值(度)
  • 斜边长:从原点到目标点的距离

输出:

  • x长:x轴方向的长度
  • y长:y轴方向的长度

说明: 使用三角函数cos和sin计算坐标值。

比较

等于

判断两个数值是否相等。

输入:

  • A:第一个数值
  • B:第二个数值

输出:

  • A == B?:如果A等于B输出1,否则输出0

小于

判断第一个数值是否小于第二个数值。

输入:

  • A:第一个数值
  • B:第二个数值

输出:

  • A < B?:如果A小于B输出1,否则输出0

大于

判断第一个数值是否大于第二个数值。

输入:

  • A:第一个数值
  • B:第二个数值

输出:

  • A > B?:如果A大于B输出1,否则输出0

范围内

判断数值B是否在A和C的范围内。

输入:

  • A:最小值(可通过属性设置)
  • B:要判断的数值
  • C:最大值(可通过属性设置)

输出:

  • 结果:如果B在范围内输出1,否则输出0

属性:

  • 最小值A:范围的最小值
  • 最大值C:范围的最大值
  • A和B比较:选择"<"或"<="
  • B和C比较:选择"<"或"<="

说明: 节点标题会根据比较符号动态显示,例如"A<B<=C"。

逻辑

全部正确

逻辑与运算,所有输入都为真(非0且非undefined)时输出1。

输入:

  • A:第一个输入值
  • B:第二个输入值

输出:

  • 结果:只有当A和B都为真时输出1,否则输出0

说明: 如果任意输入为0或undefined,输出为0。

任意一个正确

逻辑或运算,任意一个输入为真时输出1。

输入:

  • A:第一个输入值
  • B:第二个输入值
  • C:第三个输入值(可选)

输出:

  • 结果:如果A、B、C中任意一个为真(非0且非undefined)时输出1,否则输出0

全部触发

事件逻辑与,所有输入事件都触发后才输出事件。

输入:

  • 触发_0:第一个触发事件
  • 触发_1:第二个触发事件
  • ...(可动态添加更多输入)

输出:

  • 触发:当所有输入事件都触发后,输出触发事件

属性:

  • 触发后重置:如果开启,触发后自动重置状态,可以再次触发

说明: 节点会记录每个输入是否已触发,当所有输入都触发后才会输出。

任意触发

事件逻辑或,任意一个输入事件触发时立即输出事件。

输入:

  • 触发_0:第一个触发事件
  • 触发_1:第二个触发事件
  • ...(可动态添加更多输入)

输出:

  • 触发:任意输入事件触发时,立即输出触发事件

说明: 节点会自动检测连接的节点,动态添加输入接口。

反转结果

逻辑非运算,将输入的真假值反转。

输入:

  • A:输入值

输出:

  • 结果:如果A为真(非0)输出0,如果A为假(0或undefined)输出1

变化

随机整数

生成随机整数。

输入:

  • 随机范围:随机数的最大值(可选,默认为10000000)

输出:

  • 结果:生成的随机整数(0到输入值-1之间)

属性:

  • 模式:选择"仅一次"或"每次随机"
    • 仅一次:节点首次执行时生成随机数,之后保持不变
    • 每次随机:每次执行都生成新的随机数

延迟触发

延迟指定时间后触发事件。

输入:

  • 开始:触发延迟的输入事件
  • time_in_s:延迟时间(秒,可通过属性设置)

输出:

  • 结束时:延迟时间到达后触发的输出事件

属性:

  • 秒:延迟的秒数(支持小数)

说明: 如果延迟时间为0,表示等待1帧后立即触发。可以同时处理多个延迟任务。

间隔触发

每隔指定时间间隔触发一次事件。

输入:

  • interval:间隔时间(毫秒,可通过属性设置)

输出:

  • 触发:每隔指定时间触发一次

属性:

  • 毫秒:间隔的毫秒数

说明: 节点启动后会自动开始计时,每隔指定时间触发一次。节点标题会显示当前的间隔时间。

计数

计数器,可以增加、减少或重置数值。

输入:

  • 开始值:计数器的初始值(可通过属性设置)
  • 增加:触发增加计数的事件
  • 减少:触发减少计数的事件
  • 重置:触发重置计数的事件

输出:

  • 数值:当前的计数值
  • 变化:计数值变化时触发的事件

属性:

  • 开始值:计数器的初始值
  • 模式:选择计数模式
    • 无限制:可以无限增加或减少
    • 范围限制:限制在最小值和最大值之间
    • 循环:超过最大值时回到最小值
    • 来回:在最小值和最大值之间来回变化
  • 最小值:计数的最小值(模式为"无限制"时禁用)
  • 最大值:计数的最大值(模式为"无限制"时禁用)
  • 步进模式:选择"乘以时间"或"不乘以时间"
    • 乘以时间:步进值会根据时间变化,适合连续计数
    • 不乘以时间:每次触发固定增加或减少步进值
  • 步进数值:每次增加或减少的数值

说明: 在"来回"模式下,计数器到达边界时会自动改变方向。

标记状态

用于标记和存储一个状态值,可以在不同节点间共享。

输入:

  • 值:要设置的状态值
  • 修改:触发修改状态的事件

输出:

  • 输出:当前的状态值

属性:

  • 状态名称:自定义状态的名称(模式为"自定义"时使用)
  • 初始值:状态的初始值
  • 状态权限:选择状态的存储范围
    • 仅当前分镜:只在当前蓝图内有效
    • 所有分镜:在所有分镜间共享
    • Window:全局有效
  • 模式:选择预定义状态或自定义状态
    • 自定义:使用自定义状态名称
    • 动画是否播放中、是否不可交互、游戏是否开始等:预定义的状态
  • 初始化时将自定义状态值赋值:开启后,启动时自动将初始值赋给状态

说明: 节点标题会显示当前的状态名称。通过"修改"事件可以更新状态值。

数据结构

遍历对象或数组,每次循环输出一个键值对。

输入:

  • 挂载:要遍历的对象或数组

输出:

  • key:当前项的键(对象)或索引(数组)
  • value:当前项的值
  • 触发:每次循环时触发的事件

说明:

  • 如果输入是数组,会遍历每个元素,key为索引
  • 如果输入是对象,会遍历每个属性,key为属性名
  • 每次循环都会触发一次输出事件

对象取值

从对象中获取指定属性的值。

输入:

  • obj:要取值的对象

输出:

  • property:指定属性的值

属性:

  • 输入key:要获取的属性名称

说明: 节点标题在折叠状态下会显示为"获取.[属性名]"。

数组取值

从数组或字符串中获取指定索引的值。

输入:

  • array:要取值的数组、表格或字符串
  • index:索引值(可通过属性设置)

输出:

  • value:指定索引的值

属性:

  • index:索引值(从0开始)

说明: 节点标题在折叠状态下会显示为"获取.[索引]"。如果索引为小数,会自动向下取整。

工具

无线传送发射

向所有监听该事件的节点发送数据和事件,实现无线连接。

输入:

  • 附带值:要发送的数据
  • 发送:触发发送的事件

属性:

  • 发送事件:事件的名称标识

说明: 节点会将附带值发送给所有监听相同事件名称的"无线传送接收"节点。节点标题在折叠状态下会显示为"发送事件.[事件名]"。

无线传送接收

接收来自"无线传送发射"节点发送的数据和事件。

输出:

  • 接收值:接收到的数据
  • 接收:接收到数据时触发的事件

属性:

  • 接收事件:要监听的事件名称(需与发射节点的事件名称一致)

说明: 节点会监听指定名称的事件,当有对应的发射节点发送数据时,会输出接收到的值和触发事件。节点标题在折叠状态下会显示为"接收事件.[事件名]"。

输出逻辑线

根据输入值选择触发不同的输出接口。

输入:

  • 输入值:用于选择输出接口的数值
  • 触发:触发选择的事件

输出:

  • output_0:当输入值为0时触发
  • output_1:当输入值为1时触发
  • ...(可动态添加更多输出)

说明: 输入值会被转换为整数,然后触发对应索引的输出接口。如果输入值超出输出接口数量,则不会触发任何输出。

动态取值

动态获取引用节点的属性值。

输入:

  • 引用节点:要获取属性的节点(类型为lgraphNode)

输出:

  • 动态输出:根据引用节点的属性自动生成输出接口

说明: 节点会自动检测引用节点的所有属性,为每个属性创建一个输出接口。当引用节点改变时,输出接口会自动更新。

动态赋值

动态设置引用节点的属性值。

输入:

  • 引用节点:要设置属性的节点(类型为lgraphNode)
  • 触发赋值:触发赋值的事件
  • 动态输入:根据引用节点的属性自动生成输入接口

说明: 节点会自动检测引用节点的所有属性,为每个属性创建一个输入接口。触发赋值时,会将所有输入的值赋给引用节点的对应属性。

js文本

直接执行JavaScript代码片段。

输入:

  • 输入参数:代码中可以使用的输入值(变量名为valueA)

输出:

  • 输出结果:代码执行后的输出值(变量名为valueB)

属性:

  • 执行代码片段:要执行的JavaScript代码

说明:

  • 代码中可以使用变量valueA作为输入值
  • 代码执行后,变量valueB的值会作为输出
  • 代码执行错误会在控制台显示警告,不会中断程序运行

蓝图

分支蓝图

用于创建子蓝图,实现逻辑的模块化和复用。

说明: 分支蓝图允许将复杂的逻辑封装成独立的子蓝图,通过输入和输出接口与主蓝图交互。

输入

分支蓝图的输入接口,用于接收来自主蓝图的数据。

说明: 在分支蓝图内部,可以通过输入节点获取主蓝图传入的数据。

输出

分支蓝图的输出接口,用于向主蓝图返回数据或触发事件。

说明: 在分支蓝图内部,可以通过输出节点向主蓝图返回数据或触发事件。