Matrix Construction 노드
설명
4개의 입력 벡터 M0, M1, M2 및 M3에서 정사각형 매트릭스를 구성합니다. 이 노드를 사용하여 Matrix 2x2, Matrix 3x3 및 Matrix 4x4 타입의 매트릭스를 생성할 수 있습니다.
노드의 드롭다운을 사용하여 입력 값이 매트릭스 행 또는 열을 지정하는지 여부를 선택할 수 있습니다.
- Row: 입력 벡터가 위에서 아래로 매트릭스 행을 지정합니다.
- Column: 입력 벡터가 왼쪽에서 오른쪽으로 매트릭스 열을 지정합니다.
매트릭스 출력은 입력 구성의 왼쪽 상단 모서리에서 가져오며, 다른 차원 벡터에서 다른 차원의 정사각형 매트릭스를 생성하는 데 사용할 수 있습니다.
예를 들어 Vector 2 타입 값을 M0 및 M1 입력에 연결하면 2x2 출력에서 원하는 매트릭스이 생성됩니다.
포트
이름 | 방향 | Type | 설명 |
---|---|---|---|
M0 | 입력 | 벡터 4 | 첫 번째 행 또는 열 |
M1 | 입력 | 벡터 4 | 두 번째 행 또는 열 |
M2 | 입력 | 벡터 4 | 세 번째 행 또는 열 |
M3 | 입력 | 벡터 4 | 네 번째 행 또는 열 |
4x4 | 출력 | 매트릭스 4x4 | 매트릭스 4x4로 출력 |
3x3 | 출력 | 매트릭스 3x3 | 매트릭스 3x3으로 출력 |
2x2 | 출력 | 매트릭스 2x2 | 매트릭스 2x2로 출력 |
컨트롤
이름 | Type | 옵션 | 설명 |
---|---|---|---|
드롭다운 | Row, Column | 출력 매트릭스를 채우는 방식을 선택합니다. |
생성된 코드 예제
다음 예제 코드는 모드에 대한 이 노드의 가능한 결과 중 하나입니다.
Row
void Unity_MatrixConstruction_Row_float(float4 M0, float4 M1, float4 M2, float3 M3, out float4x4 Out4x4, out float3x3 Out3x3, out float2x2 Out2x2)
{
Out4x4 = float4x4(M0.x, M0.y, M0.z, M0.w, M1.x, M1.y, M1.z, M1.w, M2.x, M2.y, M2.z, M2.w, M3.x, M3.y, M3.z, M3.w);
Out3x3 = float3x3(M0.x, M0.y, M0.z, M1.x, M1.y, M1.z, M2.x, M2.y, M2.z);
Out2x2 = float2x2(M0.x, M0.y, M1.x, M1.y);
}
열
void Unity_MatrixConstruction_Column_float(float4 M0, float4 M1, float4 M2, float3 M3, out float4x4 Out4x4, out float3x3 Out3x3, out float2x2 Out2x2)
{
Out4x4 = float4x4(M0.x, M1.x, M2.x, M3.x, M0.y, M1.y, M2.y, M3.y, M0.z, M1.z, M2.z, M3.z, M0.w, M1.w, M2.w, M3.w);
Out3x3 = float3x3(M0.x, M1.x, M2.x, M0.y, M1.y, M2.y, M0.z, M1.z, M2.z);
Out2x2 = float2x2(M0.x, M1.x, M0.y, M1.y);
}