개요
Autodesk Maya의 cmds.setAttr 명령어는 특정 객체의 속성 값을 설정하는 데 사용됩니다. 이 명령어는 객체의 변형, 재질, 기타 다양한 속성을 제어할 때 사용되며, Maya의 장면을 프로그래밍 방식으로 조작할 수 있도록 도와줍니다.
구문
cmds.setAttr(attribute, value, type=None, **kwargs)
파라미터
주요 인수
- attribute: 속성을 지정하는 문자열입니다. 객체 이름과 속성 이름을 포함합니다.
- 유형: String
- 필수: 예
- 예:
'mySphere.translateX'
- value: 속성에 설정할 값입니다. 속성의 타입에 따라 여러 값이 올 수 있습니다.
- 유형: 다양한 타입 (Float, Int, Boolean, String 등)
- 필수: 예
- 예:
5.0,True,'Hello'
- type: 속성의 타입을 지정합니다. 기본적으로 Maya가 속성 타입을 자동으로 감지하지만, 필요시 명시적으로 지정할 수 있습니다.
- 유형: String
- 필수: 아니오
- 예:
'double','string'
주요 키워드 인수
- lock: 속성을 잠글지 여부를 지정합니다.
- 유형: Boolean
- 기본값: False
- keyable: 속성이 키 프레임을 설정할 수 있는지 여부를 지정합니다.
- 유형: Boolean
- 기본값: False
- channelBox: 속성이 채널 박스에 표시될지 여부를 지정합니다.
- 유형: Boolean
- 기본값: False
반환 값
반환 값이 없습니다. 지정된 속성에 값을 설정합니다.
상세 설명
cmds.setAttr 명령어는 Maya 객체의 속성 값을 설정하는 데 사용됩니다. 이 명령어는 다양한 속성 타입을 지원하며, 단일 값 또는 여러 값을 설정할 수 있습니다. 속성의 타입에 따라 적절한 값을 제공해야 합니다.
예제 1: 기본 사용법
import maya.cmds as cmds
# 구체 생성
sphere = cmds.polySphere(name='mySphere')[0]
# 구체의 X 위치를 5로 설정
cmds.setAttr('mySphere.translateX', 5)
예제 2: 여러 값 설정
import maya.cmds as cmds
# 색상 설정
cmds.setAttr('lambert1.color', 1, 0, 0, type='double3') # 빨간색으로 설정
예제 3: 속성 잠금 및 키 가능 설정
import maya.cmds as cmds
# 구체 생성
sphere = cmds.polySphere(name='mySphere')[0]
# 구체의 X 위치를 5로 설정하고 잠금
cmds.setAttr('mySphere.translateX', 5, lock=True)
# 구체의 Y 위치를 10으로 설정하고 키 가능하게 설정
cmds.setAttr('mySphere.translateY', 10, keyable=True)
예제 4: 문자열 속성 설정
import maya.cmds as cmds
# 노트 속성에 문자열 설정
cmds.setAttr('mySphere.notes', 'This is a note', type='string')
예제 5: 채널 박스에 속성 표시
import maya.cmds as cmds
# 구체 생성
sphere = cmds.polySphere(name='mySphere')[0]
# 구체의 X 위치를 5로 설정하고 채널 박스에 표시
cmds.setAttr('mySphere.translateX', 5, channelBox=True)
고급 사용법
예제 6: 조건부 속성 설정
import maya.cmds as cmds
# 구체 생성
sphere = cmds.polySphere(name='mySphere')[0]
# 조건에 따라 구체의 X 위치를 설정
if cmds.objExists('mySphere'):
cmds.setAttr('mySphere.translateX', 10)
else:
print("Object 'mySphere' does not exist.")
주의 사항
- 속성 존재 여부 확인: 속성 값을 설정하기 전에 해당 속성이 존재하는지 확인하는 것이 좋습니다.
- 적절한 값 제공: 속성 타입에 맞는 적절한 값을 제공해야 합니다. 예를 들어, 정수 타입 속성에는 정수 값을 제공해야 합니다.
- 잠금 상태 확인: 잠긴 속성의 값을 변경하려면 먼저 잠금을 해제해야 합니다.
- 애니메이션: 애니메이션 키 프레임이 설정된 속성의 값을 변경하면 애니메이션에 영향을 줄 수 있습니다.
참조
- Maya Commands Documentation: Autodesk Maya 공식 문서입니다.
- Maya 속성 관련 추가 리소스:
cmds.getAttrcmds.addAttrcmds.connectAttrcmds.disconnectAttr
이 매뉴얼은 Maya의 cmds.setAttr 명령어에 대한 포괄적인 설명을 제공하며, 다양한 예제와 사용법을 통해 사용자에게 깊이 있는 이해를 제공합니다.