Рассмотрим на примере работы массива с использованием имени выделенных объектов и части его имени.
У нас есть ноды с названием каждого позвонка в позвоночном столбе C,T,L. У ноды есть атрибут Max Rot Limit. Есть Joint_List в которой есть добавочные атрибуты Vector: C T L. Вектор, значит в одном названии 3 атрибута XYZ. Так удобно группировать для подключения в NodeEditor.
Надо умножить Max Rot Limit на Vector и полученный результат подключить к ригу костей в Rotate.
Т.к. нод много, их можно подключить с помощью массива.
Создаем MultiplyDivide ноду для умножения.
Если подключить вручную ноды, мы получим такие строки:
Если подключить вручную ноды, мы получим такие строки:
connectAttr -f C0.maxRotLimit multiplyDivide_C0.input1;
connectAttr -f Joints_List.C multiplyDivide_C0.input2;
connectAttr -f Joints_List.C multiplyDivide_C0.input2;
Чтобы подключить все ноды используем массив и части имен.
string $list[] = `ls -sl`;
for ($item in $list)
{
string $node = eval("substring "+$item+" "+1+" "+1);
connectAttr -f ($item+".maxRotLimit") ("multiplyDivide_"+$item+".input1");
connectAttr -f ("Joints_List."+$node) ("multiplyDivide_"+$item+".input2");
}
В это примере я использую только первую букву.
Вот что получается с одного скрипта:
Вот что получается с одного скрипта:
// returns the string "Hello".
substring "Hello There" 1 5;
Числа означают: используем порядок символов текста от первого числа и до второго числа.
Так можно использовать Substring в коде
string $t ="pahan is my name";
string $currentChr = eval("substring "+$t+" "+1+" "+7);
Числа означают: используем порядок символов текста от первого числа и до второго числа.
Так можно использовать Substring в коде
string $t ="pahan is my name";
string $currentChr = eval("substring "+$t+" "+1+" "+7);