Maya Python 명령어(maya.cmds)와 함수 사용법

Maya Python 명령어(maya.cmds)와 함수 사용법

Maya에서 Python 스크립트를 사용할 때, 특정 명령어와 함수를 사용하여 작업을 자동화할 수 있습니다. 이 글에서는 maya.cmds 모듈을 사용한 예제 코드와 함께 주요 명령어와 함수의 사용법을 소개합니다.

 Maya Python 함수와 명령어

 1. maya.cmds 모듈

Maya의 명령어를 사용할 수 있도록 하는 모듈입니다. 이 모듈을 통해 다양한 Maya 명령어를 실행할 수 있습니다.

import maya.cmds as cmds

 2. 객체 생성

cmds.polySphere: 구체 객체를 생성합니다.

cmds.polySphere(name='mySphere')

cmds.polyCube: 큐브 객체를 생성합니다.

cmds.polyCube(name='myCube')

 3. 객체 선택

cmds.select: 특정 객체를 선택합니다.

cmds.select('mySphere')

cmds.ls: 현재 씬에서 특정 조건에 맞는 객체를 나열합니다.

cmds.ls(type='mesh')

 4. 속성 설정 및 쿼리

cmds.setAttr: 특정 객체의 속성 값을 설정합니다.

cmds.setAttr('mySphere.translateX', 5)

cmds.getAttr: 특정 객체의 속성 값을 가져옵니다.

cmds.getAttr('mySphere.translateX')

 5. 씬 관리

cmds.file: 씬 파일을 새로 만들거나, 열거나, 저장합니다.

cmds.file(new=True, force=True)
cmds.file('path/to/scene.mb', open=True)
cmds.file(rename='path/to/new_scene.mb')
cmds.file(save=True, type='mayaBinary')

 6. 애니메이션

cmds.setKeyframe: 애니메이션 키프레임을 설정합니다.

cmds.setKeyframe('mySphere', attribute='translateX', t=1, v=0)
cmds.setKeyframe('mySphere', attribute='translateX', t=10, v=10)

cmds.playbackOptions: 재생 속도 및 범위를 설정합니다.

cmds.playbackOptions(minTime=1, maxTime=24)

 7. UI 생성

cmds.window: 새로운 UI 창을 생성합니다.

window = cmds.window(title='My Window')

cmds.columnLayout: 수직 레이아웃을 생성합니다.

cmds.columnLayout(adjustableColumn=True)

cmds.button: 버튼 UI 요소를 생성합니다.

cmds.button(label='Click Me')

 예제

 기본 예제

import maya.cmds as cmds

# 새로운 창 생성
window = cmds.window(title="Basic Window Example")
cmds.columnLayout(adjustableColumn=True)
cmds.button(label="Create Sphere", command=lambda x: cmds.polySphere(name='newSphere'))
cmds.button(label="Create Cube", command=lambda x: cmds.polyCube(name='newCube'))
cmds.showWindow(window)

 객체 생성 및 속성 설정 예제

import maya.cmds as cmds

# 구체 생성
sphere = cmds.polySphere(name='exampleSphere')[0]

# 구체 이동
cmds.setAttr(f'{sphere}.translateX', 5)
cmds.setAttr(f'{sphere}.translateY', 2)

# 키프레임 설정
cmds.setKeyframe(sphere, attribute='translateX', t=1, v=5)
cmds.setKeyframe(sphere, attribute='translateX', t=24, v=10)

 주요 함수와 설명

 cmds.ls

지정된 조건에 맞는 객체 리스트를 반환합니다.

cmds.ls(*args, **kwargs)
  • type: 객체 타입을 지정합니다.
  • selection: 현재 선택된 객체를 반환합니다.
  • long: 경로 이름을 포함한 객체 이름을 반환합니다.

 cmds.setAttr

지정된 객체의 속성 값을 설정합니다.

cmds.setAttr(attribute, value)
  • attribute: 속성 이름입니다. 예: ‘mySphere.translateX’
  • value: 설정할 값입니다.

 cmds.getAttr

지정된 객체의 속성 값을 반환합니다.

cmds.getAttr(attribute)
  • attribute: 속성 이름입니다.

 







 

 cmds.select

특정 객체를 선택합니다.

cmds.select(*args, **kwargs)
  • args: 선택할 객체의 이름입니다.
  • deselect: 선택을 해제합니다.

 cmds.polySphere

구체 객체를 생성합니다.

cmds.polySphere(*args, **kwargs)
  • name: 생성할 객체의 이름입니다.
  • radius: 구체의 반지름을 지정합니다.

 cmds.window

새로운 UI 창을 생성합니다.

cmds.window(*args, **kwargs)
  • title: 창의 제목을 지정합니다.
  • widthHeight: 창의 너비와 높이를 지정합니다.

 cmds.columnLayout

수직 레이아웃을 생성합니다.

cmds.columnLayout(*args, **kwargs)
  • adjustableColumn: 레이아웃의 열이 창의 크기에 맞게 조정되는지 여부를 지정합니다.

 cmds.button

버튼 UI 요소를 생성합니다.

cmds.button(*args, **kwargs)
  • label: 버튼에 표시될 텍스트입니다.
  • command: 버튼 클릭 시 실행될 명령입니다.

 cmds.file

씬 파일을 새로 만들거나, 열거나, 저장합니다.

cmds.file(*args, **kwargs)
  • new: 새로운 씬 파일을 생성합니다.
  • open: 기존 씬 파일을 엽니다.
  • save: 현재 씬 파일을 저장합니다.
  • rename: 씬 파일의 이름을 변경합니다.

 cmds.setKeyframe

애니메이션 키프레임을 설정합니다.

cmds.setKeyframe(*args, **kwargs)
  • attribute: 키프레임을 설정할 속성입니다.
  • t: 키프레임의 시간입니다.
  • v: 키프레임의 값입니다.

 cmds.playbackOptions

재생 속도 및 범위를 설정합니다.

cmds.playbackOptions(*args, **kwargs)
  • minTime: 재생 시작 시간을 설정합니다.
  • maxTime: 재생 종료 시간을 설정합니다.

 참조

Maya Commands Documentation: Autodesk Maya 공식 문서입니다.

Maya API 관련 추가 리소스:

  • cmds.rowLayout
  • cmds.formLayout
  • cmds.frameLayout
  • cmds.menu
  • cmds.menuItem

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