1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Как раздублировать объект в вертексы плоскости, или в CV нурбс поверхности?

Тема в разделе "Maya", создана пользователем саша иванов 131713, 15 окт 2012.

Модераторы: Dark™, Skif
  1. саша иванов 131713

    саша иванов 131713 Активный участник

    С нами с:
    05.07.2011
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    5
    Есть шар полигональный, или нурбс, не так важно. Нужно его раздублировать и закрепить на вертексах плоскости, или на нурбс поверхности, для последующей анимации поверхности к которой "привязаны" шарики,?


    Заранее спасибо
     
  2. Strahovid

    Strahovid Активный участник

    С нами с:
    02.09.2012
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    11
    Я так понял, необходима привязка к компонентам? Вот, например, если работать с поли:
    1. выделить Вертекс на модели (плоскости)
    2. с зажатым шифт выделить сферу
    3. затем F2(Animation)>Constraint>Point on Poly
    Получится что-то вроде парента, только не ко всему мешу, а только к определённой компоненте, вертексу то есть.
     
  3. саша иванов 131713

    саша иванов 131713 Активный участник

    С нами с:
    05.07.2011
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    5
    Я решил задачу написанием скрипта.
    У меня 14 кривых я им сделал rebuild curve до 50, чтобы плотность шариков была достаточной, т.к. привязывает к точкам кривой.
    Имеем curve1...curve14
    и полигональный шарик anim c настроенной анимацией вырастания скейла с 0 до 1

    int $n=1;
    int $tm;
    int $k;
    for ($k=1; $k<=11; $k+=1)
    {
    int $t= `getAttr ("curveShape"+$n+".spans")`;
    string $name = ("spher"+$n+"_");
    int $b=1;
    for ($tm=0; $tm<=$t; $tm+=1)
    {
    select -r anim ;
    print ($n+"_");
    duplicate -rr -un -n ($name+$b);
    connectAttr -f ("curveShape"+$n+".ep["+$tm+"]") ($name+$b+".translate");
    $b+=1;
    }
    $n+=1;
    };


    Дальше была задача анимировать последовательное вырастание шариков из начала кривой.
    На каждой кривой брался шарик и двигались ключи анимации на 1 (можно задать формулу) кадр
    вот скрипт анимации

    int $n=1;
    int $tm;
    int $k;
    int $r=1;
    for ($k=1; $k<=11; $k+=1)
    {
    int $t= `getAttr ("curveShape"+$n+".spans")`;
    string $name = ("spher"+$n+"_");
    int $b=1;
    for ($tm=0; $tm<=$t; $tm+=1)
    {
    select -r ($name+$b);
    currentTime 1 ;
    currentTime 8 ;
    keyframe -e -iub false -an objects -t "1:1000" -r -o over -tc ($b/2) ("spher113_1_scaleX"+($r+1)) ("spher113_1_scaleY"+($r+1)) ("spher113_1_scaleZ"+($r+1));
    $b+=1;
    $r+=1;
    }
    $n+=1;
    };
     
  4. Strahovid

    Strahovid Активный участник

    С нами с:
    02.09.2012
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    11
  5. A.D.I.D.A.S.

    A.D.I.D.A.S. Активный участник

    С нами с:
    04.09.2010
    Сообщения:
    274
    Симпатии:
    1
    Баллы:
    14
    Шикарный скрипт .
     
Модераторы: Dark™, Skif

Поделиться этой страницей