行列ユーティリティ ノード

Maya は行列ユーティリティ ノードを使用して、行列計算を使用するシーンにエフェクトを追加します。「トランスフォーム オフセット親行列(Transform Offset Parent Matrix)アトリビュートを編集する」も参照してください。

Maya では、次のユーティリティ行列を使用できます。

addMatrix
この addMatrix ノードは入力として行列のリストを取り、加算してすべての行列の入力の合計を出力します(m1 + m2 + m3 + m4 = matrixSumOutput)。

Maya テクニカル ドキュメントの「addMatrix」も参照してください。

aimMatrix
指定した主軸が指定した primaryTarget を指すように入力行列を変換します。2 番目のターゲットは、補助軸をこの一般的な方向(アップ ベクトル)に向けます。
aimMatrix ノードには、空間行列(Space Matrix)セクションがあり、合成(Composition)タブと行列(Matrix)タブを使用して、プリスペース行列(Pre Space Matrix) float 型とポストスペース行列(Post Space Matrix) float 型で、入力と出力の空間を変更できます。それぞれの状態が何を表しているかについては、「トランスフォーム オフセット親行列(Transform Offset Parent Matrix)アトリビュートを編集する」を参照してください。
aimMatrix はエイム/位置合わせのハイブリッド操作です。このノードでは、補助軸のエイム操作または位置合わせ操作に依存しないエイム操作または位置合わせ操作を使用して、主軸を設定できます。

aimMatrix ノードには次のオプションがあります

  • 入力軸(Input axis): エイム/位置合わせを行う軸
  • モード(Mode): aimMatrix ノードには、次の 5 つのモードがあります。
    モード 機能
    軸をロック(Lock Axis) 入力軸の変更を防止します。
    エイム(Aim) ターゲット行列のターゲット ベクトルによって定義されたポイントの方向に入力軸を向けます。
    位置合わせ(Align) ターゲット行列のターゲット ベクトルによって定義されたベクトルに入力軸を位置合わせします。
    なし(None) ソルバに補助軸を含めません。主軸は、最短のクォータニオン球面リニア補間を解に使用します。
    ターゲット ベクトル
    • エイム(Aim)モード: ターゲット ベクトルは、ターゲット行列内で 3D ポイントと同様に処理されます。
    • 位置合わせ(Align)モード: ターゲット ベクトルは、ターゲット行列内でベクトルと同様に処理されます。このモードでは、有効な値を指定する必要があります(0,0,0 は無効)。
axisFromMatrix
指定された変換行列から目的の軸(X、Y、または Z)の 3 次元ベクトルを取得します。
blendMatrix
BlendNode はベース行列(InputMatrix)を各ターゲットと連続的にブレンドします。ブレンドはスタックとして実行されます。前のブレンドの結果が次のターゲットとブレンドされます(以下同様)。
blendMatrix ノードとデフォメーションを連結し、ウェイト値を使用して補外および補間できるようにします。
blendMatrix は、ウェイト付けした平均値を求めるのではなく、順序付けしたブレンドを行います。以前の行列は、以降の行列によってオーバーライドされます。たとえば、3 つの行列にウェイト付けしたブレンドを実行すると、ブレンド率が 50% の場合は値として 1、1、1 が使用されますが、順序付けしたブレンドで同じ結果を得るには、ウェイトを 1、0.5、および 0.3333 (わかりやすく表現すると 1/1、1/2、1/3)にする必要があります。
blendMatrix には空間行列(Space Matrix)セクションがあり、入力と出力の空間を変更することができます。
blendMatrix ノードには空間行列(Space Matrix)セクションがあり、multMatrix ノードを追加することなく、入力と出力の空間を変更することができます。それぞれの状態が何を表しているかについては、「トランスフォーム オフセット親行列(Transform Offset Parent Matrix)アトリビュートを編集する」を参照してください。

blendMatrix ノードには次のオプションがあります

  • 行列の使用(Use Matrix): blendMatrixノードをアクティブにします。
  • スケール/移動/回転/シアの使用(Use Scale/Translate/Rotate/Shear): ブレンド計算に使用するコンポーネント(スケール/移動/回転/シア)を選択できます。
columnFromMatrix
columnFromMatrix ノードは、4 x 4 行列から指定された列を返します。
composeMatrix
composeMatrix ノードは、移動、(クォータニオンまたは回転)、スケール、およびシア値を使用して、4 x 4 の行列を生成します。
decomposeMatrix
decomposeMatrix ノードは入力として 4 x 4 の変換行列を使用し、変換行列を分解したものを返します。「トランスフォーム オフセット親行列(Transform Offset Parent Matrix)」の rotationFromMatrix、scaleFromMatrix、および translationFromMatrix を参照してください。
determinant
行列式ノードは、指定された行列の行列式を計算します。行列の行列式は、そのエントリの関数であるスカラー値です。
fourByFourMatrix
このノードは、16 個の入力値に基づいて 4 x 4 の行列を出力します。この出力行列アトリビュートは「行列」タイプの任意のアトリビュートに接続できます。

行列の最初の行は、in00、in01、in02、in03 で定義されます。

行列の 2 番目の行は、in10、in11、in12、in13 で定義されます。

行列の 3 番目の行は、in20、in21、in22、in23 で定義されます。

行列の 4 番目の行は、in30、in31、in32、in33 で定義されます。

holdMatrix
行列をキャッシュするには、このユーティリティを使用します。
inverseMatrix
inverseMatrixノードは、指定された反転可能な行列の逆行列を計算します。行列の逆行列は、その乗算によって単位行列が生成される行列です。
multiplyPointByMatrix
multiplyPointByMatrix ノードは、点と行列の乗算の積を返します。
multiplyVectorByMatrix
multiplyVectorByMatrix ノードは、ベクトルと行列の乗算の積を返します。これは、ベクトルの終点の行列乗算からベクトルの始点の乗算を引いたものを計算することと同じです。
multMatrix
行列のリストにまとめて乗算を行います。
parentMatrix
parentMatrix ノードは入力行列を取り、他の親ターゲットの効果にブレンドします。これは、すべてのターゲットの効果を正規化します。

これを使用すると、複数のターゲット入力のウェイト付き成分を混合して、トランスフォームの親をアニメートすることができます。

プリスペース行列(Pre Space Matrix)ポストスペース行列(Post Space Matrix)アトリビュートを使用して、入力と出力の空間を変更できます。

parentMatrix ノードには、空間行列(Space Matrix)セクションがあり、合成(Composition)タブと行列(Matrix)タブで、追加の multMatrix ノードを必要とせずに、プリスペース行列(Pre Space Matrix)とポストスペース行列(Post Space Matrix)アトリビュートを使用して入力と出力の空間を変更できます。parentMatrix の使用例については、「parentMatrix ノードを使用してオブジェクトをその親に変更する」を参照してください

parentMatrix ノードには、ターゲットごとに次のオプションがあります。
  • ターゲットを有効化(Enable Target): ターゲットを有効にします。
  • ウェイト(Weight): ターゲットに使用されるウェイトです(他のターゲット ウェイトで正規化されます)。
  • ターゲット行列(Target Matrix): ブレンドするターゲット行列です。
  • オフセット行列(Offset Matrix): ターゲット行列からのオフセットです。このオプションを使用すると、あるターゲットから別のターゲットにアニメートするときに、ハンドオフ ポイントでターゲットからのオブジェクトのオフセットをキャプチャできます。
ターゲットを管理(Manage Targets)

ParentMatrix のターゲットを管理(Manage Targets)メニュー

parentMatrix ノードには、ターゲットを管理(Manage Targets)メニューもあります。次のいずれかのオプションを選択します。
選択項目をターゲットとして追加/除去(Add/Remove Selected as Target) 選択したオブジェクトを行列に組み込むか、または行列から除去します。
ターゲット オフセットを初期化(Initalize Target Offset) ターゲットが単一の影響を及ぼすインフルエンス(ターゲットのウェイトが 1.0 で、その他のすべてが 0.0)になったときにオブジェクトが inputMatrix と同じ場所にとどまるように、offsetMatrix を計算します。
スナップ ターゲットのオフセット(Snap Target Offset) ターゲットが単一の影響を及ぼすインフルエンス(ターゲットのウェイトが 1.0 で、その他のすべてが 0.0)になったときにオブジェクトが現在の位置から移動しないように、offsetMatrix を計算します。
有効化(Enable)
エンベロープ(Envelope)スライダをアクティブにして、行列内のターゲット オブジェクトのオフセット強度を指定します。
エンベロープ(Envelope)
行列内のターゲット オブジェクトのオフセット強度のスケール係数を指定します。
passMatrix
何もキャッシュしないでに、行列に定数を乗算します。
pickMatrix
入力行列で使用する出力行列内のコンポーネントを選択できます。たとえば、移動と回転のみを選択できます。使用しないコンポーネントは、単位値に設定されています。
proximityPin
注: proximityPin は、技術的には行列ノードです。
proximityPin ノードは、ジオメトリ(「deformed Geometry」アトリビュートで指定)上の各ポイント(アトリビュート「coordinateU」と「coordinateV」で指定)の行列を返します。
変形サーフェス上の位置をトラックするために使用されます。このノードは、入力トランスフォームから最も近いサーフェス上のポイントの位置を取得します。対照的に、UV ピン(UV Pin)は指定された UV 座標から位置を取得します。
入力の再配置をコントロールする必要がある場合や、クリーンな UV を使用できない場合は、近接ピン(Proximity Pin)ノードを使用してオブジェクトをジオメトリにアタッチします。
詳細については、「近接ピン」、「近接ピンを作成する」および「近接ピンのオプション」を参照してください。
rotationFromMatrix
rotationFromMatrix ノードは、4 x 4 変換行列からオイラー回転を抽出します。ノードは、指定された行列が適切に形成された変換(回転、スケール、移動)行列であることを想定します。想定される回転順序は XYZ です。
rowFromMatrix
rowFromMatrix ノードは、4 x 4 行列から指定した行を返します。このノードを使用して、4 番目の行を選択して、4 x 4 変換行列から移動を抽出できます。
scaleFromMatrix
scaleFromMatrix ノードは、4 x 4 変換行列から X、Y、Z スケールを抽出します。ノードは、指定された行列が適切に形成された変換(回転、スケール、移動)行列であることを想定します。
translationFromMatrix
translationFromMatrix ノードは、4 x 4 変換行列から X、Y、Z 移動を抽出します。ノードは、指定された行列が適切に形成された変換(回転、スケール、移動)行列であることを想定します。
transposeMatrix
transposeMatrix ノードは、指定された行列を転置します。行列の転置は、行列コンポーネントが対角線上で反転される行列です。(行 i、列 j)にある値は、位置(行 j、列 i)に配置されます。
uvPin
注: uvPin は、技術的には行列ノードです。
トランスフォームを行列出力によって直接制御するには、固定ノードを使用します。
ジオメトリ(「deformed Geometry」アトリビュートで指定)上の各ポイント(アトリビュート「coordinateU」と「coordinateV」で指定)の行列を返します。
UV Pin」および「uvPin を作成する」を参照してください。
wtAddMatrix
行列のウェイト付きリストをまとめて加算します。