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

Дублировать ноды в сложных связях?

Тема в разделе "Maya", создана пользователем BANNY, 26 апр 2006.

Модераторы: Dark™, Skif
  1. BANNY

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

    С нами с:
    05.01.2006
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    11
    Вот у меня есть анимация одной буквы, транслате, ротате, к нему привязан анимированый бенд и припарентиен,
    кто расскажет как мне применять такую же анимацию к другим буквам расположенным, естесссно в другом месте, и в другое время?
     
  2. Yakomasi

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

    С нами с:
    21.04.2005
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    10
    пиши скрипт для этого! без него никак!
    в общем я так понимаю, из Скрипт эдитора выбираешь строки с действиями над первой буквой и применяешь эти действия для остальных прописывая строку в какой момент времени действия должны произойти, я бы от этих мыслей бы отталкивался....
     
  3. BANNY

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

    С нами с:
    05.01.2006
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    11
    неужели только так можно...? :(((
     
  4. BANNY

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

    С нами с:
    05.01.2006
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    11
    Я вижу решение этой проблемы так, с дублировать первую букву с входящим графом,
    а потом подменить старую букву на новую. Но как подменить - я не знаю... :((
    Вот как выглядит эта буква в гиперграфе:
     

    Вложения:

    • 38.jpg
      38.jpg
      Размер файла:
      48,8 КБ
      Просмотров:
      43
  5. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Можно на атрибут самого первого шейпа "inMesh" подать "worldMesh" другой буквы.
     
  6. BANNY

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

    С нами с:
    05.01.2006
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    11
    нет такого атрибута ВОРЛД меш............. :((
     
  7. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Да что вы говорите? ;) Уж не на трансформе ли вы его ищете? ;)
     
  8. BANNY

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

    С нами с:
    05.01.2006
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    11
    на трансформе, а других нет.... :(
    вы имеете ввиду паралелаграм, так его не видать :(
     
  9. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Искать его наверное надо всё-таки на шейпе....
     
  10. BANNY

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

    С нами с:
    05.01.2006
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    11
    Я передал с трансформа на трансформ : outMesh - inMesh
     
  11. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    У трансформа нет таких атрибутов.
     
  12. BANNY

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

    С нами с:
    05.01.2006
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    11
    Прямоугольнички это ж трансформ?
     
  13. helg

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

    С нами с:
    26.07.2005
    Сообщения:
    263
    Симпатии:
    0
    Баллы:
    12
    LOL
    "Прямоугольнички" - это пять!
     
  14. Guest

    Вот я сделал такой скрипт для анимации камеры при композинге....знач я делал так, скрипт для камеры который собирает информацию по движению по врашению по фокальному расстоянию камеры....знач так делаем процедуру которая собирает информацию об камере как она будет врашатся двигатся также фокальное расстояние. Потом зациклим на несколько кадров в моём случае это 200 кадров.
    что мы получаем мы получаем информацию в Script Editor..копируем эту всю информацию и сохраням её в *.txt формате где мы увидем просто какой кадр потом по X Y Z это движение и так же с остальными по Врашению ,фокальное растояние.Просто 1 словом информация выглядит просто цифры..Вот на 10 кадров Анимация



    1 2 4 6 0 0 0 35
    2 2 4 6 0 0 0 35
    3 2 4 6 0 0 0 35
    4 2 4 6 0 0 0 35
    5 2 4 6 0 0 0 35
    6 2 4 6 0 0 0 35
    7 2.600284911 3.807977208 7.380341877 0 0 0 35
    8 3.20056981 3.615954416 8.760683759 0 0 0 35
    9 3.7 3.6 9.3 0 0 0 35
    10 4.136847243 3.744222362 9.061944558 0 0 0 35




    ....потом я сделал скрипт который мы бы хотели применить для анимации другой камеры.Скрипт собирает информацию из *.txt и на лаживает на каждый кадр все настройки все координаты на камеру и мы получаем чистую анимацию 1 камеры.:)
    Знач вот мои Скрипты...

    1.СКРИПТ ДЛЯ СОБИРАНИЕ ИНФОРМАЦИИ



    global proc cameraMove()
    {
    string $nodes[] = `ls -sl`;
    string $change_name;
    for($change_name in $nodes)
    {
    print (" ");
    }
    string $rotateX = `getAttr ($change_name + ".rx")`;
    string $rotateY = `getAttr ($change_name + ".ry")`;
    string $rotateZ = `getAttr ($change_name + ".rz")`;
    string $moveX = `getAttr ($change_name + ".tx")`;
    string $moveY = `getAttr ($change_name + ".ty")`;
    string $moveZ = `getAttr ($change_name + ".tz")`;
    string $Focal = `getAttr ($change_name + ".fl")`;
    print (" " + $moveX);
    print (" " + $moveY);
    print (" " + $moveZ);
    print (" " + $rotateX);
    print (" " + $rotateY);
    print (" " + $rotateZ);
    print (" " + $Focal + "\n");
    }
    cameraMove();


    global proc cikl()
    {
    float $test = 0;
    while ($test < 200)
    {
    playButtonStepForward;
    print ($test+1);
    print (cameraMove());
    $test = $test + 1;
    }
    }

    global proc UI()
    {
    string $window = `window -title "Compozing" -widthHeight 10 10`;
    rowColumnLayout;
    button -label "Click proc" -c "cameraMove()";
    button -label "Click cikl" -c "cikl()";
    showWindow $window;
    }
    UI()




    2СКРИПТ ДЛЯ НАЛАЖИВАНИЯ АНИМАЦИИ СОБРАННОЙ ИНФОРМАЦИИ


    global proc getAnim(string $fileName, string $objectName)
    {
    //open the file for reading
    $fileId=`fopen $fileName "r"`;

    //get the first line of text
    string $nextLine = `fgetline $fileId`;

    //while $nextline is not emtpy(end of file) do the following

    while ( size( $nextLine ) > 0 ) {

    //tokenize(split) line into separate elements of an array
    string $rawAnimArray[];
    tokenize ($nextLine, " ",$rawAnimArray);

    //place each element of the array into separate variables
    print $rawAnimArray;
    float $frame=$rawAnimArray[0];
    float $x=$rawAnimArray[1];
    float $y=$rawAnimArray[2];
    float $z=$rawAnimArray[3];

    //change the currentTime and set keys for tx, ty, tz

    currentTime $frame ;
    setAttr ($objectName+".tx") $x;
    setKeyframe ($objectName+".tx");
    setAttr ($objectName+".ty") $y;
    setKeyframe ($objectName+".ty");
    setAttr ($objectName+".tz") $z;
    setKeyframe ($objectName+".tz");

    //get the next line in the ascii file.
    $nextLine = `fgetline $fileId`;
    }

    //close file
    fclose $fileId;
    }

    global proc query()
    {
    string $name = `promptDialog -title "make name" -message "white name what you want" -text "camera"`;
    string $baseName = `promptDialog -q`;
    string $prompt = `fileDialog -dm "*.txt"`;
    getAnim($prompt,$baseName);
    }
    query();

    СпасиБО.
     
Модераторы: Dark™, Skif

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