maya Python API2.0 MItDependencyNodes에서 장면의 모든 노드 참조
테스트하면서 정리하고 있기 때문에, 실수나 문장에서 하고 있는 것으로 보다 좋은 방법등 있으면 지적해 주시면 고맙습니다.
maya Python API2.0 MItDependencyNodes에서 장면의 모든 노드 참조
MItDependencyNodes 클래스의 거동 테스트를 했으므로 정리한 것입니다.
실행 환경은 Maya2017입니다.
공식 문서 링크 - OpenMaya.MItDependencyNodes Class Reference
PAI2.0에서 스크립트를 짤 때는 MGlobal에서 대상 노드를 선택하고 있었지만, 가는 것은 그렇게도 가지 않는 경우가 나올 것이라고 생각하기 때문에, cmds 로 말하는 곳의 ls 로서 이용할 수 있는 클래스를 찾았습니다.
문서를 보면 알 수 있듯이 기능은 매우 간단하고 장면의 모든 노드를 얻을 수 밖에 할 수없는 모양.
MItDependencyNodes_test.pyimport maya.api.OpenMaya as om
# API2.0でシーン内全てのノードを参照する
test = om.MItDependencyNodes()
while not test.isDone():
currentNode = test.thisNode() # イテレータの現在のノード
# 指定のタイプを取得(ここではtransform)
if currentNode.apiType() == om.MFn.kTransform:
### 対象ノードタイプへの処理 ###
print om.MFnDagNode(currentNode).name() # 名前を確認
test.next() # イテレータを進める
test.reset() # イテレータをリセット
API 유형 를 참조해, 지정된 노드를 취득할 수 있었습니다.
MItDependencyNodes.thisNode ()에서 MObject로 돌아 왔기 때문에 MFnDagNode
인스턴스를 작성하여 무사히 이름을 얻어 완료할 수 있었습니다.
테스트한 장면
또한 MItDependencyNodes를 정의한 후에 만든 노드도 제대로 참조되었습니다.
Reference
이 문제에 관하여(maya Python API2.0 MItDependencyNodes에서 장면의 모든 노드 참조), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yosemite/items/a39a128b8bb898118dc6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import maya.api.OpenMaya as om
# API2.0でシーン内全てのノードを参照する
test = om.MItDependencyNodes()
while not test.isDone():
currentNode = test.thisNode() # イテレータの現在のノード
# 指定のタイプを取得(ここではtransform)
if currentNode.apiType() == om.MFn.kTransform:
### 対象ノードタイプへの処理 ###
print om.MFnDagNode(currentNode).name() # 名前を確認
test.next() # イテレータを進める
test.reset() # イテレータをリセット
또한 MItDependencyNodes를 정의한 후에 만든 노드도 제대로 참조되었습니다.
Reference
이 문제에 관하여(maya Python API2.0 MItDependencyNodes에서 장면의 모든 노드 참조), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yosemite/items/a39a128b8bb898118dc6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)