Полезное

Мы Вконтакте

Discord канал

#
Аватара пользователя
Пользователь
Сообщения: 377
Кто нибудь знает как это делается?

Предположим я сделал зеркальную анимацию с рутовой костью скелета.
Анимация стала зеркальной, но сам персонаж движется по той же траектории.
Мне нужно сделать что бы одна из координат приняла зеркальное значение во всех кадрах.
Т.е если она отрицательная, то должна стать положительной. И наоборот.

В ручную редактировать каждый кадр анимации тяжело.
Аватара пользователя
Пользователь
Сообщения: 377
Ответ нашел простой. Использовать MAXScript.

Выглядит примерно так:

Код:
select $Root
sliderTime = 0f
set animate on
s = $Root
For i=0 to (animationrange.end as integer)/TicksPerFrame do
(
sliderTime = i
   s.pos.controller.Y_Position.controller.value = s.pos.controller.Y_Position.controller.value*-1
   s.pos.controller.X_Position.controller.value = s.pos.controller.X_Position.controller.value*-1
)


Может что то и лишнее. Но главное что всё работает.
Аватара пользователя
Пользователь
Сообщения: 377
Кстати вот как можно развернуть направление движения анимации на определенный угол ( в моем случае 45 градусов) в MAXScript.

Код:
select $Root
sliderTime = 0f
set animate on
s = $Root
rot = 45
For i=0 to (animationrange.end as integer)/TicksPerFrame do
(
   sliderTime = i
   x = s.pos.controller.X_Position.controller.value
   y = s.pos.controller.Y_Position.controller.value
   dist = sqrt( x*x + y*y)
   ang = atan2 x y
   s.pos.controller.Y_Position.controller.value = cos(ang + rot)*dist
   s.pos.controller.X_Position.controller.value = sin( ang + rot)*dist
)


Использую 3DS Max 2011.


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница