Render.ru

вопрос по скриптописанию

#1
Итак, вот какой вопрос: можно ли сделать так, чтобы скрипт начинал выполняться при проигрывании анимации или допустим выполнялся в каждом кадре при проигрывании анимации, как-то отслеживал текущий кадр. Я знаю что это в принципе делают экспрешены, но их функционала мне не достаточно(мне нужно создавать объекты и переводить их в nCloth).
 
Рейтинг
23
#3
можно сделать scriptJob на событие timeChanged.

ответ на второй вопрос: если пользуешься Мелом, то заноси по три числа в одномерный массив.
например, 0 0 0 1 2 3 4 5 6... и считывай элементы по три (x,y,z координаты для каждой вершины).
 
#4
спасибо, но задавая эти вопросы, я надеялся увидеть конкретные примеры, кусочки кода, честно говоря, потому что синтаксис интересует меня чуть ли не в первую очередь)
 

iNOD

Активный участник
Рейтинг
18
#5
Выделяешь в окне объект и запускаешь этот скрипт

Код:
expression -s "if (time != 0)\ntest02"  -o "" -ae 1 -uc all ;
global proc test02()
{
string $testsphere[] = `ls -sl`;
int $ty = rand (0, 10);
setAttr ($testsphere[0] + ".translateY") $ty;
}
Скрипт создает экспрешон который выполняет скрипт что ниже global proc
 

iNOD

Активный участник
Рейтинг
18
#6
Вот второй скрипт.

Код:
string $copyVertex = `window -t "CV"`;
columnLayout;   
    button -label "copy" -w 100 -c vertexCopy;    
    button -label "paste" -w 100 -c vertexTo;
showWindow;

global proc vertexCopy()
{
global string $vts[];
$vts = `ls -sl -flatten`;
}

global proc vertexTo()
{
string $vtt[] = `ls -sl -flatten`;
int $y;
int $i = 0;
for ($y in $vtt)
    {
    global string $vts[];
    float $d[] = `xform -ws -q -t $vts[$i]`;
    select -r $vtt[$i];
    xform -ws -t $d[0] $d[1] $d[2];
    $i++;
    }
}
Выделяешь точки которых нужно скопировать положение нажимаешь copy за тем выбираешь точки к которым нужно присвоить значения и нажимаешь paste.

P.S. положение точек в скрипте в глобальных координатах.
P.S.S и учти что как ты выделяешь точки по очередности так они и будут копироваться
 
Сверху