Skip to content

Instantly share code, notes, and snippets.

@redglasses67
Created December 23, 2022 20:03
Show Gist options
  • Save redglasses67/d7c14837c091e56b3551aa978a7506f0 to your computer and use it in GitHub Desktop.
Save redglasses67/d7c14837c091e56b3551aa978a7506f0 to your computer and use it in GitHub Desktop.
選択しているノードの親や子ノードを取得する
import maya.OpenMaya as om
selList = om2.MGlobal.getActiveSelectionList()
mObject = selList.getDependNode(0)
dagNode = om2.MFnDagNode(mObject)
# ルートを取得
# ※ これで取得できるのは、シーン内には見えない本当のトップノード
# なので、下記のようにこのオブジェクトの子を取得すると perspカメラ や topカメラなどが得られる
topDagNode = om2.MFnDagNode(dagNode.dagRoot())
for t in range(topDagNode.childCount()):
top = om2.MFnDagNode(topDagNode.child(t))
print("top child = {} : partialPathName = {}".format(top.fullPathName(), top.partialPathName()))
# 親ノードを取得
for p in range(dagNode.parentCount()):
parent = om2.MFnDagNode(dagNode.parent(p))
print("parent = {} : partialPathName = {}".format(parent.fullPathName(), parent.partialPathName()))
# 子ノードを取得
for c in range(dagNode.childCount()):
child = om2.MFnDagNode(dagNode.child(c))
print("child = {} : partialPathName = {}".format(child.fullPathName(), child.partialPathName()))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment