Maya cmds.listRelatives 상세 매뉴얼

Maya cmds.listRelatives 상세 매뉴얼
 

개요

 

Autodesk Maya의 cmds.listRelatives 명령어는 주어진 오브젝트의 자식, 부모, 형제 및 기타 관련 오브젝트를 나열하는 데 사용됩니다.
이는 계층 구조를 탐색하고 특정 오브젝트의 관계를 이해하는 데 매우 유용합니다.

 

구문

 

cmds.listRelatives(*args, **kwargs)

 

파라미터

 

args: 오브젝트 이름 또는 이름 패턴의 목록을 제공합니다.
하나 이상의 문자열을 입력할 수 있습니다.

kwargs: 다양한 필터링 옵션을 지정할 수 있는 키워드 인수들입니다.

 

주요 키워드 인수

 

children (c): 자식 오브젝트를 반환합니다.

cmds.listRelatives('objectName', children=True)

 

parent (p): 부모 오브젝트를 반환합니다.

cmds.listRelatives('objectName', parent=True)

 

allDescendents (ad): 모든 자손 오브젝트를 반환합니다.

cmds.listRelatives('objectName', allDescendents=True)

 

fullPath (f): 오브젝트의 전체 경로를 반환합니다.

cmds.listRelatives('objectName', fullPath=True)

 

type (typ): 특정 유형의 오브젝트만 반환합니다.

cmds.listRelatives('objectName', type='mesh')

 

shapes (s): 쉐이프 노드를 반환합니다.

cmds.listRelatives('objectName', shapes=True)

 

noIntermediate (ni): 중간 쉐이프 노드를 제외합니다.

cmds.listRelatives('objectName', noIntermediate=True)

 

상세 설명

 

cmds.listRelatives 명령어는 Maya 장면 내의 오브젝트 관계를 탐색하는 강력한 도구입니다.
부모-자식 관계, 형제 관계 등을 탐색할 수 있으며, 다양한 필터를 사용하여 반환되는 결과를 제한할 수 있습니다.

 

예제 1: 기본 사용법

 

주어진 오브젝트의 자식 오브젝트를 나열하는 예제입니다.

import maya.cmds as cmds

# 'pSphere1'의 자식 오브젝트를 나열
children = cmds.listRelatives('pSphere1')
print(children)

 

예제 2: 부모 오브젝트 나열

 

주어진 오브젝트의 부모 오브젝트를 나열하는 예제입니다.

import maya.cmds as cmds

# 'pSphere1'의 부모 오브젝트를 나열
parent = cmds.listRelatives('pSphere1', parent=True)
print(parent)

 

예제 3: 모든 자손 오브젝트 나열

 

주어진 오브젝트의 모든 자손 오브젝트를 나열하는 예제입니다.

import maya.cmds as cmds

# 'pSphere1'의 모든 자손 오브젝트를 나열
descendants = cmds.listRelatives('pSphere1', allDescendents=True)
print(descendants)

 







 

예제 4: 전체 경로 반환

 

주어진 오브젝트의 자식 오브젝트의 전체 경로를 반환하는 예제입니다.

import maya.cmds as cmds

# 'pSphere1'의 자식 오브젝트의 전체 경로를 나열
children_full_path = cmds.listRelatives('pSphere1', fullPath=True)
print(children_full_path)

 

예제 5: 특정 유형의 오브젝트 필터링

 

주어진 오브젝트의 자식 오브젝트 중 메쉬 타입만 나열하는 예제입니다.

import maya.cmds as cmds

# 'pSphere1'의 자식 오브젝트 중 메쉬 타입만 나열
mesh_children = cmds.listRelatives('pSphere1', type='mesh')
print(mesh_children)

 

예제 6: 쉐이프 노드 반환

 

주어진 오브젝트의 쉐이프 노드를 반환하는 예제입니다.

import maya.cmds as cmds

# 'pSphere1'의 쉐이프 노드를 나열
shapes = cmds.listRelatives('pSphere1', shapes=True)
print(shapes)

 

고급 사용법

 

cmds.listRelatives를 사용하여 더 복잡한 필터링을 수행하는 방법에 대한 고급 예제입니다.

 

예제 7: 중간 쉐이프 노드 제외

 

주어진 오브젝트의 자식 오브젝트 중 중간 쉐이프 노드를 제외하고 반환하는 예제입니다.

import maya.cmds as cmds

# 'pSphere1'의 자식 오브젝트 중 중간 쉐이프 노드를 제외하고 나열
non_intermediate_children = cmds.listRelatives('pSphere1', noIntermediate=True)
print(non_intermediate_children)

 

예제 8: 여러 필터 사용

 

주어진 오브젝트의 자식 오브젝트 중 메쉬 타입만 반환하고, 전체 경로를 포함하는 예제입니다.

import maya.cmds as cmds

# 'pSphere1'의 자식 오브젝트 중 메쉬 타입만 반환하고 전체 경로를 포함
mesh_children_full_path = cmds.listRelatives('pSphere1', type='mesh', fullPath=True)
print(mesh_children_full_path)

 

주의 사항

 

  1. cmds.listRelatives 명령어는 기본적으로 자식 오브젝트를 반환합니다.
    부모 오브젝트를 반환하려면 parent=True 옵션을 사용해야 합니다.
  2. 오브젝트가 존재하지 않거나 지정된 유형의 자식 오브젝트가 없는 경우 None을 반환합니다.
  3. 반환 값은 리스트 형식입니다. 결과를 변수에 저장한 후, 이를 반복(iterate)하거나 다른 명령어에 전달하여 추가 작업을 수행할 수 있습니다.
  4. 필터 옵션을 결합하여 더 구체적인 검색 결과를 얻을 수 있습니다.

 

참조

 

 

이 매뉴얼은 Maya의 cmds.listRelatives 명령어에 대한 포괄적인 설명을 제공하며, 다양한 예제와 사용법을 통해 사용자에게 깊이 있는 이해를 제공합니다.