私は、Mayaのyz平面で変換をミラーリングするためのスクリプトを作成しようとしています。どのように行列を別の行列に掛けて、openMayaとしますか?
希望の結果を得るノードネットワークをセットアップできました。私は、szを-1に設定し、左側のソースノード(このテストではlf_grp)を起点にノードを取得し、それらのworldMatrix attrsをmultMatrixノードに送りました。次に、出力(multMatrix.matrixSum)を分解行列と目的地ノードに渡しました。
ミラーリングを行うためのノードをたくさん作成しないでください - 作成/接続/切断/削除サイクルを実行するたびに時間がかかり、痛い...私はむしろ "私のスクリプトを通して、実際には2つの行列を掛け合わせる方法を見つけることができません...
ああ、私はMTransformationMatrixを使用しています。 (少なくとも私が読んだから...)回転順序
ようにあなたが与えることができる任意のヘルプをありがとう - ありません!
import maya.cmds as mc
import maya.OpenMaya as om
src_xfm = 'lf_grp'
mir_matrix_vals = [-1.0, -0.0, -0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0]
# get src xfm matrix
#
selList = om.MSelectionList()
selList.add(src_xfm)
mDagPath = om.MDagPath()
selList.getDagPath(0, mDagPath)
src_xfmFn = om.MFnTransform(mDagPath)
src_matrix = src_xfmFn.transformation()
# construct mir xfm matrix
#
mir_matrix = om.MTransformationMatrix()
tmp_matrix = om.MMatrix()
om.MScriptUtil().createMatrixFromList(mir_matrix_vals, tmp_matrix)
mir_matrix = om.MTransformationMatrix(tmp_matrix)
# multiply matrices to get mirrored matrix
#
dst_matrix = src_matrix * mir_matrix # HOW DO YOU DO THIS????
は...私はpymelを使用しないだろうとの情報のため –