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

Как получить ключи анмации?, Для линкованного объекта.

Тема в разделе "Анимация", создана пользователем -, 15 авг 2004.

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

    Проблема такая. Есть объект линкованный к другому объекту который движется. Соответственно линкованный объект повторяет все движения первого. Как получить ключи анимации для прилинкованного объекта, что бы он мог повторять все движения первого объекта не будучи к нему прилинкованным.
    Вообщем то суть в том что бы перетащить объект с анимацией из пятого в шестой макс. В пятом аниация объекта получена плагином которого вообще не существует в природе для шестого. Вот и хочу эту плюговую анимацию как нить перевести в обыкновенные ключи анимации. Колапс контроллер не предлагать, не помогает.
     
  2. Guest

    через коллапс траектории, только объект должен быть не прилинкован, а приконстрейнен
     
  3. Guest

    Это не про то ли идет речь?
    http://www.render.ru/forum/read.php?f=29&i=2213&t=2176
     
  4. Guest

    Leshiy На счет констрэйна сам не догадался, только с линком такую штуку пробовал )), сенкс все работает.
    FiT Это дело тоже не подходит, таректории с поворотми мало, нужно еще временные отрезки соблюдать, объект то останавливается, то ускоряется.

    Пока ждал ответа все сделал вручную, там всего 74 кадра, заняло десять минут. Алигн ту и авто кей.
     
  5. Guest

    Рано обрадовался, с констрэйном вариант тоже не очень работает, после удаления объекта к которому приконстрэйниваю тоже все ломается и объект стоит на месте. Вообщем тоже самое что с линком.
     
  6. Guest

    Объет твой линкованый назови Object01. Сделай его копию Object02 только не линкованую. Этот объект дубликат (Object02) выровняй по оригиналу Object01 скриптом:

    Отдельное спасибо за кучу полезных и бесполезных названий команд:
    Орешкину Алексею и Маслянка Федору! :)


    -- Объект с которого берется анимация должен называться Object01
    -- Объект для которого создается анимация должен называться Object02
    clearlistener()
    coordsys world
    sliderTime = 0
    select $object02
    DeleteKeys $object02
    $object02.pos=$object01.pos
    $object02.rotation=$object01.rotation
    for i=animationrange.start to animationrange.end do
    (
    set animate on
    sliderTime = (i)
    $object02.rotation.x_rotation=$object01.rotation.x_rotation
    $object02.rotation.y_rotation=$object01.rotation.y_rotation
    $object02.rotation.z_rotation=$object01.rotation.z_rotation
    PositX=$object01.pos.x
    PositY=$object01.pos.y
    PositZ=$object01.pos.z
    $object02.pos.x=0
    $object02.pos.y=0
    $object02.pos.z=0
    move $object02 [$object01.pos.x,$object01.pos.y,$object01.pos.z]
    )
     
  7. McST

    McST Знаток

    С нами с:
    01.06.2002
    Сообщения:
    609
    Симпатии:
    1
    Баллы:
    28
    Какой громоздкий скрипт, все гараздо проще можно было написать.
     
  8. Guest

    Извените... какой есть :)
    А если ты про вариант $object02.pos=$object01.pos
    тотам какая-то хрень...
    при передаче значения 103.2 почему-то приходит 103.456 ото и на еденицу больше. Я через Fromat сравнивал, откуда-то появляются смещения.

    Я вобще не скриптовод, поэтому для меня задача была получить правальный результат, а не оптимизированный код.

    А первый вариант выглядил совсем просто:

    clearlistener()
    for i=animationrange.start to animationrange.end do
    (
    at time i animate on
    (
    $Object02.pos=$Object02.pos
    $Object02.rotation=$Object02.rotation
    )
    sliderTime = i
    )

    только траектория отличалась почему-то... Хотя я грешу на Rotation
    т.к. со второго раза (когда уже есть ключи) он выдавал правельный результат.
     
  9. McST

    McST Знаток

    С нами с:
    01.06.2002
    Сообщения:
    609
    Симпатии:
    1
    Баллы:
    28
    Я просто про метод

    animate on
    at time i

    просто есди у тебя будет большое количество кадров, да еще и сцена тяжелая, то этот скрипт будет тормозить.
    Просто подобную проблему решали у меня на работе.
    ключи не обязательно можно ставить в таком режиме
    есть например команда

    addNewkey
     
  10. McST

    McST Знаток

    С нами с:
    01.06.2002
    Сообщения:
    609
    Симпатии:
    1
    Баллы:
    28
    хотя честно говоря я уже подзабыл, ща надо поковырять :) вспомнить.
     
  11. McST

    McST Знаток

    С нами с:
    01.06.2002
    Сообщения:
    609
    Симпатии:
    1
    Баллы:
    28
    Вот так не прокатывает разве

    for i = 0 to 100 do
    (
    animate on
    at time i
    $Cone02.transform = $Cone01.transform

    )

    а можно в начале написать
    что
    с = copy $
    max unlink
    а потом выше описанный скрипт.
     
  12. Guest

    А в трэк вью там ниче скопировать нельзя, ключей не видно, висит контроллер колапс которого возвращает в точку первого кадра и там оставляет. Вот такой хитрожопый этот плюг. ))
     
  13. Guest

    так констрейны то нужно убирать, заменяя на Безье Позишьн напр.
     
  14. Guest

    -> нужно еще временные отрезки соблюдать
    эмммм.... чет не врубился я... если речь идет конкретно о перемещении объекта... то соблюдается все тють в тють во всем временном интервале...
    а каких временных отрезках идет речь?

    Опять же если речь идет просто о премещениях и поворотах с обычными ключами, то в TrackView можно скопировать анимацию с одного объекта на другой простым COPY to PASTE на треках Position & Rotation
     
  15. Guest

    Leshiy В том то и весь прикол что когда убрал констрэйн то во всех ключеой оказались один и теже значения координат, т.е. объект тупо остался на месте.

    FiT Попробую как нить, все равно уже сделал, тупо но сделал ))

    Большое спасибо.
     
  16. Guest

    Ну тогда хоть скажи как сделал? Чисто спортивный интерес :)
     
  17. Guest

    Дык я ж написал. Алигн ту и авто кей. Включаешь автокей и в каждом кадре выравниваешь нужный объект относительно анимированного, на 74 кадра ушло минут десять. В принципе овчинка выделки стоит, если конечно анимация не на тысячи кадров идет.
     
  18. Guest

    А... ну да :)
    чет я просмотрел...
     
  19. McST

    McST Знаток

    С нами с:
    01.06.2002
    Сообщения:
    609
    Симпатии:
    1
    Баллы:
    28
    Нужно просто один раз тулзу такую сделать и жить долго счастливо :)
    либо текст скрипта хранить и когда надо просто его запускать
     
  20. Guest

    А используя Move, если его в ноль не сбрасывать, то он идет по инкременту. И выстреливается как из пушки... Прогрессия нафиг. Я раньше и не думал, что Move это относительное смещение.
     
Модераторы: Артер

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