🗂

[Maya] 行列(Matrix)の取得/作成と要素の取得

に公開

変換行列の取得

ノードエディタ等で[transform]ノードを表示する。
〇〇 Matrixという名前のアトリビュートからそれぞれの変換行列を取得できる。
ただし、配列になっているもの(画像青枠)もあるので、行列アトリビュート横の+ボタンを押して展開する。

行列の作成

SRTから作成

[composeMatrix]を作成し、TranslateやRotateを入力につなぐ。
または、Attribute Editorで直接Input Propertiesを入力する。
Output Matrixが作成された行列を出力する。

数値から作成

[fourByFourMatrix]を作成し、任意の数値を接続する。(ノードのアイコンの辺りで右クリック > Show All Attributesで入力アトリビュートを表示できる。)
または、Attribute Editorで直接入力する。

行列の値の確認

[decomposeMatrix]を作成し、行列の出力につなぐ。
Attribute EditorでDecomposeMatrix Attributes > Input Properties > Input Matrix > Matrixを確認する。

行/列/要素の取得

行は[rowFromMatrix]、列は[columnFromMatrix]で取得できる。
Inputアトリビュートで指定した行番号(または列番号)の要素を取得。

また、軸要素は[axisFromMatrix]で取得できる。例えばAxisアトリビュートをXにすると0行目のxyz成分が取得できる。これは、[rowFromMatrix]でindexを0にしたときに取得できるxyz成分の値と同じ。

例えば、2行目0列目の要素を取得したいのであれば、
[rowFromMatrix]のOutputXまたは[columnFromMatrix]のOutputYまたは[axisFromMatrix]のOutputXから取得できる。

Discussion