Render.ru
Поддержать

Key Animation

Termi

Активный участник
Рейтинг
5
Как в Max Script определить ключ в текушем фрейме.

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
Непонятен вопрос, поясни подробней что ты хочеш сделать

Termi

Активный участник
Рейтинг
5
Объект заанимирован! И я хочу узнать в каких кадрах для даного объекта установлены ключи анимации (с помощью Max Script)! Например переместился (в редакторе аним, крив,) в 10 фрейм, Как узнать есть ли в нем ключ анимации,

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
Доступ к ключам мы получаем через котроллеры анимации в каждом конкретном случае они могут различаться и зависеть от типа контроллера.
Например так можно получить сведенья о всех ключах контролера отвечающего за перемещение по оси X
$.pos.x_position.controller.keys

Ниже приведен пример функции которая может протестировать наличие ключа в текущем кадре для контроллера оси X
fn isKey_posX obj = return getKeyIndex obj.pos.x_position.controller currenttime > 0

Соответственно тебе нужно будет проверить все интересующие контроллеры.

Termi

Активный участник
Рейтинг
5
$.pos.x_position.controller.keys - ни всегда работает! Выдайот ошибку типа нет свойства x_position. Почему? Аналогичная ситуация с маштабированием.
Ключи с врашением достаются нормально!

Termi

Активный участник
Рейтинг
5
$.pos.x_position.controller.keys - ни всегда работает! Выдайот ошибку типа нет свойства x_position. Почему? Аналогичная ситуация с маштабированием.
Ключи с врашением достаются нормально!

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
Я уже писал выше, другой контроллер значит, проверки нужно ставить.

Посуществу для проверки нужна рекурсивная функция, так как некоторые контроллеры это просто разветвители к которым в свою очередь подключаются другие контроллеры, например List контроллер или тотже XYZ - что по умолчанию стоит позиции и вращении.

У масштаба по умолчанию стоит Bezier_Scale:
$.scale.controller
Controller:Bezier_Scale