{!See https://docs.google.com/document/d/1takg_GmIBBKKTj-GHZCwzxohpQz7Bhekivkk72kYMtE/edit for reference implementation of OneTrust, dataLayer and GTM} {!OneTrust Cookies Consent} {!OneTrust Cookies Consent end} {!dataLayer initialization push} {!dataLayer initialization push end} {!Google Tag Manager} {!Google Tag Manager end} Matrix Construction 노드 | Shader Graph | 10.8.0
docs.unity3d.com
"{0}"의 검색 결과

    목차 표시/숨기기

    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);
    }
    
    문서 개요
    맨 위로
    Copyright © 2023 Unity Technologies — 상표 및 이용약관
    • 법률정보
    • 개인정보처리방침
    • 쿠키
    • 내 개인정보 판매 금지
    • Your Privacy Choices (Cookie Settings)