20180509
Спасибо за вашу информацию.
Я бы так и закончил.
select -all -hi;
string $allObj[] =`ls -sl -fl `;
for($i=0;$i<`size$allObj`;$i++)
{
select -r $allObj[$i];
int $attrExists = `attributeQuery -node $allObj[$i] -exists "mrFBXASC032displacementFBXASC032useFBXASC032globalFBXASC032settings"`;
if ($attrExists) {
deleteAttr -at "mrFBXASC032displacementFBXASC032useFBXASC032globalFBXASC032settings" $allObj[$i];
}
int $attrExists = `attributeQuery -node $allObj[$i] -exists "mrFBXASC032displacementFBXASC032viewFBXASC032dependent"`;
if ($attrExists) {
deleteAttr -at "mrFBXASC032displacementFBXASC032viewFBXASC032dependent" $allObj[$i];
}
int $attrExists = `attributeQuery -node $allObj[$i] -exists "mrFBXASC032displacementFBXASC032method"`;
if ($attrExists) {
deleteAttr -at "mrFBXASC032displacementFBXASC032method" $allObj[$i];
}
int $attrExists = `attributeQuery -node $allObj[$i] -exists "mrFBXASC032displacementFBXASC032smoothingFBXASC032on"`;
if ($attrExists) {
deleteAttr -at "mrFBXASC032displacementFBXASC032smoothingFBXASC032on" $allObj[$i];
}
int $attrExists = `attributeQuery -node $allObj[$i] -exists "mrFBXASC032displacementFBXASC032edgeFBXASC032length"`;
if ($attrExists) {
deleteAttr -at "mrFBXASC032displacementFBXASC032edgeFBXASC032length" $allObj[$i];
}
int $attrExists = `attributeQuery -node $allObj[$i] -exists "mrFBXASC032displacementFBXASC032maxFBXASC032displace"`;
if ($attrExists) {
deleteAttr -at "mrFBXASC032displacementFBXASC032maxFBXASC032displace" $allObj[$i];
}
int $attrExists = `attributeQuery -node $allObj[$i] -exists "mrFBXASC032displacementFBXASC032parametricFBXASC032subdivisionFBXASC032level"`;
if ($attrExists) {
deleteAttr -at "mrFBXASC032displacementFBXASC032parametricFBXASC032subdivisionFBXASC032level" $allObj[$i];
}
int $attrExists = `attributeQuery -node $allObj[$i] -exists "UDP3DSMAX"`;
if ($attrExists) {
deleteAttr -at "UDP3DSMAX" $allObj[$i];
}
int $attrExists = `attributeQuery -node $allObj[$i] -exists "MaxHandle"`;
if ($attrExists) {
deleteAttr -at "MaxHandle" $allObj[$i];
}
int $attrExists = `attributeQuery -node $allObj[$i] -exists "MaxVisibility"`;
if ($attrExists) {
deleteAttr -at "MaxVisibility" $allObj[$i];
}
int $attrExists = `attributeQuery -node $allObj[$i] -exists "currentUVSet"`;
if ($attrExists) {
deleteAttr -at "currentUVSet" $allObj[$i];
}
}
Показать еще одну ошибку
Cannot delete static attribute 'currentUVSet' from node 'ObjectName'
Не могут ли быть удалены дочерние элементы составного атрибута?
Или не обязательно удалить атрибут 'currentUVSet'?
20180508
После того, как я импортирую файл fbx в Maya из 3dmax.
У этих объектов есть некоторые атрибуты, которые мне не нужны.
"mrFBXASC032displacementFBXASC032useFBXASC032globalFBXASC032settings"
"mrFBXASC032displacementFBXASC032viewFBXASC032dependent"
"mrFBXASC032displacementFBXASC032method"
"mrFBXASC032displacementFBXASC032smoothingFBXASC032on"
"mrFBXASC032displacementFBXASC032edgeFBXASC032length"
"mrFBXASC032displacementFBXASC032maxFBXASC032displace"
"mrFBXASC032displacementFBXASC032parametricFBXASC032subdivisionFBXASC032level"
"UDP3DSMAX"
"MaxHandle"
"currentUVSet"
Я пытаюсь удалить их.
string $allObj[] =`ls -sl -fl `;
for($i=0;$i<`size$allObj`;$i++)
{
select -r $allObj[$i];
deleteAttr -at "mrFBXASC032displacementFBXASC032useFBXASC032globalFBXASC032settings";
deleteAttr -at "mrFBXASC032displacementFBXASC032viewFBXASC032dependent";
deleteAttr -at "mrFBXASC032displacementFBXASC032method";
deleteAttr -at "mrFBXASC032displacementFBXASC032smoothingFBXASC032on";
deleteAttr -at "mrFBXASC032displacementFBXASC032edgeFBXASC032length";
deleteAttr -at "mrFBXASC032displacementFBXASC032maxFBXASC032displace";
deleteAttr -at "mrFBXASC032displacementFBXASC032parametricFBXASC032subdivisionFBXASC032level";
deleteAttr -at "UDP3DSMAX";
deleteAttr -at "MaxHandle";
deleteAttr -at "currentUVSet";
}
}
Если я выберу все объекты. mel покажет сообщение об ошибке вроде:
does not have attribute 'UDP3DSMAX'
Потому что эти объекты не имеют одинаковых узлов.
Как правильно удалить все атрибуты?