Render.ru

Флип вращения при path constraint

maiden666

Мастер
Рейтинг
112
#1
Представьте себе танковую гусеницу, анимированную так - движется кривая, её позиция Х через экспрешн управляет процентажем констрейнта, и траки крутятся по ней как положено, по напрвлению движения, НО! только пока вы не повернёте в сторону, как только локальная ось повернётся в направлении отрицательного значения глобальной, вращение пойдёт в обратную сторону...если кто понял, о чём я веду речь
 

INCUS

Знаток
Рейтинг
29
#2
Если это дело не скриптовать, думаю, спасёт только движение танка( движение кривой) по пути.
И в экспрешене, или, там, вайрить, уже процент прохождения танка по пути и вращение траков по кривой.
Или посоображать как в экспрешн прилепить коэффициент, который компенсирует потерю скорости траков в зависимости от угла, на который повёрнут танк(кривая гусеницы)
Синус косинус, тангенс катангенс , шашлык машлык.
 

maiden666

Мастер
Рейтинг
112
#3
я обдумывал, как это сделать выражениями - надо взять локальный Х и глобальный, сделать им Дот Продакт, и если число больше нуля, значит, мы движемся в одном направлении, и берём в качестве аргумента Х, если меньше нуля - то минус Х. Представляю, как это сделать в XSI ICE, но не в Максе
 

INCUS

Знаток
Рейтинг
29
#4
Попробуй хэлпер ExposeTransform. Он может вытянуть из объекта, указанного как Expose Node в настройках этого хэлпера, локальные и глобальные показатели. Может чего соберёшь.
 

igorznag

Мастер
Рейтинг
103
#5
надо взять локальный Х и глобальный, сделать им Дот Продакт, и если число больше нуля, значит, мы движемся в одном направлении, и берём в качестве аргумента Х, если меньше нуля - то минус Х.
В Максе будет так:
Код:
xaxis=obj_tm.row1; xworld=[1,0,0]
if dot xaxis xworld>0 then xp else -xp
xp это дорожка-track: $Circle01.pos.controller.'X Position'
obj_tm это дорожка-track: $Circle01.Transform
"Circle01" это название кривой.
 

maiden666

Мастер
Рейтинг
112
#6
да, работает, как и вариант с ExposeTM, но толку мало - при смене ориентации происходит скачёк
 
Сверху