Maya cmds.setAttr 상세 매뉴얼

Maya cmds.setAttr 상세 매뉴얼

개요

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.")

주의 사항

  1. 속성 존재 여부 확인: 속성 값을 설정하기 전에 해당 속성이 존재하는지 확인하는 것이 좋습니다.
  2. 적절한 값 제공: 속성 타입에 맞는 적절한 값을 제공해야 합니다. 예를 들어, 정수 타입 속성에는 정수 값을 제공해야 합니다.
  3. 잠금 상태 확인: 잠긴 속성의 값을 변경하려면 먼저 잠금을 해제해야 합니다.
  4. 애니메이션: 애니메이션 키 프레임이 설정된 속성의 값을 변경하면 애니메이션에 영향을 줄 수 있습니다.

참조

  • Maya Commands Documentation: Autodesk Maya 공식 문서입니다.
  • Maya 속성 관련 추가 리소스:
    • cmds.getAttr
    • cmds.addAttr
    • cmds.connectAttr
    • cmds.disconnectAttr

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