всё можно, было бы желание.
тут несколько вариантов - либо использовать стороннее внешнее ПО,
например
вот тут есть кое-что, но в итоге выглядит раскачивание так
,
возможно, в ленте со временем появится такая функция,
но зачем, если можно использовать дефолтные возможности МСТС, даже без БИНа.
Идея стара как мир, почему её не используют не знаю, но постараюсь рассказать.
Что же нам нужно.
а нужно нам иметь на руках исходники или расконверт с разрешением автора модели, или же свою модель.
Что мы делаем:
берём некую основу, это может быть незаметная деталь, спрятанная в подвагонке или тень.
Тень и автосцепки объединяем в одну мешь и обзываем её main, к main'у линкуем телеги с колпарами - эта часть качаться не будет.
Далее, все части кузова и подвагонки за исключением отдельных анимированых деталей типа дверей объединяем та же в одну мешь и обзываем её (ВНИМАНИЕ!) Rod01 или Rod02, Rod03. Так же можно обзовать WHEELS1 или WHEELS2, WHEELS3, но лучше превый вариант.
Двери прилинковываем уже к этой части (не к main'у!).
Экспортируем в игру.
До того как сжать модель,
открываем её в текстовом редакторе и в самом конце находим раздел анимации.
Ищем нужный нам Rod1 (или как обозвали, см. выше),
выглядеть часть текста будет так
anim_node Rod01 (
controllers ( 0 )
)
и меняем на
anim_node Rod01 (
controllers ( 1
tcb_rot ( 9
tcb_key ( 0 0 0 0 1 0 0 0 0 0 )
tcb_key ( 1 0 0 -0.0130526 1 0 0 0 0 0 )
tcb_key ( 2 0 0 -0.0258819 1 0 0 0 0 0 )
tcb_key ( 3 0 0 -0.0130526 1 0 0 0 0 0 )
tcb_key ( 4 0 0 0 1 0 0 0 0 0 )
tcb_key ( 5 0 0 0.0130526 1 0 0 0 0 0 )
tcb_key ( 6 0 0 0.0258819 1 0 0 0 0 0 )
tcb_key ( 7 0 0 0.0130526 1 0 0 0 0 0 )
tcb_key ( 8 0 0 0 1 0 0 0 0 0 )
)
)
)
количество кадров и амплитуда могут быть разными,
в данном случае я набрал пример с огромной и нереальной амплитудой для наглядности, анимация качания в данном случае только влево-вправо по дуге.
Так же можно добавить плавание вагона вверх-вниз,
для этого нужно заменить
controllers ( 1
на
controllers ( 2
и, соотвественно, не забыть про скобки,
после закрытия скобок
tcb_rot
добавить
linear_pos ( 9
linear_pos ( 9
linear_key ( 0 X Y Z )
linear_key ( 1 X Y Z )
linear_key ( 2 X Y Z )
linear_key ( 3 X Y Z )
linear_key ( 4 X Y Z )
linear_key ( 5 X Y Z )
linear_key ( 6 X Y Z )
linear_key ( 7 X Y Z )
linear_key ( 8 X Y Z )
)
)
x, y, z - координаты, подбираем сами.
чуть выше ищем следующее:
animations ( 1
animation ( 1 16
опять же, значения могут различаться в зависимости от того как было задано изначально в модели. Это кадровость и скорость анимации.
заменить желательно на
animations ( 1
animation ( 8 30
сохраняем, закрываем.
при просмотре в ШВ кузов будет качаться, а двери оставаться на месте,
но это только в ШВ. Для МСТС важна линковка, о чём было написано выше.
В самом же симе двери будут шататься совместно с кузовом, ибо прилинкованы к нему.
чтобы вагоны, прицепленные друг за другом качались в противофазе
желательно чтобы у следующего вагона анимация была с противоположными занчениями
anim_node Rod01 (
controllers ( 1
tcb_rot ( 9
tcb_key ( 0 0 0 0 1 0 0 0 0 0 )
tcb_key ( 1 0 0 0.0130526 1 0 0 0 0 0 )
tcb_key ( 2 0 0 0.0258819 1 0 0 0 0 0 )
tcb_key ( 3 0 0 0.0130526 1 0 0 0 0 0 )
tcb_key ( 4 0 0 0 1 0 0 0 0 0 )
tcb_key ( 5 0 0 -0.0130526 1 0 0 0 0 0 )
tcb_key ( 6 0 0 -0.0258819 1 0 0 0 0 0 )
tcb_key ( 7 0 0 -0.0130526 1 0 0 0 0 0 )
tcb_key ( 8 0 0 0 1 0 0 0 0 0 )
)
)
)
с
linear_pos ( 9
linear_key ( 0 X Y Z )
...
соответсвенно, то же самое.
при грамотном подборе значений амплитуды, кол-ва кадров и скорости
получим аккуратно раскачивающиеся вагоны.
Раскачивание будет зависеть от скорости.
ВНИМАНИЕ!
анимацию добавлять можно только в том случае, если кузов не является мэйном и все его части слиты в единую мешь. В противном случае вагон будет разлагаться на отдально качающиеся части, а вместе с тем будут гулять по полотну и телеги.
Со старыми моделями такой фокус не пройдёт по вышеописанной причине.
так делал я.
недавно Виталий за подписью Алексея вывесил видео, не знаю, возможно они пользовались сходим алгоритмом.
вот, собственно, и всё.