Есть ли способ использовать f-кривую для интерактивного переназначения ключей в Maya? - PullRequest
0 голосов
/ 14 июля 2020

ЧТО: Я ищу способ создать f-кривую для динамического изменения времени произвольного количества ключей в Maya. Что-то вроде слоя анимации, но для тайминга для каждого ресурса.

ЧТО НЕТ: У меня уже есть отличный линейный сценарий изменения времени из поворота. Использовал его годами, обожаю, не ищу этого.

ПОЧЕМУ: Допустим, я оживил несколько гоблинов, бегущих к врагу. Может быть, они начинают выстрел за воротами или что-то в этом роде, потому что я не хочу менять время начала выстрела, и я не хочу менять конец выстрела, потому что я уже анимировал героя, поражающего их , и я не могу изменить длину кадра, потому что длина кадра заблокирована.

Режиссер хочет, чтобы один из гоблинов немного продвинулся вперед, пока они бегут, а затем замедлился обратно в текущее общее время выстрела. Этот режиссер больше похож на парня типа «Я узнаю, когда увижу», поэтому я ожидаю нескольких раундов исправлений, и он может позже бросить запрос о споткнувшись, насколько я знаю, поэтому я хочу иметь возможность отключать звук это повторное время (так что я работаю над целыми пронумерованными клавишами) и сделать его неразрушающим (без запекания).

РЕЗЮМЕ: Итак, я хочу масштабировать произвольное количество клавиш на выбранный объект градиентом с произвольным началом и остановкой на время, которое можно приглушить, удалить или отрегулировать неразрушающим образом.

Я думаю, что установка f-кривой, которая повлияет на время выбранные ключи были бы идеальными. Точно так же, как работают слои анимации, но для определения времени.

Бонусные баллы, если одна кривая повторного воспроизведения может также влиять на клавиши на нескольких слоях анимации.

Возможна ли эта идея? Можете ли вы указать мне какое-нибудь хорошее направление для начала или какие-либо инструменты, которые уже были написаны? Я новичок в изучении программирования и только начинаю изучать python для Maya.

1 Ответ

0 голосов
/ 14 июля 2020

Это должно быть возможно. Посмотрите, как работает искажение времени сцены. Каждая кривая анимации связана с узлом времени. Обычно у вас есть только один временной узел, который связан со всеми кривыми анимации. К этому временному узлу подключено искажение времени сцены. Что вы можете попробовать, так это создать временной узел для каждой группы анимированных кривых, которыми вы хотите управлять отдельно. А затем создайте animCurveTT и подключите его к соответствующему узлу времени. Если эта предустановка работает, вы можете написать сценарий, чтобы упростить управление.

...