行列演算を行う(OpenMaya
#単位行列を生成
ident_mat = om.MMatrix()
#nodeの行列を取得する
import maya.api.OpenMaya as om
node_mat = om.MMatrix(cmds.getAttr(node+".matrix"))
#nodeを含めたワールド行列をもとめる
node_wmat = om.MMatrix(cmds.getAttr(node+".worldMatrix"))
#nodeの逆行列を求める
node_inv_mat = node_mat.inverse()
#行列演算を行う
cul_mat = ident_mat *node_mat
コマンドを実行する
#subprocess.check_outputを使用する
import subprocess
#ここにコマンドを書く(今回はipconfigの立ち上げだけ)
com="ipconfig"
#DOS窓を表示しないオプション設定
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
startupinfo.wShowWindow = subprocess.SW_HIDE
#コマンドを実行する。実行した戻り値をリストで回収できる
subprocess.check_output(com.split(" "), startupinfo=startupinfo)
ファイルIOを行う
os.pathを使用する
import os
if os.path.isfile(__filepath):
#ファイルを書き込み用で開く
__fp = open(__filepath, 'r')
#データ読み込み
__fp.read()
__fp.close()
キーフレームの取得
#オブジェクトnodeの最初のキーフレームの取得
st = cmds.findKeyframe(node,w="first")
#オブジェクトnodeの最後のキーフレームの取得
end = cmds.findKeyframe(node,w="last")
#オブジェクトnodeのstの次のキーフレームを取得
#(ループでまわして、stを見つかったキーフレームに更新していけばすべてのキーがとれる)
next = cmds.findKeyframe(node,time=(st,st),w="next")
オブジェクトノードの情報
#ノードのタイプを取得
cmds.objectType(in_obj)
#ノードの子供を取得
cmds.listRelatives(node)