使用指南
数学运算 / 矩阵 / Mat4节点
数学运算 / 矩阵 / Mat4 节点手册,包含 39 个节点的用途、引脚、使用场景和注意事项。
学习目标
处理数值、向量、矩阵、颜色、矩形和旋转等游戏开发高频数学数据。
覆盖范围
- 节点数量:39
- 分类路径:数学运算 / 矩阵 / Mat4
典型使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
通用注意事项
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
节点索引
| 节点 | 节点 ID | 输入/输出 | 执行方式 |
|---|---|---|---|
| 拆分矩阵 | mat4Break | 1 / 16 | 立即继续 |
| 创建矩阵 | mat4Create | 16 / 1 | 立即继续 |
| 从四元数构造 | mat4FromQuat | 1 / 1 | 立即继续 |
| 从RT构造 | mat4FromRT | 2 / 1 | 立即继续 |
| 从SRT+原点构造 | mat4FromSRTOrigin | 4 / 1 | 立即继续 |
| 从SRT构造 | mat4FromSRT | 3 / 1 | 立即继续 |
| 复制矩阵 | mat4Copy | 3 / 2 | 立即继续 |
| 构造平移矩阵 | mat4FromTranslation | 1 / 1 | 立即继续 |
| 构造缩放矩阵 | mat4FromScaling | 1 / 1 | 立即继续 |
| 构造X轴旋转矩阵 | mat4FromXRotation | 1 / 1 | 立即继续 |
| 构造Y轴旋转矩阵 | mat4FromYRotation | 1 / 1 | 立即继续 |
| 构造Z轴旋转矩阵 | mat4FromZRotation | 1 / 1 | 立即继续 |
| 获取单位矩阵 | mat4GetIdentity | 0 / 1 | 立即继续 |
| 矩阵标量乘 | mat4MultiplyScalar | 2 / 1 | 立即继续 |
| 矩阵标量乘加 | mat4MultiplyScalarAndAdd | 3 / 1 | 立即继续 |
| 矩阵乘法 | mat4Multiply | 2 / 1 | 立即继续 |
| 矩阵加法 | mat4Add | 2 / 1 | 立即继续 |
| 矩阵减法 | mat4Subtract | 2 / 1 | 立即继续 |
| 矩阵近似比较 | mat4Equals | 3 / 1 | 立即继续 |
| 矩阵平移 | mat4Transform | 2 / 1 | 立即继续 |
| 矩阵求逆 | mat4Invert | 1 / 1 | 立即继续 |
| 矩阵绕X旋转 | mat4RotateX | 2 / 1 | 立即继续 |
| 矩阵绕Y旋转 | mat4RotateY | 2 / 1 | 立即继续 |
| 矩阵绕Z旋转 | mat4RotateZ | 2 / 1 | 立即继续 |
| 矩阵缩放 | mat4Scale | 2 / 1 | 立即继续 |
| 矩阵行列式 | mat4Determinant | 1 / 1 | 立即继续 |
| 矩阵严格比较 | mat4StrictEquals | 2 / 1 | 立即继续 |
| 矩阵转欧拉角 | mat4ToEuler | 1 / 2 | 立即继续 |
| 矩阵转置 | mat4Transpose | 1 / 1 | 立即继续 |
| 矩阵SRT分解 | mat4ToSRT | 1 / 3 | 立即继续 |
| 克隆矩阵 | mat4Clone | 1 / 1 | 立即继续 |
| 设置矩阵 | mat4Set | 18 / 2 | 立即继续 |
| 视图矩阵 | mat4LookAt | 3 / 1 | 立即继续 |
| 视锥体矩阵 | mat4Frustum | 6 / 1 | 立即继续 |
| 提取平移 | mat4GetTranslation | 1 / 1 | 立即继续 |
| 提取缩放 | mat4GetScaling | 1 / 1 | 立即继续 |
| 提取旋转 | mat4GetRotation | 1 / 1 | 立即继续 |
| 透视投影矩阵 | mat4Perspective | 5 / 1 | 立即继续 |
| 正交投影矩阵 | mat4Ortho | 6 / 1 | 立即继续 |
拆分矩阵
拆分 4x4 矩阵:将矩阵拆解为 16 个独立的数值元素。 输出字段顺序为 m00 ~ m15,与 Mat4 构造器参数顺序、默认值存储顺序一致,不做数学排版重排。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Break |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 要拆分的 4x4 矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,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 | - | 可选 |
m09 | m09 | 数据 | number | 矩阵元素 m09 | - | 可选 |
m10 | m10 | 数据 | number | 矩阵元素 m10 | - | 可选 |
m11 | m11 | 数据 | number | 矩阵元素 m11 | - | 可选 |
m12 | m12 | 数据 | number | 矩阵元素 m12 | - | 可选 |
m13 | m13 | 数据 | number | 矩阵元素 m13 | - | 可选 |
m14 | m14 | 数据 | number | 矩阵元素 m14 | - | 可选 |
m15 | m15 | 数据 | number | 矩阵元素 m15 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
创建矩阵
创建 4x4 矩阵:根据 16 个数值元素构造一个新的 Mat4 实例。 字段顺序为 m00 ~ m15,与 Mat4 构造器参数顺序、默认值存储顺序和编译输出顺序保持一致,不做额外的数学排版重排。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Create |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 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 | 输入框 默认值:0 | 必填 |
m05 | m05 | 数据 | number | 矩阵元素 m05(第 1 行第 1 列) | 输入框 默认值:1 | 必填 |
m06 | m06 | 数据 | number | 矩阵元素 m06 | 输入框 默认值:0 | 必填 |
m07 | m07 | 数据 | number | 矩阵元素 m07 | 输入框 默认值:0 | 必填 |
m08 | m08 | 数据 | number | 矩阵元素 m08 | 输入框 默认值:0 | 必填 |
m09 | m09 | 数据 | number | 矩阵元素 m09 | 输入框 默认值:0 | 必填 |
m10 | m10 | 数据 | number | 矩阵元素 m10(第 2 行第 2 列) | 输入框 默认值:1 | 必填 |
m11 | m11 | 数据 | number | 矩阵元素 m11 | 输入框 默认值:0 | 必填 |
m12 | m12 | 数据 | number | 矩阵元素 m12 | 输入框 默认值:0 | 必填 |
m13 | m13 | 数据 | number | 矩阵元素 m13 | 输入框 默认值:0 | 必填 |
m14 | m14 | 数据 | number | 矩阵元素 m14 | 输入框 默认值:0 | 必填 |
m15 | m15 | 数据 | number | 矩阵元素 m15(第 3 行第 3 列) | 输入框 默认值:1 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 构造出的 4x4 矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
从四元数构造
从四元数构造 4x4 旋转矩阵:将四元数转换为等价的 4x4 旋转矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4FromQuat |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
quaternion | 四元数 | 数据 | quaternion | 输入四元数 | 可编辑控件 默认值:[0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 对应的 4x4 旋转矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
从RT构造
从旋转与平移构造 4x4 矩阵:根据四元数旋转和三维平移向量构造一个新的 4x4 变换矩阵。 3D 游戏开发中用于构建物体的变换——指定物体在哪里(平移)和朝向哪里(旋转),不含缩放。适合刚体物理、门或相机等不需要缩放的物体。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4FromRT |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
rotation | 旋转 | 数据 | quaternion | 旋转四元数 | 可编辑控件 默认值:[0,0,0,1] | 必填 |
translation | 平移 | 数据 | vector3 | 三维平移向量 | 可编辑控件 默认值:[0,0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 变换矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
从SRT+原点构造
从缩放、旋转、平移与原点构造 4x4 矩阵:在指定原点坐标下,根据缩放、旋转和平移构造一个新的 4x4 变换矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4FromSRTOrigin |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
rotation | 旋转 | 数据 | quaternion | 旋转四元数 | 可编辑控件 默认值:[0,0,0,1] | 必填 |
translation | 平移 | 数据 | vector3 | 三维平移向量 | 可编辑控件 默认值:[0,0,0] | 必填 |
scale | 缩放 | 数据 | vector3 | 三维缩放向量 | 可编辑控件 默认值:[0,0,0] | 必填 |
origin | 原点 | 数据 | vector3 | 变换原点 | 可编辑控件 默认值:[0,0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 变换矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
从SRT构造
从缩放、旋转与平移构造 4x4 矩阵:根据缩放向量、四元数旋转和三维平移向量构造一个新的 4x4 变换矩阵。 3D 游戏开发中最常用的变换构造方式——完整定义物体的位置、旋转和大小。计算顺序为:先缩放,再旋转,最后平移。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4FromSRT |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
rotation | 旋转 | 数据 | quaternion | 旋转四元数 | 可编辑控件 默认值:[0,0,0,1] | 必填 |
translation | 平移 | 数据 | vector3 | 三维平移向量 | 可编辑控件 默认值:[0,0,0] | 必填 |
scale | 缩放 | 数据 | vector3 | 三维缩放向量 | 可编辑控件 默认值:[0,0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 变换矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
复制矩阵
复制矩阵:将源矩阵的所有元素复制到目标矩阵实例中。 副作用节点:该节点会直接修改目标矩阵实例,需要通过执行流控制调用顺序。输出端口透传更新后的目标矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Copy |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
exe | - | 执行流 | 执行流 | 执行入口 | - | 可选 |
matrix | 目标矩阵 | 数据 | mat4 | 要写入的目标矩阵实例 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
source | 源矩阵 | 数据 | mat4 | 要复制的源矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
out | - | 执行流 | 执行流 | 执行完成 | - | 可选 |
matrix | 矩阵 | 数据 | mat4 | 更新后的目标矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
构造平移矩阵
构造三维平移矩阵:根据三维平移向量构造一个新的 4x4 平移变换矩阵。 3D 游戏开发中用于生成纯平移变换,例如将物体从 A 点移动到 B 点。该矩阵只涉及位置变化,不影响旋转和缩放。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4FromTranslation |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
vector | 平移量 | 数据 | vector3 | 三维平移向量 (x, y, z) | 可编辑控件 默认值:[0,0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 平移变换矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
构造缩放矩阵
构造三维缩放矩阵:根据三维缩放向量构造一个新的 4x4 缩放变换矩阵。 3D 游戏开发中用于生成纯缩放变换。例如,将角色统一放大到 2 倍大小,或单独拉伸某个轴来改变模型比例。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4FromScaling |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
vector | 缩放量 | 数据 | vector3 | 三维缩放向量 (x, y, z) | 可编辑控件 默认值:[0,0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 缩放变换矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
构造X轴旋转矩阵
构造绕 X 轴旋转矩阵:根据弧度角度构造一个新的 4x4 绕 X 轴旋转变换矩阵。 3D 游戏中常用于俯仰(Pitch)旋转,例如让物体前后倾斜。旋转角度单位为弧度。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4FromXRotation |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
radians | 弧度 | 数据 | number | 旋转角度(弧度) | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 绕 X 轴旋转变换矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
构造Y轴旋转矩阵
构造绕 Y 轴旋转矩阵:根据弧度角度构造一个新的 4x4 绕 Y 轴旋转变换矩阵。 3D 游戏中常用于偏航(Yaw)旋转,例如让角色左右转身。旋转角度单位为弧度。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4FromYRotation |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
radians | 弧度 | 数据 | number | 旋转角度(弧度) | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 绕 Y 轴旋转变换矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
构造Z轴旋转矩阵
构造绕 Z 轴旋转矩阵:根据弧度角度构造一个新的 4x4 绕 Z 轴旋转变换矩阵。 3D 游戏中常用于翻滚(Roll)旋转,例如让物体侧向倾斜。旋转角度单位为弧度。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4FromZRotation |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
radians | 弧度 | 数据 | number | 旋转角度(弧度) | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 绕 Z 轴旋转变换矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
获取单位矩阵
获取 4x4 单位矩阵:返回对角线为 1、其余为 0 的 4x4 矩阵。 等价于 cc.Mat4.IDENTITY,是 3D 变换计算的起始点。任何矩阵乘单位矩阵都不会改变。在场景层级中,根节点的变换矩阵就是单位矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4GetIdentity |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
无。
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 单位矩阵 | 数据 | mat4 | 4x4 单位矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵标量乘
矩阵标量乘法:将矩阵的每个元素乘以标量值,返回新的结果矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4MultiplyScalar |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 输入矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
scalar | 标量 | 数据 | number | 标量乘数 | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 标量乘后的结果矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵标量乘加
矩阵标量乘加:计算 A + B × scale,将矩阵 B 各元素乘以标量后加到矩阵 A 对应元素上,返回新的结果矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4MultiplyScalarAndAdd |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat4 | 基础矩阵 A | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat4 | 要缩放并加上的矩阵 B | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
scale | 缩放 | 数据 | number | 标量缩放因子 | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | A + B × scale 的结果矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵乘法
矩阵乘法:计算两个 4x4 矩阵的乘积(A × B),用于组合多个三维变换。 例如,将一个平移矩阵和一个旋转矩阵相乘,得到同时包含平移和旋转的合成矩阵。在 3D 游戏中,物体的最终变换就是缩放、旋转、平移等一系列矩阵相乘的结果。注意:矩阵乘法不满足交换律,顺序不同结果不同。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Multiply |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat4 | 左矩阵 A | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat4 | 右矩阵 B | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 矩阵乘积 A × B | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵加法
矩阵逐元素加法:将两个 4x4 矩阵对应元素相加,返回新的结果矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Add |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat4 | 加数矩阵 A | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat4 | 加数矩阵 B | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 逐元素相加后的结果矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵减法
矩阵逐元素减法:将矩阵 A 各元素减去矩阵 B 对应元素,返回新的结果矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Subtract |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat4 | 被减数矩阵 A | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat4 | 减数矩阵 B | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 逐元素相减后的结果矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵近似比较
矩阵近似比较:逐元素比较两个 4x4 矩阵是否在 epsilon 容差范围内近似相等。 默认 epsilon 为 0.000001。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Equals |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat4 | 比较矩阵 A | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat4 | 比较矩阵 B | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
epsilon | 容差 | 数据 | number | 比较容差,默认 0.000001 | 输入框 默认值:0.000001 | 可选 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
isEqual | 是否相等 | 数据 | boolean | 两个矩阵是否在容差范围内相等 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵平移
矩阵平移:在现有 4x4 矩阵基础上叠加三维平移变换,返回新的结果矩阵。 3D 游戏开发中用于移动物体到指定位置。例如,在物体当前变换基础上移动到前方的某个点。等价于 out = a × T(v),即右乘平移矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Transform |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 要叠加平移的矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
vector | 平移量 | 数据 | vector3 | 三维平移向量 (x, y, z) | 可编辑控件 默认值:[0,0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 叠加平移后的矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵求逆
矩阵求逆:计算 4x4 矩阵的逆矩阵,用于撤销三维变换。 例如,将世界空间的点转换到相机的局部空间(视图变换)就要用到逆矩阵。注意:如果输入矩阵不可逆(行列式为 0),结果会退化为全 0 矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Invert |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵 | 数据 | mat4 | 要求逆的矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 逆矩阵(不可逆时为全 0 矩阵) | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵绕X旋转
矩阵绕 X 轴旋转:在现有 4x4 矩阵基础上叠加绕 X 轴的旋转变换,返回新的结果矩阵。 3D 游戏中用于俯仰(Pitch)控制,例如让物体前后倾斜。旋转角度单位为弧度。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4RotateX |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 要叠加旋转的矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
radians | 弧度 | 数据 | number | 旋转角度(弧度) | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 叠加旋转后的矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵绕Y旋转
矩阵绕 Y 轴旋转:在现有 4x4 矩阵基础上叠加绕 Y 轴的旋转变换,返回新的结果矩阵。 3D 游戏中用于偏航(Yaw)控制,例如让角色左右转身。旋转角度单位为弧度。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4RotateY |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 要叠加旋转的矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
radians | 弧度 | 数据 | number | 旋转角度(弧度) | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 叠加旋转后的矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵绕Z旋转
矩阵绕 Z 轴旋转:在现有 4x4 矩阵基础上叠加绕 Z 轴的旋转变换,返回新的结果矩阵。 3D 游戏中用于翻滚(Roll)控制,例如让物体侧向倾斜。旋转角度单位为弧度。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4RotateZ |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 要叠加旋转的矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
radians | 弧度 | 数据 | number | 旋转角度(弧度) | 输入框 默认值:0 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 叠加旋转后的矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵缩放
矩阵缩放:在现有 4x4 矩阵基础上叠加三维缩放变换,返回新的结果矩阵。 3D 游戏开发中用于改变物体大小。例如,让角色变大表示获得增强效果,或在各方向上以不同比例拉伸模型。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Scale |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 要叠加缩放的矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
vector | 缩放量 | 数据 | vector3 | 三维缩放向量 (x, y, z) | 可编辑控件 默认值:[0,0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 叠加缩放后的矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵行列式
矩阵行列式:计算 4x4 矩阵的行列式值。 行列式为 0 表示矩阵不可逆(奇异矩阵)。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Determinant |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵 | 数据 | mat4 | 要计算行列式的矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
determinant | 行列式 | 数据 | number | 矩阵行列式值 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵严格比较
矩阵严格比较:逐元素严格比较两个 4x4 矩阵是否完全相等。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4StrictEquals |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵A | 数据 | mat4 | 比较矩阵 A | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
b | 矩阵B | 数据 | mat4 | 比较矩阵 B | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
isEqual | 是否相等 | 数据 | boolean | 两个矩阵是否严格相等 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵转欧拉角
矩阵转欧拉角:从 4x4 矩阵的上左 3x3 旋转部分提取欧拉角(弧度),同时指示该解是否唯一。 输出欧拉角单位为弧度,采用引擎默认的 YXZ 旋转顺序。isUnique 为 false 时表示存在万向锁,欧拉角解不唯一。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4ToEuler |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 4x4 矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
euler | 欧拉角 | 数据 | vector3 | 提取的欧拉角(弧度,YXZ 顺序) | - | 可选 |
isUnique | 是否唯一 | 数据 | boolean | 该欧拉角解是否唯一 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵转置
矩阵转置:将 4x4 矩阵的行列互换,返回新的转置矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Transpose |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
a | 矩阵 | 数据 | mat4 | 要转置的矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 转置后的矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
矩阵SRT分解
矩阵 SRT 分解:将 4x4 变换矩阵分解为三维缩放、旋转四元数和三维平移三个分量。 3D 游戏开发中用于读取物体的完整变换信息——从矩阵中提取位置、朝向和大小。可正确处理包含缩放的矩阵,比单独提取旋转更可靠。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4ToSRT |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 要分解的 4x4 变换矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
translation | 平移 | 数据 | vector3 | 分解出的三维平移向量 | - | 可选 |
rotation | 旋转 | 数据 | quaternion | 分解出的旋转四元数 | - | 可选 |
scale | 缩放 | 数据 | vector3 | 分解出的三维缩放向量 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
克隆矩阵
克隆 4x4 矩阵:创建输入矩阵的深拷贝副本。 返回一个新的 Mat4 实例,内容与输入相同但引用不同。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Clone |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 要克隆的 4x4 矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 克隆出的新矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
设置矩阵
设置矩阵元素:将指定的 16 个数值写入目标矩阵实例。 字段顺序为 m00 ~ m15,与构造器参数顺序一致。副作用节点:该节点会直接修改目标矩阵实例,需要通过执行流控制调用顺序。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Set |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
exe | - | 执行流 | 执行流 | 执行入口 | - | 可选 |
matrix | 目标矩阵 | 数据 | mat4 | 要写入的目标矩阵实例 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,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 | 输入框 默认值:0 | 可选 |
m05 | m05 | 数据 | number | 矩阵元素 m05 | 输入框 默认值:1 | 可选 |
m06 | m06 | 数据 | number | 矩阵元素 m06 | 输入框 默认值:0 | 可选 |
m07 | m07 | 数据 | number | 矩阵元素 m07 | 输入框 默认值:0 | 可选 |
m08 | m08 | 数据 | number | 矩阵元素 m08 | 输入框 默认值:0 | 可选 |
m09 | m09 | 数据 | number | 矩阵元素 m09 | 输入框 默认值:0 | 可选 |
m10 | m10 | 数据 | number | 矩阵元素 m10 | 输入框 默认值:1 | 可选 |
m11 | m11 | 数据 | number | 矩阵元素 m11 | 输入框 默认值:0 | 可选 |
m12 | m12 | 数据 | number | 矩阵元素 m12 | 输入框 默认值:0 | 可选 |
m13 | m13 | 数据 | number | 矩阵元素 m13 | 输入框 默认值:0 | 可选 |
m14 | m14 | 数据 | number | 矩阵元素 m14 | 输入框 默认值:0 | 可选 |
m15 | m15 | 数据 | number | 矩阵元素 m15 | 输入框 默认值:1 | 可选 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
out | - | 执行流 | 执行流 | 执行完成 | - | 可选 |
matrix | 矩阵 | 数据 | mat4 | 更新后的目标矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
视图矩阵
构造视图矩阵:根据眼睛位置、目标位置和上方向构造一个 4x4 视图矩阵。 游戏开发中最常用的相机函数——让相机从某个位置看向某个目标,例如相机跟随角色或俯视视角。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4LookAt |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
eye | 眼睛位置 | 数据 | vector3 | 眼睛(相机)位置 | 可编辑控件 默认值:[0,0,0] | 必填 |
center | 目标位置 | 数据 | vector3 | 观察目标位置 | 可编辑控件 默认值:[0,0,0] | 必填 |
up | 上方向 | 数据 | vector3 | 上方向向量 | 可编辑控件 默认值:[0,0,0] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 视图矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
视锥体矩阵
构造视锥体矩阵:根据左、右、下、上、近、远六个裁剪面参数构造一个 4x4 视锥体投影矩阵。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Frustum |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
left | 左 | 数据 | number | 左裁剪面 | 输入框 默认值:0 | 必填 |
right | 右 | 数据 | number | 右裁剪面 | 输入框 默认值:0 | 必填 |
bottom | 下 | 数据 | number | 下裁剪面 | 输入框 默认值:0 | 必填 |
top | 上 | 数据 | number | 上裁剪面 | 输入框 默认值:0 | 必填 |
near | 近 | 数据 | number | 近裁剪面 | 输入框 默认值:0.1 | 必填 |
far | 远 | 数据 | number | 远裁剪面 | 输入框 默认值:1000 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 视锥体投影矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
提取平移
从矩阵提取平移分量:从 4x4 变换矩阵中提取三维平移向量,即物体的世界坐标位置。 3D 游戏开发中常用于获取物体的当前位置。例如,从 NPC 的变换矩阵中读取其所在位置。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4GetTranslation |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 4x4 变换矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
translation | 平移 | 数据 | vector3 | 提取的三维平移向量 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
提取缩放
从矩阵提取缩放分量:从 4x4 变换矩阵中提取三维缩放向量,即物体在各轴上的大小比例。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4GetScaling |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 4x4 变换矩阵 | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
scaling | 缩放 | 数据 | vector3 | 提取的三维缩放向量 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
提取旋转
从矩阵提取旋转四元数:从 4x4 变换矩阵中提取旋转分量并返回四元数。 注意:该方法假设输入矩阵不含缩放分量。若矩阵包含缩放,请优先使用 Mat4ToSRT 进行完整分解。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4GetRotation |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
matrix | 矩阵 | 数据 | mat4 | 4x4 变换矩阵(不含缩放) | 可编辑控件 默认值:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
rotation | 旋转 | 数据 | quaternion | 提取的旋转四元数 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
透视投影矩阵
构造透视投影矩阵:根据视场角、宽高比、近裁面和远裁面构造一个 4x4 透视投影矩阵。 重要:虽然引擎注释写着 “degrees”,但引擎真实调用点与单测均按弧度输入使用,节点首版以弧度作为用户契约。isFovY 为 true 时 fov 表示垂直视场角,为 false 时表示水平视场角。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Perspective |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
fov | 视场角 | 数据 | number | 视场角(弧度) | 输入框 默认值:0.7854 | 必填 |
aspect | 宽高比 | 数据 | number | 宽高比(width / height) | 输入框 默认值:1 | 必填 |
near | 近裁面 | 数据 | number | 近裁剪平面距离 | 输入框 默认值:0.1 | 必填 |
far | 远裁面 | 数据 | number | 远裁剪平面距离 | 输入框 默认值:1000 | 必填 |
isFovY | 垂直FOV | 数据 | number | 是否为垂直视场角(1 = true, 0 = false),默认 true | 输入框 默认值:1 | 可选 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 透视投影矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。
正交投影矩阵
构造正交投影矩阵:根据左、右、下、上、近、远六个裁剪面参数构造一个 4x4 正交投影矩阵。 适合 2D 游戏或 UI 渲染——物体不会因为距离相机远近而变小。正交投影没有透视效果,看到的物体大小与距离无关。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | mat4Ortho |
| 分类 | 数学运算 |
| 二级分类 | 矩阵 |
| 分组 | Mat4 |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
left | 左 | 数据 | number | 左裁剪面 | 输入框 默认值:0 | 必填 |
right | 右 | 数据 | number | 右裁剪面 | 输入框 默认值:0 | 必填 |
bottom | 下 | 数据 | number | 下裁剪面 | 输入框 默认值:0 | 必填 |
top | 上 | 数据 | number | 上裁剪面 | 输入框 默认值:0 | 必填 |
near | 近 | 数据 | number | 近裁剪面 | 输入框 默认值:0.1 | 必填 |
far | 远 | 数据 | number | 远裁剪面 | 输入框 默认值:1000 | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
result | 结果 | 数据 | mat4 | 正交投影矩阵 | - | 可选 |
使用场景
- 计算角色移动方向、距离和插值
- 处理 UI 尺寸、碰撞范围和颜色变化
- 组合旋转、矩阵和仿射变换
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 向量和矩阵节点要确认维度匹配。
- 角度、弧度、归一化等概念在不同节点中可能有不同约束。