Maya cmds.ls 상세 매뉴얼

Maya cmds.ls 상세 매뉴얼
 

개요

 

Autodesk Maya의 cmds.ls 명령어는 현재 장면(Scene) 내의 오브젝트 목록을 반환하는 데 사용됩니다.
다양한 필터링 옵션을 제공하여 특정 유형의 오브젝트나 이름 패턴과 일치하는 오브젝트를 쉽게 찾을 수 있습니다.
이는 스크립트와 리깅, 애니메이션 등에서 매우 유용하게 사용됩니다.

 

구문

 

cmds.ls(*args, **kwargs)

 

파라미터

 

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

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

 

주요 키워드 인수

 

type: 특정 유형의 오브젝트를 필터링합니다. 예를 들어, ‘mesh’, ‘nurbsCurve’ 등의 유형을 지정할 수 있습니다.

cmds.ls(type='mesh')

 

selection: 현재 선택된 오브젝트만 반환합니다.

cmds.ls(selection=True)

 

long: 오브젝트의 전체 경로를 반환합니다.

cmds.ls(long=True)

 

short: 오브젝트의 짧은 이름만 반환합니다.

cmds.ls(short=True)

 

dag: DAG(Directional Acyclic Graph) 노드만 반환합니다.

cmds.ls(dag=True)

 

showType: 각 오브젝트의 유형과 함께 반환합니다.

cmds.ls(showType=True)

 

visible: 현재 보이는 오브젝트만 반환합니다.

cmds.ls(visible=True)

 

undefined: 정의되지 않은 타입의 오브젝트만 반환합니다.

cmds.ls(undefined=True)

 

상세 설명

 

cmds.ls 명령어는 Maya 장면 내의 오브젝트를 나열하고 필터링하는 강력한 도구입니다.
이는 오브젝트의 이름, 유형, 선택 상태 및 기타 속성에 따라 검색 결과를 제한할 수 있습니다.

 

예제 1: 기본 사용법

 

장면 내의 모든 오브젝트를 나열하는 예제입니다.

import maya.cmds as cmds

# 장면 내의 모든 오브젝트를 나열
all_objects = cmds.ls()
print(all_objects)

 

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

 

장면 내의 모든 메쉬 오브젝트를 나열하는 예제입니다.

import maya.cmds as cmds

# 메쉬 타입의 오브젝트만 나열
meshes = cmds.ls(type='mesh')
print(meshes)

 

예제 3: 선택된 오브젝트 나열

 







 

현재 선택된 오브젝트만 반환하는 예제입니다.

import maya.cmds as cmds

# 현재 선택된 오브젝트만 나열
selected_objects = cmds.ls(selection=True)
print(selected_objects)

 

예제 4: 전체 경로 반환

 

장면 내의 모든 오브젝트의 전체 경로를 반환하는 예제입니다.

import maya.cmds as cmds

# 모든 오브젝트의 전체 경로를 나열
all_objects_full_path = cmds.ls(long=True)
print(all_objects_full_path)

 

예제 5: 특정 이름 패턴과 일치하는 오브젝트 나열

 

이름에 ‘pSphere’가 포함된 오브젝트를 나열하는 예제입니다.

import maya.cmds as cmds

# 'pSphere'가 포함된 이름의 오브젝트를 나열
spheres = cmds.ls('pSphere*')
print(spheres)

 

고급 사용법

 

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

 

예제 6: 여러 필터 사용

 

메쉬 타입의 오브젝트 중 선택된 오브젝트만 나열하는 예제입니다.

import maya.cmds as cmds

# 선택된 메쉬 오브젝트만 나열
selected_meshes = cmds.ls(selection=True, type='mesh')
print(selected_meshes)

 

예제 7: 오브젝트 유형 표시

 

각 오브젝트의 유형과 함께 반환하는 예제입니다.

import maya.cmds as cmds

# 모든 오브젝트와 그 유형을 나열
objects_with_types = cmds.ls(showType=True)
print(objects_with_types)

 

예제 8: 보이는 오브젝트만 나열

 

현재 보이는 오브젝트만 반환하는 예제입니다.

import maya.cmds as cmds

# 현재 보이는 오브젝트만 나열
visible_objects = cmds.ls(visible=True)
print(visible_objects)

 

주의 사항

 

  1. cmds.ls 명령어는 기본적으로 모든 오브젝트를 반환하므로, 큰 장면에서는 성능 문제가 발생할 수 있습니다.
    필요한 경우 필터링 옵션을 사용하여 반환되는 결과를 제한하는 것이 좋습니다.
  2. 이름 패턴을 사용할 때는 와일드카드 문자(‘*’)를 사용하여 일치하는 오브젝트를 검색할 수 있습니다.
  3. cmds.ls의 반환 값은 리스트 형식입니다.
    결과를 변수에 저장한 후, 이를 반복(iterate)하거나 다른 명령어에 전달하여 추가 작업을 수행할 수 있습니다.

 

참조

 

  • Maya Commands Documentation
  • Maya 스크립팅 관련 기타 명령어들:
    • cmds.select
    • cmds.filterExpand
    • cmds.listRelatives
    • cmds.listConnections

 

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