docs.unity3d.com
    目次を表示する/隠す

    Matrix Construction ノード

    説明

    M0、M1、M2、M3 の 4 つの入力ベクトルから正方行列を構築します。このノードは、Matrix 2x2、Matrix 3x3、Matrix 4x4 タイプの行列の生成に使用できます。

    ノードのドロップダウンメニューで、入力値が行と列のどちらを指定するかを選択できます。

    • Row : 入力ベクトルが、行列の行を上から下へ指定します。
    • Column : 入力ベクトルが、行列の列を左から右へ指定します。

    行列の出力は、入力の構造の左上の角から取得されます。これを使って、様々な次元のベクトルから様々な次元の正方行列を生成することができます。

    例えば、Vector 2 タイプの値を入力 M0 および M1 に接続すると、意図した行列が出力 2x2 から生成されます。

    ポート

    Name Direction タイプ 説明
    M0 入力 Vector 4 1 番目の行または列
    M1 入力 Vector 4 2 番目の行または列
    M2 入力 Vector 4 3 番目の行または列
    M3 入力 Vector 4 4 番目の行または列
    4x4 出力 Matrix 4x4 Matrix 4x4 形式の出力
    3x3 出力 Matrix 3x3 Matrix 3x3 形式の出力
    2x2 出力 Matrix 2x2 Matrix 2x2 形式の出力

    制御

    Name タイプ オプション 説明
    ドロップダウン 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);
    }
    

    Column

    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)