일부 노드에 대한 열거 형 목록 인 사용자 지정 특성을 추가하고 있습니다. addAttr을 사용하면이 작업을 쉽게 수행 할 수 있습니다. 하지만 나중에 새 enum 값을 추가하거나 enum 목록을 변경하는 방법은 없습니다. 그게 가능하니?Maya에서 사용자 지정 특성의 열거 형 목록을 변경할 수 있습니까?
나는 이것을하는 방법을 발견했지만 더 쉬운 방법이 있어야합니다. 나의 임시 해결책을 위해, 속성이 존재하는 경우에 나는 그것의 가치를 움켜 잡고 속성을 삭제한다. 그런 다음 수정 된 속성을 노드에 다시 추가하고 해당 값을 이전 값으로 설정합니다. $ enumValues를 변경함으로써 enum 목록을 편집 할 수 있습니다. 이 스크립트는 내 해결 방법을 보여 (I 만 값을 삭제하지 값을 추가 할 계획입니다) :
string $attrName = "MaterialType";
string $enumValues = "Water:Sky:Terrain:Building:Road:";
string $selected[] = `ls -sl`;
if(`size $selected` == 1)
{
string $attrFullName = $selected[0]+"."+$attrName;
$existingValue = 0;
if(attributeExists($attrName, $selected[0]))
{
$existingValue = `getAttr $attrFullName`;
deleteAttr $attrFullName;
}
addAttr -ln $attrName -at "enum" -en $enumValues $selected;
setAttr $attrFullName $existingValue;
}
else
{
print "You must have 1 object and only 1 object selected\n";
};
나는이 스크립트를 실행하는 경우는 열거의 값을 변경하지하지만 이러한 변화가 마야의 인터페이스에 표시되지 않으며, 언급 할 가치가 파일을 닫고 파일을 다시 열 때까지.
더 효과적으로 수행하는 방법에 대한 제안 사항을 보내 주시면 감사하겠습니다.