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

Замедление-ускорение вращ-я вала при помощи анимированного бегунка

igorznag

Мастер
Рейтинг
103
Хотелось бы привязать его скорость вращения через регулирующий параметр, который можно тоже анимировать... Нужна более интерактивная анимация... Наверное нужен скриптовый контроллер. Додуматься у меня не получиться.
Никита Бабкин. Предлагаю попробовать написать сначала простой скрипт контоллер для простого примера:
1. Нужно, чтобы один объект чайник интерактивно вращался вокруг оси Z относительно его Pivot-а в системе коодинат родителя с нужной скоростью (градусы/кадр), которая регулируется с помощью анимированного параметра (тип spinner).
2. Допустим, что у нас есть очень мощный компьютер и используем сложный тип интерполяции ключей для анимированного параметра (регулятора скорости).
3. Расчет будет происходить автоматически для каждого кадра, начиная с кадра 0 (ноль) до кадра (положительное число) в котором находится TimeSlider. В кадре 0 (ноль) объект будет иметь значение для вращения вокруг оси Z равно 0 (ноль).

Решение:
1. В новой сцене создаем объект Teapot с названием "Teapot01". Выделяем объект "Teapot01".
2. Создаем регулирующий параметр с помощью окна Parameter Editor (Alt+1), где Add to Type = Selected Object's Base Level; Parameter Type = Float; UI Type = Spinner; Name = "Speed".
3. В окне Track View - Curve Editor устанавливаем контроллер Bezier Float для дорожки параметра Speed (Teapot01>Object>Custom_Attributes>Speed).
4. В окне Track View - Curve Editor устанавливаем контроллер Float Script для дорожки вращения вокруг оси Z (Teapot01>Transform>Rotation>Z Rotation) и пишем следующий код:
with animate off
(
obj=$Teapot01; controller_value=0;
obj_speed_controller=obj.baseobject.custom_attributes.speed.controller
if(classof obj_speed_controller==bezier_float)then
(
dependsOn obj_speed_controller
(
for i=0 to (slidertime.frame-1) do
(
at time i (controller_value=controller_value+obj_speed_controller.value)  
)))
controller_value*(PI/180.0)
)
5. Включаем кнопку Auto Key или Set Key и анимируем контролер регулирующего параметра.
Рейтинг
32
Огромное спасибо!!! Я на 7 небе))) все отлично работает. Надо это контролер, чтобы был встроен 3дмакс!
Рейтинг
32
Нашел минус, не рендерится анимация. надо наверное запекать как-то в ключи все таки.

igorznag

Мастер
Рейтинг
103
Извиняюсь. Замени слово "slidertime" на слово "currentTime".
Рейтинг
63
Спасибо за скрипт! А можно его как-то оптимизировать, чтобы не так все тормозило, или как можно выключать его на время?