Деформация объекта по пути в Lightwave 6.0
Автор: Сергей Основин
21.09.2000г.


   Деформация объектов по пути всегда была проблемой для анимации в Lightwave. Конечно, любая проблема решаема. Всвязи с этим можно вспомнить метод морфинга объекта по пути, проложенному из костей данного объекта. Но этот метод имеет ряд значительных недостатков. Во-первых: он достаточно трудоемок. Во-вторых - теряется мобильность,- то есть аниматор должен знать заранее, какой именно будет траектория. И оперативно что-то изменить бывает проблематично. Метод описаный ниже позволяет настроив один раз установки объекта, в последующем заниматься только его передвижениями. Деформации будут реализовываться сами, включая в себя непосредственно движение, а также масштабирование и скручивание. Это стало возможным благодаря тому, что в LightWave 6.0 мы можем парентить кости одного объекта к другим объектам. Итак, приступим:
Для начала создадим объект. Это будет что-то типа ленты... Вы можете создать то, что захотите, но можете загрузить и уже готовый объект. Назовем его Tape.lwo

Вот,  пожалуй, и все с Моделером. Можем переходить в Layout. Убедитесь только, что сохранили объект в режиме метанурбсов.

Загрузим нашу модель в Layout и расставим ключевые кадры. Пусть это будет непосредственно движение, Масштабирование по какой-нибудь оси и переворот вокруг Bank.

Перейдем в Objects (O) > Item Properties (p)
Установим Subdivision Orders в "After Bones"

Дальше начинается главное. Добавим в сцену Null объект. В Motion Options для Null, добавим Modifier LW_Follower. Двойным щелчком войдем в его установки. В поле Item to follow выберем наш объект Tape.lwo, включим флажок Align to Path. Остальные установки пока оставим без изменений.

Закроем Follower и добавим несколько нулей путем Clone Current Item. В нашем случае достаточно будет 3-х дополнительных нулей.
Длина нашего объекта - ~2.5m. Определим на каком кадре анимации объект пройдет 2.5m. Примерно 19-й кадр. Это 0.76 секунды. Делим это число на 4 (у нас 4 нуль-объекта). Получаем 0.19.
Теперь в поле Time Delay плагина Follower каждого нуль-объекта вводим значения по формуле: -n*0.19 где n - номер нуль-объекта. Например: Для объекта Null(3) это значение будет равно -3*0.19=-0.57  Отрицательное число обозначает не задержку по времени (Time Delay), а опережение,- что нам и требуется. Получится что-то в этом духе:

Если Вы прокрутите анимацию, то заметите, что цепочка нуль-объектов повторяет путь, по которому движется Tape.lwo.
Теперь пора добавить кости... На виде сбоку выполним операцию Draw Bones И нарисуем кость от 1-го до 2-го нуль объекта. Теперь то же самое от 2-го до 3-го,  от 3-го до 4-го и от 4-го до конца объекта Tape. Должно получиться так:

По очереди активизируем кости (r). В Motion Options (m) в поле Parent Item каждой кости назначаем parent-ом Null, соответствующий номеру кости. То есть для Bone(1) - Null(1) и т.д.
Вот, что у нас получилось.

Теперь нужно обнулить координаты положения костей в поле цифрового ввода координат.
Затем в Item Properties для костей установить Fallof Type   Inverse Distance ^16.
В Graph Editor для объекта Tape установить значения Pre Behavior и Post Behavior каналов Position в Linear (Это для того, чтобы в начале и в конце анимации кости не сморщивали объект).
Вот и все. Теперь можем спокойно продолжать анимировать объект Strip.lwo забыв о нулях и костях. Их можно даже скрыть в Scene Editor. Для ленивых готовая сцена P_Def.lws.

Если у Вас возникли вопросы и предложения по данной теме, я с удовольствием отреагирую на них через мой E-mail: osn@softhome.net

Удачи!