3DCGbook

映像プロダクションに所属しています。主に毎日のアウトプットを配信していこうと思います。

OpenMaya 勉強中 その1

プラグインを作りながらOpenMayaを勉強…
というのは僕には合ってなかったみたいです。
というか素人プログラマー気取りの僕にはまだ早かったです(笑)

なので、OpenMayaを一つ一つ丁寧に理解していこう!にシフトチェンジしました。
C++だと一つ一つ丁寧にが面倒くさいのですが、PythonAPIはその点楽ですね。

なので以下はシンプルなDAGとDGのapiTypeの取得です。

dagPath   = om.MDagPath()
mObj      = om.MObject()
nodeFn    = om.MFnDagNode()
list      = om.MSelectionList()
om.MGlobal.getActiveSelectionList(list)
iter      = om.MItSelectionList(list)
while not iter.isDone():
	iter.getDagPath(dagPath,mObj)
	print "%s is Selected. apiType is %s" %\
	(dagPath.fullPathName(),mObj.apiTypeStr())
	iter.next()

DAGとかDGってのが僕の中でまだまだ紛らわしいです。

DAGはまぁなんとなーく親子関係を持つもの程度として考えてますけど…。
DGは何に依存しているかを表すもので親を持つもたないに関わらず依存関係を…
といろいろ書くと自分でもよくわからなくなりそう&今でもよくわかってないので省略(^^;

DAG (Directed Acyclic Graph:非循環有向グラフ)
DG (Dependency Graph: 依存グラフ)

ってことで、
・MDagPath = DAG
・MObject = DG(実体参照用?)

くらいになんとなーくな理解で(逃)