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

Loop анимация

Тема в разделе "Анимация", создана пользователем DDDimaXXX, 17 янв 2010.

Модераторы: Артер
  1. DDDimaXXX

    DDDimaXXX Мастер

    С нами с:
    29.06.2008
    Сообщения:
    171
    Симпатии:
    53
    Баллы:
    357
    Подскажите как сделать луп анимаци допустим идущих ног. Так чтоб конечная точка движения служила началом для нового цикла. С бипедом всё просто...а вот с обычными объектами немогу разобраться. Заранее спасибо!
     
  2. Виталий Мартынов

    Виталий Мартынов Знаток

    С нами с:
    28.02.2009
    Сообщения:
    135
    Симпатии:
    0
    Баллы:
    26
    Выбираеш нужные объекты и нужные ключи. Идеш в Редактор Кривых (Curve Editor) там выбираеш экстраполяцию ( Cicle-of-range по-моему)
    это где-то в главном меню. Там есть гарффики показывающие виды повтора выбранных ключей. Выбираеш нужный. Глядя на них несложно понять какой. Нычало цикла должно совпадать по ключам с концом, правда не для всех случаев (например цикл пинг-понг). Подробней почитай литературу по максу.
     
  3. DDDimaXXX

    DDDimaXXX Мастер

    С нами с:
    29.06.2008
    Сообщения:
    171
    Симпатии:
    53
    Баллы:
    357
    пробовал...связанные объекты разлетаются в стороны
     
  4. IrakliSpain

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

    С нами с:
    17.07.2009
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    5
    Задача такой простой и нужный, а решение так трудно найти...
    Но думаю тебя могут помочь в разделе "MAXSCRIPT".
    Я навичок низкой степени и этот скрипт написать пока не смогу, но это помоему не сложно сделать:
    Выделяются объекты, потом для каждого объекта в выделении на каждом фреиме с помощью циклами надо выяснить, есть ли там анимационный ключ, и скопировать его на "X" количество фреимов в перед.
     
  5. IrakliSpain

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

    С нами с:
    17.07.2009
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    5
    Получилось!
    Вот тебе твой скрипт:


    MyLoopTime = 10
    MyLastFrame = 100
    MyStartFrame = MyLoopTime + 1

    animate on (
    for o in selection do (
    for t = MyStartFrame to MyLastFrame do (
    at time (t - MyLoopTime) NewPosition = o.pos
    at time (t - MyLoopTime) NewRotationX = o.rotation.controller.x_rotation
    at time (t - MyLoopTime) NewRotationY = o.rotation.controller.y_rotation
    at time (t - MyLoopTime) NewRotationZ = o.rotation.controller.z_rotation
    at time t o.pos = NewPosition
    at time t o.rotation.controller.x_rotation = NewRotationX
    at time t o.rotation.controller.y_rotation = NewRotationY
    at time t o.rotation.controller.z_rotation = NewRotationZ
    )
    )
    )



    Только: этот скрипт не спрашивает есть ли у данного объекта на данном фрейме ключ (это пока не могу сделать) и вставляет подряд на всех фреймов свои ключи, для всех объектов.

    Но если все так и решил попробовать: Копируешь этот скрипт, выделяешь всех объектов в программе, потом идешь MAXScript -> New Script - > и Paste.

    MyLoopTime - напиши число, сколько длиться твой цикл.
    MyLastFrame - для сколько кадров ты хочешь сделать анимацию.

    Потом: Tools -> Evaluate All.

    П.С. Если кто-нибудь сможет исправьте скрипт, чтобы он мог определить которые ключевые кадры и не наполнял все фреими ключами.
     
  6. Chebu

    Chebu Знаток

    С нами с:
    23.10.2005
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    60
    DDDimaXXX
    так разберитесь, что и почему разлетается.

    если уж никак не получается с out of range, анимируйте на месте, копируйте ключи, затем подгоняйте скорость.


    IrakliSpain

    Что если анимированы не только позиция и вращение?
     
  7. IrakliSpain

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

    С нами с:
    17.07.2009
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    5
    Тогда скрипт не сработает.
    Но если будет нужно, можно и добавить другие свойство
     
  8. Chebu

    Chebu Знаток

    С нами с:
    23.10.2005
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    60
    IrakliSpain
    это я понял:) я имею в виду, что за всеми параметрами не угонишься, и автоматизировать тут нечего, благо встроенные средства макса в этом случае и так нормально работают.

    Кстати, того, что просит автор, ваш скрипт не делает. Ему нужен цикл анимации со смещением.
     
  9. DDDimaXXX

    DDDimaXXX Мастер

    С нами с:
    29.06.2008
    Сообщения:
    171
    Симпатии:
    53
    Баллы:
    357
    IrakliSpain, спасибо конечно за проделанную работу...но я почти уверен что это делается стандартными средствами в максе
     
  10. DDDimaXXX

    DDDimaXXX Мастер

    С нами с:
    29.06.2008
    Сообщения:
    171
    Симпатии:
    53
    Баллы:
    357
    о...разобрался с Аут оф ранжем...заработало. А не подскажите как это дело в ключи перевести?
     
  11. Chebu

    Chebu Знаток

    С нами с:
    23.10.2005
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    60
    в track view меню controller -> collapse controller

    проще - скриптами, если нужно - обращайтесь.

    Но в любом случае, ключи на каждом кадре.
     
  12. Андрей Омельченко

    Андрей Омельченко Активный участник

    С нами с:
    28.01.2009
    Сообщения:
    164
    Симпатии:
    0
    Баллы:
    16
    нет не на каждом , в controller -> collapse controller есть выбор на каком по счёту кадре ставить ключь , третий столбец , если вы это имели ввиду
     
  13. Chebu

    Chebu Знаток

    С нами с:
    23.10.2005
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    60
    Андрей Омельченко, я имел в виду, что исходная анимация всё равно поломается и станет трудно редактируемой.
     
  14. Андрей Омельченко

    Андрей Омельченко Активный участник

    С нами с:
    28.01.2009
    Сообщения:
    164
    Симпатии:
    0
    Баллы:
    16
    немогу сказать что поломается уж совсем , так , кое где ключи подправить , ну да ладно , кто сможет тот молодец ))
     
Модераторы: Артер

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