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

AE MotionMath 4 Professionals

Тема в разделе "Adobe After Effects", создана пользователем -, 3 июл 2003.

Модераторы: ksi2, Saplus
  1. Guest

    Вот такая беда в AE - не могу создать нормальный вложенный цикл, - приходится огород городить. Еще один трабл - создание многомерных массивов. Это такое невообразимое множество NULL слоев приходится создавать..... =( Записываю в POSITION последовательно свои данные, а потом оттуда их из скриптов извлекаю... =))) Вот изврат! Смотрите, что приходится делать...
    Ребята, профессионалы, помогите мне чем-нибудь! Ведь это же абсолютно неизящные формы программирования!!! К тому же у AE наступает момент переполнения и он отказывается продолжать скрипт!!! Не дает написать ни одного символа, мол, все - хватит, написался уже.....

    xx1 = 50;
    xx2 = 70;
    n = 1;
    while (n <= 15) {
    pos1 = tmap(frame_to_time(n), value("PathShape [C]", position));
    xtrace = value("x trace", position)[x];
    pos1[x] = sin((xtrace-n)/15)*xx1 + value("Motion Sketch", position)[x] + pos1[x];
    pos1[y] = cos((xtrace-n)/13)*xx2 + value("Motion Sketch", position)[y] + pos1[y];
    effect_value(txt_field_c, n-1, 1)[x] = pos1[x] - 120;
    effect_value(txt_field_c, n-1, 1)[y] = pos1[y] - 280;
    effect_value(txt_field_c, n-1, 8) = sin((xtrace-n*5)/10)*20+10;
    n = n + 1;
    }
    n = 1;
    while (n <= 15) {
    pos1 = tmap(frame_to_time(n), value("PathShape [O]", position));
    xtrace = value("x trace", position)[x];
    pos1[x] = sin((xtrace-n)/7)*(xx1+10) + value("Motion Sketch", position)[x] + pos1[x];
    pos1[y] = cos((xtrace-n)/5)*xx2 + value("Motion Sketch", position)[y] + pos1[y];
    effect_value(txt_field_o, n-1, 1)[x] = pos1[x] - 210;
    effect_value(txt_field_o, n-1, 1)[y] = pos1[y] - 280;
    effect_value(txt_field_o, n-1, 8) = sin((xtrace-n*5)/10)*20+10;
    n = n + 1;
    }
    n = 1;
    while (n <= 15) {
    pos1 = tmap(frame_to_time(n), value("PathShape ", position));
    xtrace = value("x trace", position)[x];
    pos1[x] = sin((xtrace-n)/10)*xx1 + value("Motion Sketch", position)[x] + pos1[x];
    pos1[y] = cos((xtrace-n)/20)*(xx2+20) + value("Motion Sketch", position)[y] + pos1[y];
    effect_value(txt_field_s, n-1, 1)[x] = pos1[x] - 310;
    effect_value(txt_field_s, n-1, 1)[y] = pos1[y] - 280;
    effect_value(txt_field_s, n-1, 8) = sin((xtrace-n*5)/10)*20+10;
    n = n + 1;
    }
    n = 1;
    while (n <= 15) {
    pos1 = tmap(frame_to_time(n), value("PathShape [T]", position));
    xtrace = value("x trace", position)[x];
    pos1[x] = sin((xtrace-n))*(xx1+30) + value("Motion Sketch", position)[x] + pos1[x];
    pos1[y] = cos((xtrace-n))*(xx2+30) + value("Motion Sketch", position)[y] + pos1[y];
    effect_value(txt_field_t, n-1, 1)[x] = pos1[x] - 390;
    effect_value(txt_field_t, n-1, 1)[y] = pos1[y] - 280;
    effect_value(txt_field_t, n-1, 8) = sin((xtrace-n*5)/10)*20+10;
    n = n + 1;
    }
    n = 1;
    while (n <= 15) {
    pos1 = tmap(frame_to_time(n), value("PathShape [def]", position));
    xtrace = value("x trace", position)[x];
    pos1[x] = sin((xtrace-n)/15)*xx1 + value("Motion Sketch", position)[x] + pos1[x];
    pos1[y] = cos((xtrace-n)/13)*xx2 + value("Motion Sketch", position)[y] + pos1[y];
    effect_value(txt_field_def, n-1, 1)[x] = pos1[x] - 445;
    effect_value(txt_field_def, n-1, 1)[y] = pos1[y] - 295;
    effect_value(txt_field_def, n-1, 8) = sin((xtrace-n*5)/10)*20+10;
    n = n + 1;
    }
    n = 1;
    while (n <= 15) {
    pos1 = tmap(frame_to_time(n), value("PathShape [T]1", position));
    xtrace = value("x trace", position)[x];
    pos1[x] = sin((xtrace-n)/5)*xx1 + value("Motion Sketch", position)[x] + pos1[x];
    pos1[y] = cos((xtrace-n)/3)*xx2 + value("Motion Sketch", position)[y] + pos1[y];
    effect_value(txt_field_t1, n-1, 1)[x] = pos1[x] - 510;
    effect_value(txt_field_t1, n-1, 1)[y] = pos1[y] - 280;
    effect_value(txt_field_t1, n-1, 8) = sin((xtrace-n*5)/10)*20+10;
    n = n + 1;
    }
    n = 1;
    while (n <= 15) {
    pos1 = tmap(frame_to_time(n), value("PathShape [V]", position));
    xtrace = value("x trace", position)[x];
    pos1[x] = sin((xtrace-n)/15)*(xx1+10) + value("Motion Sketch", position)[x] + pos1[x];
    pos1[y] = cos((xtrace-n)/3)*(xx2-10) + value("Motion Sketch", position)[y] + pos1[y];
    effect_value(txt_field_v, n-1, 1)[x] = pos1[x] - 600;
    effect_value(txt_field_v, n-1, 1)[y] = pos1[y] - 280;
    effect_value(txt_field_v, n-1, 8) = sin((xtrace-n*5)/10)*20+10;
    n = n + 1;
    }
     
  2. Guest

    Да, язык MotionMath в АЕ очень ограничен, боюсь, что дело не в профессионализме программиста, а в том, что язык не позволяет выйти за опроеделённые рамки. Слышал, что есть JavaScript for AE...
     
  3. monter

    monter Знаток

    С нами с:
    25.04.2005
    Сообщения:
    1.299
    Симпатии:
    0
    Баллы:
    33
    Влад!!!
    При всем уважении, когда надо много программировать - переходи на С++, там ограничений нет. Листинги для АЕ смотри у Пети Вардена, думаю разберешся.
    Кстати полезно будет для твоей книги (отдельная глава не для начинающих).
     
  4. Guest

    Кто такой этот Петя Варден? Где взять его листинги? Хочу понять, как писать плагины для AE...
    ЗЫ
    Может знаешь какой-нить извращенный способ чтения точки с экрана в AE? Желательно еще и запись точки.
     
  5. monter

    monter Знаток

    С нами с:
    25.04.2005
    Сообщения:
    1.299
    Симпатии:
    0
    Баллы:
    33
    Это http://www.petewarden.com/
    > Может знаешь какой-нить извращенный способ чтения точки с экрана в AE? Желательно еще и запись точки.
    Не понял про какую точку - маска что-ли?
     
  6. Guest

    У меня такая же проблема!
    Я хорошо научился бриться и копать канавы одним лишь топором, а щи им хл@!#$ пока получается не очень ловко.
    Профессионалы! Никто не пробовал топором щи хл@!#$?
    Поделитесь опытом! Я пишу книгу "Использование топора в быту", нужна помощь.
     
  7. Guest

    =))) Еще один позер нашелся... Давай о деле говорить, а не топорами кидаться, а то таких вот мастеров пустословов, как ты - масса! Да только никто толком ничего сказать не может. Давай - покажи знания, а не каркай..
     
  8. Guest

    Спасибо за ссылку...

    Про чтение точки: просто хочу прочитать информацию о точке с координатами (x,y) то есть получить данные RGBA
     
  9. monter

    monter Знаток

    С нами с:
    25.04.2005
    Сообщения:
    1.299
    Симпатии:
    0
    Баллы:
    33
    Влад!!!
    Если я правильно понял, то

    Меню>Window>info(Ctrl+2)
    там и координаты и RGB и альфа

    Если неправильно понял, то извини!
     
  10. Guest

    =) Ты все упрощаешь... Я хочу научить свой скрипт произвольно "читать" точки с экрана AE.
     
Модераторы: ksi2, Saplus

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