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

копирование ключей с одного обьекта на друг

Тема в разделе "MAXScript", создана пользователем Goryhater, 30 янв 2013.

Модераторы: Savin Denis
  1. Goryhater

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

    С нами с:
    20.07.2008
    Сообщения:
    283
    Симпатии:
    0
    Баллы:
    14
    Всем привет.
    Делаю скрипт который копирует ключи с анимацией с одного обьекта на другой. Выбрал путь зависимый от времени, то есть на определённом кадре с включеным режимом анимации, значения положения и поворота одного обьекта копируются на другой.
    С позицией обьекта всё работает хорошо, а вот с поворотом беда. Скрипт на подобии этого:
    Код:
    for m=2 to obj2.rotation.controller.keys.count do ( 
    			with animate on at time (obj2.rotation.controller.keys[m].time) (
    			obj1.rotation = obj2.rotation
    			)
    	)
    копирует ключи с поворотом, но помимо самого поворота на второй обьект добавляются ключи с положением, то есть он и поворачивается и улетает в сторону)

    Подозреваю что этот путь решения не самый лучший, есть вариант с CopyPasteKeys (), но с ним пока разобраться не получилось. Вобщем если кто-то вдруг подскажет другой путь решения задачи также буду благодарен :)
     
  2. Royal Ghost

    Royal Ghost Мастер

    С нами с:
    17.03.2001
    Сообщения:
    306
    Симпатии:
    41
    Баллы:
    214
    Код:
    for m=2 to obj2.rotation.controller.keys.count do (
    with animate on at time (obj2.rotation.controller.keys[m].time) (
    rotate obj1 obj2.rotation
    )
    )
    
    Не понятна задача. Это не копирование а создание новых ключей. Копировать можно как ключи так и сам контроллер.
     
  3. Goryhater

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

    С нами с:
    20.07.2008
    Сообщения:
    283
    Симпатии:
    0
    Баллы:
    14
    копирование или создание, а задача перегнать анимацию с одного обьекта на другой)) с копированием контроллера получилось, но сделать это копированием ключей думаю всё таки было бы лучше. можно как-то копировать ключи с одного обьекта на другой?
     
  4. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Код:
    for m=2 to obj2.rotation.controller.keys.count do ( 
    with animate on at time (obj2.rotation.controller.keys[m].time) ( 
    in coordsys (transmatrix obj1.pos) obj1.rotation = obj2.rotation
    ) 
    )
     
Модераторы: Savin Denis

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