Добавить несколько прокси к ссылкам в сцене
Я просто хочу знать, как я могу добавить несколько прокси к ссылочным файлам в моей сцене Maya.
Сценарий: мы выбираем объекты, которые содержат "_v001":
select -r "*_v001";
Мы создаем функцию для добавления прокси для каждого файла, на который ссылаемся:
global proc proxyAddition() {
string $selectionList[] = `ls -sl`;
if(size($selectionList)) {
string $object = $selectionList[0];
string $currentRN = `referenceQuery -rfn $object`;
string $currentFilePath = `referenceQuery -filename $object`;
string $currentNamespace = `referenceQuery -namespace $object`;
if(endsWith($currentRN, "v001RN") == 1) {
string $newRN = `substitute "v001RN" $currentRN "v002"`;
string $newFilePath = `substitute "v001" $currentFilePath "v002"`;
string $newNamespace = `substitute "v001" $currentNamespace "v002"`;
proxyAdd $currentRN $newFilePath "HD";
print "Opération effectuée avec succès.";
}
} else {
warning "Aucun objet de type v001 dans la scène.";
}
}
proxyAddition;
Что я хочу, так это найти фрагмент строки "v001" в каждом из указанных файлов и изменить его на "v002" (для proxyName, пространства имен и пути к файлу).
Спасибо.
1 ответ
Наконец мне удается закончить это:
select -r "*_v001:*";
global proc proxyAddition() {
string $selectionList[] = `ls -sl -type "mesh"`;
if(size($selectionList)) {
for($object in $selectionList) {
string $currentRN = `referenceQuery -rfn $object`;
string $currentFilePath = `referenceQuery -filename $object`;
string $currentNamespace = `referenceQuery -namespace $object`;
if(endsWith($currentRN, "v001RN") == 1) {
string $newRN = `substitute "v001RN" $currentRN "v002"`;
string $newFilePath = `substitute "v001" $currentFilePath "v002"`;
string $newNamespace = `substitute "v001" $currentNamespace "v002"`;
proxyAdd $currentRN $newFilePath "HD";
print "Opération effectuée avec succès.";
}
}
} else {
warning "Aucun objet de type v001 dans la scène.";
}
}
proxyAddition;
Сценарий выбирает объект, имя которого содержит "_v001", а затем фильтрует его, чтобы сохранить только объекты сетки. После этого мы используем метод referenceQuery для хранения наших текущих ссылочных переменных. Затем мы заменяем переменную, которая содержит строковое значение "v001", на "v002" в новых переменных. Этот метод замены используется для пути к файлу, пространства имен и ReferenceNode нашего текущего ссылочного объекта (объектов). С этими новыми переменными мы можем добавить наши новые прокси / прокси, используя "proxyAdd".
Этот процесс может работать, только если у вас есть справочные файлы в той же папке. Если это не так, используйте метод замены для вашего пути к файлу с большим количеством опций. Вы также можете изменить "v001" и "v002" на ваши собственные значения, которые отличают версии ваших файлов ссылок.
Аргумент "HD" используется для proxyTag вашего ссылочного файла.