使用指南
数学运算 / 矩阵 / Mat3节点
数学运算 / 矩阵 / Mat3 节点手册,包含 27 个节点的用途、引脚、使用场景和注意事项。
学习目标
处理数值、向量、矩阵、颜色、矩形和旋转等游戏开发高频数学数据。
覆盖范围
- 节点数量:27
- 分类路径:数学运算 / 矩阵 / Mat3
典型使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
通用注意事项
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
节点索引
| 节点 | 节点 ID | 输入/输出 | 执行方式 |
|---|---|---|---|
| 拆分矩阵 | mat3Break | 1 / 9 | 立即继续 |
| 创建矩阵 | mat3Create | 9 / 1 | 立即继续 |
| 从视线方向构造 | mat3FromViewUp | 2 / 1 | 立即继续 |
| 从四元数构造 | mat3FromQuat | 1 / 1 | 立即继续 |
| 从Mat4构造 | mat3FromMat4 | 1 / 1 | 立即继续 |
| 复制矩阵 | mat3Copy | 3 / 2 | 立即继续 |
| 构造平移矩阵 | mat3FromTranslation | 1 / 1 | 立即继续 |
| 构造缩放矩阵 | mat3FromScaling | 1 / 1 | 立即继续 |
| 构造旋转矩阵 | mat3FromRotation | 1 / 1 | 立即继续 |
| 获取单位矩阵 | mat3GetIdentity | 0 / 1 | 立即继续 |
| 矩阵标量乘 | mat3MultiplyScalar | 2 / 1 | 立即继续 |
| 矩阵标量乘加 | mat3MultiplyScalarAndAdd | 3 / 1 | 立即继续 |
| 矩阵乘法 | mat3Multiply | 2 / 1 | 立即继续 |
| 矩阵加法 | mat3Add | 2 / 1 | 立即继续 |
| 矩阵减法 | mat3Subtract | 2 / 1 | 立即继续 |
| 矩阵近似比较 | mat3Equals | 3 / 1 | 立即继续 |
| 矩阵平移 | mat3Translate | 2 / 1 | 立即继续 |
| 矩阵求逆 | mat3Invert | 1 / 1 | 立即继续 |
| 矩阵缩放 | mat3Scale | 2 / 1 | 立即继续 |
| 矩阵行列式 | mat3Determinant | 1 / 1 | 立即继续 |
| 矩阵旋转 | mat3Rotate | 2 / 1 | 立即继续 |
| 矩阵严格比较 | mat3StrictEquals | 2 / 1 | 立即继续 |
| 矩阵转欧拉角 | mat3ToEuler | 1 / 2 | 立即继续 |
| 矩阵转置 | mat3Transpose | 1 / 1 | 立即继续 |
| 克隆矩阵 | mat3Clone | 1 / 1 | 立即继续 |
| 设置矩阵 | mat3Set | 11 / 2 | 立即继续 |
| Mat3乘Mat4 | mat3MultiplyMat4 | 2 / 1 | 立即继续 |
拆分矩阵
拆分 3x3 矩阵:将矩阵拆解为 9 个独立的数值元素。 输出字段顺序为 m00 ~ m08,与 Mat3 构造器参数顺序、默认值存储顺序一致,不做数学排版重排。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Break |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat3 | 要拆分的 3x3 矩阵 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
m00 | m00 | 数据 | number | 矩阵元素 m00 | - | 可选 |
m01 | m01 | 数据 | number | 矩阵元素 m01 | - | 可选 |
m02 | m02 | 数据 | number | 矩阵元素 m02 | - | 可选 |
m03 | m03 | 数据 | number | 矩阵元素 m03 | - | 可选 |
m04 | m04 | 数据 | number | 矩阵元素 m04 | - | 可选 |
m05 | m05 | 数据 | number | 矩阵元素 m05 | - | 可选 |
m06 | m06 | 数据 | number | 矩阵元素 m06 | - | 可选 |
m07 | m07 | 数据 | number | 矩阵元素 m07 | - | 可选 |
m08 | m08 | 数据 | number | 矩阵元素 m08 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
创建矩阵
创建 3x3 矩阵:根据 9 个数值元素构造一个新的 Mat3 实例。 字段顺序为 m00 ~ m08,与 Mat3 构造器参数顺序、默认值存储顺序和编译输出顺序保持一致,不做额外的数学排版重排。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Create |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
m00 | m00 | 数据 | number | 矩阵元素 m00(第 0 行第 0 列) | 输入框 默认值:1 | 必填 |
m01 | m01 | 数据 | number | 矩阵元素 m01 | 输入框 默认值:0 | 必填 |
m02 | m02 | 数据 | number | 矩阵元素 m02 | 输入框 默认值:0 | 必填 |
m03 | m03 | 数据 | number | 矩阵元素 m03 | 输入框 默认值:0 | 必填 |
m04 | m04 | 数据 | number | 矩阵元素 m04(第 1 行第 1 列) | 输入框 默认值:1 | 必填 |
m05 | m05 | 数据 | number | 矩阵元素 m05 | 输入框 默认值:0 | 必填 |
m06 | m06 | 数据 | number | 矩阵元素 m06 | 输入框 默认值:0 | 必填 |
m07 | m07 | 数据 | number | 矩阵元素 m07 | 输入框 默认值:0 | 必填 |
m08 | m08 | 数据 | number | 矩阵元素 m08(第 2 行第 2 列) | 输入框 默认值:1 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat3 | 构造出的 3x3 矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
从视线方向构造
从视线方向与上方向构造 3x3 矩阵:根据视线方向向量和可选的上方向向量构造一个 3x3 方向矩阵。 2D 游戏中可用于实现相机朝向或角色面朝方向的矩阵表示。注意:view 与 up 需要满足归一化前提。输入无效时会退化为单位矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3FromViewUp |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
view | 视线方向 | 数据 | vector3 | 归一化的视线方向向量 | 可编辑控件 默认值:[0,0,0] | 必填 |
up | 上方向 | 数据 | vector3 | 归一化的上方向向量(可选) | 可编辑控件 默认值:[0,0,0] | 可选 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 3x3 方向矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
从四元数构造
从四元数构造 3x3 旋转矩阵:将四元数转换为等价的 3x3 旋转矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3FromQuat |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
quaternion | 四元数 | 数据 | quaternion | 输入四元数 | 可编辑控件 默认值:[0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 对应的 3x3 旋转矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
从Mat4构造
从 4x4 矩阵提取 3x3:从 Mat4 的上左 3x3 子矩阵构造一个新的 Mat3 实例。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3FromMat4 |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 4x4矩阵 | 数据 | mat4 | 源 4x4 矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 提取出的 3x3 矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
复制矩阵
复制矩阵:将源矩阵的所有元素复制到目标矩阵实例中。 副作用节点:该节点会直接修改目标矩阵实例,需要通过执行流控制调用顺序。输出端口透传更新后的目标矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Copy |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
exe | - | 执行流 | 执行流 | 执行入口 | - | 可选 |
matrix | 目标矩阵 | 数据 | mat3 | 要写入的目标矩阵实例 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
source | 源矩阵 | 数据 | mat3 | 要复制的源矩阵 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
out | - | 执行流 | 执行流 | 执行完成 | - | 可选 |
matrix | 矩阵 | 数据 | mat3 | 更新后的目标矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
构造平移矩阵
构造二维平移矩阵:根据二维平移向量构造一个新的 3x3 平移变换矩阵。 2D 游戏开发中用于生成纯平移变换,例如将 UI 元素从屏幕一角移到另一角。输入向量仅消费 x/y 分量。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3FromTranslation |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
vector | 平移量 | 数据 | vector2 | 二维平移向量 (x, y) | 可编辑控件 默认值:[0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 平移变换矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
构造缩放矩阵
构造二维缩放矩阵:根据二维缩放向量构造一个新的 3x3 缩放变换矩阵。 2D 游戏开发中用于生成纯缩放变换,例如放大角色表示获得增强效果。输入向量仅消费 x/y 分量。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3FromScaling |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
vector | 缩放量 | 数据 | vector2 | 二维缩放向量 (x, y) | 可编辑控件 默认值:[0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 缩放变换矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
构造旋转矩阵
构造二维旋转矩阵:根据弧度角度构造一个新的 3x3 旋转变换矩阵。 2D 游戏开发中用于生成纯旋转变换,例如让一个钟表指针旋转到指定角度。旋转角度单位为弧度。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3FromRotation |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
radians | 弧度 | 数据 | number | 旋转角度(弧度) | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 旋转变换矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
获取单位矩阵
获取 3x3 单位矩阵:返回对角线为 1、其余为 0 的 3x3 矩阵。 等价于 cc.Mat3.IDENTITY,是矩阵乘法中的”1”(恒等元素)。任何矩阵乘单位矩阵都不会改变。2D 游戏开发中常用作变换计算的起点。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3GetIdentity |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
无。
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 单位矩阵 | 数据 | mat3 | 3x3 单位矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵标量乘
矩阵标量乘法:将矩阵的每个元素乘以标量值,返回新的结果矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3MultiplyScalar |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat3 | 输入矩阵 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
scalar | 标量 | 数据 | number | 标量乘数 | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 标量乘后的结果矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵标量乘加
矩阵标量乘加:计算 A + B × scale,将矩阵 B 各元素乘以标量后加到矩阵 A 对应元素上,返回新的结果矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3MultiplyScalarAndAdd |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat3 | 基础矩阵 A | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat3 | 要缩放并加上的矩阵 B | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
scale | 缩放 | 数据 | number | 标量缩放因子 | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | A + B × scale 的结果矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵乘法
矩阵乘法:计算两个 3x3 矩阵的乘积(A × B),用于组合多个二维变换。 例如,将一个平移矩阵和一个旋转矩阵相乘,就可以得到同时包含平移和旋转的合成变换。注意:矩阵乘法不满足交换律,A × B ≠ B × A——顺序不同,结果不同。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Multiply |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat3 | 左矩阵 A | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat3 | 右矩阵 B | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 矩阵乘积 A × B | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵加法
矩阵逐元素加法:将两个 3x3 矩阵对应元素相加,返回新的结果矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Add |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat3 | 加数矩阵 A | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat3 | 加数矩阵 B | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 逐元素相加后的结果矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵减法
矩阵逐元素减法:将矩阵 A 各元素减去矩阵 B 对应元素,返回新的结果矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Subtract |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat3 | 被减数矩阵 A | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat3 | 减数矩阵 B | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 逐元素相减后的结果矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵近似比较
矩阵近似比较:逐元素比较两个 3x3 矩阵是否在 epsilon 容差范围内近似相等。 默认 epsilon 为 0.000001。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Equals |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat3 | 比较矩阵 A | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat3 | 比较矩阵 B | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
epsilon | 容差 | 数据 | number | 比较容差,默认 0.000001 | 输入框 默认值:0.000001 | 可选 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
isEqual | 是否相等 | 数据 | boolean | 两个矩阵是否在容差范围内相等 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵平移
矩阵平移:在现有 3x3 矩阵基础上叠加二维平移变换,返回新的结果矩阵。 2D 游戏开发中用于移动 Sprite 或 UI 元素。输入向量仅消费 x/y 分量。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Translate |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat3 | 要叠加平移的矩阵 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
vector | 平移量 | 数据 | vector2 | 二维平移向量 (x, y) | 可编辑控件 默认值:[0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 叠加平移后的矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵求逆
矩阵求逆:计算 3x3 矩阵的逆矩阵,用于撤销变换效果。 例如,将一个 2D 物体平移了一段距离后,用逆矩阵可以将其恢复到原位置。注意:如果输入矩阵不可逆(行列式为 0),结果会退化为全 0 矩阵,而不是抛出错误或返回单位矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Invert |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵 | 数据 | mat3 | 要求逆的矩阵 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 逆矩阵(不可逆时为全 0 矩阵) | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵缩放
矩阵缩放:在现有 3x3 矩阵基础上叠加二维缩放变换,返回新的结果矩阵。 2D 游戏开发中用于改变 Sprite 或 UI 元素的大小。输入向量仅消费 x/y 分量。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Scale |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat3 | 要叠加缩放的矩阵 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
vector | 缩放量 | 数据 | vector2 | 二维缩放向量 (x, y) | 可编辑控件 默认值:[0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 叠加缩放后的矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵行列式
矩阵行列式:计算 3x3 矩阵的行列式值,用于判断变换是否可逆。 行列式为 0 表示矩阵不可逆(奇异矩阵),即无法通过求逆来撤销变换。行列式不为 0 才可求逆。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Determinant |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵 | 数据 | mat3 | 要计算行列式的矩阵 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
determinant | 行列式 | 数据 | number | 矩阵行列式值 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵旋转
矩阵旋转:在现有 3x3 矩阵基础上叠加二维旋转变换,返回新的结果矩阵。 2D 游戏开发中用于旋转 Sprite 或 UI 元素。旋转角度单位为弧度。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Rotate |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat3 | 要叠加旋转的矩阵 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
radians | 弧度 | 数据 | number | 旋转角度(弧度) | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 叠加旋转后的矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵严格比较
矩阵严格比较:逐元素严格比较两个 3x3 矩阵是否完全相等。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3StrictEquals |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat3 | 比较矩阵 A | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat3 | 比较矩阵 B | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
isEqual | 是否相等 | 数据 | boolean | 两个矩阵是否严格相等 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵转欧拉角
矩阵转欧拉角:从 3x3 旋转矩阵中提取欧拉角(弧度),同时指示该解是否唯一。 输出欧拉角单位为弧度,采用引擎默认的 YXZ 旋转顺序。isUnique 为 false 时表示存在万向锁,欧拉角解不唯一。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3ToEuler |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat3 | 3x3 旋转矩阵 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
euler | 欧拉角 | 数据 | vector3 | 提取的欧拉角(弧度,YXZ 顺序) | - | 可选 |
isUnique | 是否唯一 | 数据 | boolean | 该欧拉角解是否唯一 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵转置
矩阵转置:将 3x3 矩阵的行列互换,返回新的转置矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Transpose |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵 | 数据 | mat3 | 要转置的矩阵 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 转置后的矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
克隆矩阵
克隆 3x3 矩阵:创建输入矩阵的深拷贝副本。 返回一个新的 Mat3 实例,内容与输入相同但引用不同。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Clone |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat3 | 要克隆的 3x3 矩阵 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat3 | 克隆出的新矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
设置矩阵
设置矩阵元素:将指定的 9 个数值写入目标矩阵实例。 字段顺序为 m00 ~ m08,与构造器参数顺序一致。副作用节点:该节点会直接修改目标矩阵实例,需要通过执行流控制调用顺序。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3Set |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
exe | - | 执行流 | 执行流 | 执行入口 | - | 可选 |
matrix | 目标矩阵 | 数据 | mat3 | 要写入的目标矩阵实例 | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
m00 | m00 | 数据 | number | 矩阵元素 m00 | 输入框 默认值:1 | 可选 |
m01 | m01 | 数据 | number | 矩阵元素 m01 | 输入框 默认值:0 | 可选 |
m02 | m02 | 数据 | number | 矩阵元素 m02 | 输入框 默认值:0 | 可选 |
m03 | m03 | 数据 | number | 矩阵元素 m03 | 输入框 默认值:0 | 可选 |
m04 | m04 | 数据 | number | 矩阵元素 m04 | 输入框 默认值:1 | 可选 |
m05 | m05 | 数据 | number | 矩阵元素 m05 | 输入框 默认值:0 | 可选 |
m06 | m06 | 数据 | number | 矩阵元素 m06 | 输入框 默认值:0 | 可选 |
m07 | m07 | 数据 | number | 矩阵元素 m07 | 输入框 默认值:0 | 可选 |
m08 | m08 | 数据 | number | 矩阵元素 m08 | 输入框 默认值:1 | 可选 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
out | - | 执行流 | 执行流 | 执行完成 | - | 可选 |
matrix | 矩阵 | 数据 | mat3 | 更新后的目标矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
Mat3乘Mat4
Mat3 与 Mat4 上左 3x3 相乘:将 3x3 矩阵 A 与 4x4 矩阵 B 的上左 3x3 子矩阵相乘,返回新的 3x3 结果矩阵。 常用于 2D-3D 混合流程中,将 3x3 矩阵与 4x4 变换矩阵组合。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat3MultiplyMat4 |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat3 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat3 | 3x3 左矩阵 A | 可编辑控件 默认值:[1,0,0,0,1,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat4 | 4x4 右矩阵 B | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat3 | 3x3 结果矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。