Matrix Split 节点
描述
将由输入 In 定义的方阵拆分为矢量。输出矢量维度由输入矩阵的维度定义。
节点上的下拉选单可用于选择输出值是取自输入矩阵的行还是列。
- Row:输出矢量由从上到下的矩阵行组成。
- Column:输出矢量由左到右的矩阵列组成。
矩阵 2x2 或矩阵 3x3 类型的输入矩阵将在超出其维度的行(或列,具体取决于下拉选单的选择)中返回 0 值。
例如,将矩阵 2x2 类型连接到输入 In 将在输出字段 M0 和 M1 中返回正确的矢量 2 类型输出,并在输出 M2 和 M3 中返回 0 值。
端口
名称 | 方向 | 类型 | 描述 |
---|---|---|---|
In | 输入 | 动态矩阵 | 输入值 |
M0 | 输出 | 动态矢量 | 第一行或第一列 |
M1 | 输出 | 动态矢量 | 第二行或第二列 |
M2 | 输出 | 动态矢量 | 第三行或第三列 |
M3 | 输出 | 动态矢量 | 第四行或第四列 |
控件
名称 | 类型 | 选项 | 描述 |
---|---|---|---|
下拉选单 | Row、Column | 选择应如何填充输出矢量 |
生成的代码示例
以下示例代码表示此节点的一种可能结果。
float2 _MatrixSplit_M0 = float2(In[0].r, In[0].g);
float2 _MatrixSplit_M1 = float2(In[1].r, In[1].g);
float2 _MatrixSplit_M2 = float2(0, 0);
float2 _MatrixSplit_M3 = float2(0, 0);