Как развернуть свиток с помощью Reaction Manager?

Всем привет!

В этом уроке я расскажу, как можно сделать разворачивающуюся поверхность. При выполнении одной работы мне понадобилось создать разворачивающийся свиток. Причём свиток должен был разворачиваться и сворачиваться многократно с различной скоростью.  Конечно, можно сделать одно разворачивание, а потом в процессе компоуза менять направление и скорость. Но, вообще говоря, это не очень удобно. Поэтому мне нужно было предусмотреть возможность менять направление и скорость сворачивания прямо в 3DS Max. Я решил воспользоваться инструментом Reaction Manager, а скоростью и направлением управлять с помощью Slider-а. Способ, который я предлагаю, даёт возможность разворачивать объект не только на плоской поверхности, но и на волнистой. Если вас это заинтересовало – пора начинать.

Урок предназначен для тех, кто знает основы 3DS Max и хочет использовать в своих работах разворачивающиеся поверхности. Я использовал для написания 3ds Max 9.

Вот что мы хотим получить:

Запускаем 3ds MAX.

Разворачиваем окно Front.

Создаём Helix.

Высоту нужно обнулить, а остальные параметры по вашему желанию.

Для урока я выбрал такие значения.

Можете скачать полученный файл

Конвертируем Helix в Spline. (Правой кнопкой щелкаем по Helix)

Полученную кривую мы будем использовать как шаблон. Почему бы не использовать её саму? Есть 2 причины. Первая: вершины полученной кривой всегда ведут себя как Corner. Даже если вы сделаете их Smooth. Почему это происходит, я не знаю. Вторая: для ускорения работы большую часть вершин можно не использовать без ущерба для качества. В уроке будем использовать каждую 3-ю. Можно брать каждую 4-ю или даже 5-ю. Это очень ускоряет процесс.

Поэтому делаем так:

Делаем вершины конвертированного Helix видимыми.

Включаем привязку к вершинам

И начинаем создавать объект Line. Выбираем каждую третью вершину спирали.

(Вы можете выбирать каждую 4-ю, 5-ю или какую хочется. От этого будет зависеть качество конечной поверхности. Главное, чтобы распределены они были равномерно, т.е. пропускать нужно всегда постоянное количество вершин. Для нашего урока я выбрал каждую 3-ю вершину. Этого вполне достаточно).

Вершины полученной кривой превращаем в Smooth. Как видите теперь Line практически не отличается от Helix, (а вершин в 3 раза меньше).

Helix удаляем с экрана, больше он не понадобится.

Объект Line - это правая часть свитка. Теперь нужно добавить к ней центральную часть (которая уже развернута и лежит на поверхности). Добавляем ещё один сегмент.

Можете скачать полученный файл

Делаем вершины Line видимыми (см. выше).

Включаем привязку к вершинам (если выключили).

Начинаем создавать Bones (кости), привязываясь к вершинам Line.

Получается такая вот цепочка.

Создаём Slider

С помощью него будем управлять сворачиванием и разворачиванием. Я хочу, чтобы при перемещении движка Slider-а от 0 до 10 кость Bone02 ложилась горизонтально. При перемещении от 10 до 20  следующая кость ложилась горизонтально и т.д. И при достижении ограничителя последняя кость ложилась горизонтально.

Нужно правильно указать параметр Maximum. Всего костей 22. Первая и последняя нам не понадобятся. Умножаем на 10. Значит указываем параметр SliderMaximum = 200

Увеличиваем ширину Slider-а для удобства.

Скрываем Line.

Движок Slider-а перемещается с помощью инструмента Select and Manipulate.

Теперь нужно привязать перемещение Slider-а к вращению костей.

Ещё раз вспомним, что же мы хотим получить?

При перемещении Slider-а от 0 до 10 вторая кость должна лечь горизонтально,

при перемещении Slider-а от 10 до 20 третья кость должна лечь горизонтально и т.д.

Для создания такой связи используем Reaction Manager. Он позволяет привязывать параметр объекта-наследника к параметру объекта-родителя в заранее определённых пределах.

Добавляем главный объект Add Master.

Указываем параметр value объекта Slider.

Т.е. изменяя этот параметр будем управлять разворачиванием.

Теперь нужно указать подчинённые объекты – это Z Rotation всех костей.

В результате мы сможем управлять вращением всех костей по оси Z с помощью параметра value объекта Slider.

Теперь осталось создать state (состояния) для различных значений value.

Первое состояние (State) уже создано по умолчанию.

Посмотрите:

State01 при value = 0 каждая кость имеет свой угол поворота по Z.

Выбираем Create Mode, для того чтобы создавать различные State (состояния)

Выбираем инструмент Select and Rotate.

Обязательно выбираем родительскую координатную систему.

Можно поворачивать кость вручную, а можно вводить значения в окне Rotate Transform Type-In.

Открываем окно Rotate Transform Type-In (F12).

А теперь нужно сделать так:

1. Устанавливаем value = 10 (для объекта Slider)

2. Выбираем вторую кость (Bone02).

3. В окне Rotate Transform Type-In обнуляем вращение по Z . Кость ложится горизонтально

4. Нажимаем кнопку Create State. Создаётся новое State (состояние) для всех костей при value=10

Каждый раз увеличивая value на 10 повторяем пункты 1-4 для всех костей.

Поясняю: устанавливаем value=20; выбираем третью кость; обнуляем вращение по Z; нажимаем кнопку  Create State, и так для каждой кости.

Обязательно выходим из режима Create Mode. Отжимаем кнопку

С помощью инструмента Select and Manipulate перемещаем движок Slider-а, тем самым изменяем значение параметра value. Он воздействует на положение костей и цепочка костей разворачивается и сворачивается. Что и требовалось!

Можете скачать полученный файл

Осталось перенести это движение на сплайн.

Выбираем объект Line.

Применяем модификатор Skin (для того, чтобы кости могли им управлять).

Указываем кости, которые будут управлять сплайном, т.е. все.

  

Т.к. вершины сплайна точно совпадают с костями, настройка не требуется.

В результате сплайн разворачивается и сворачивается

Скрываем (Hide) все кости

Применяем к сплайну модификатор Extrude.

Если нужна толщина, применяем модификатор Shell

 

Можете скачать полученный файл

Наш свиток должен разворачиваться в обе стороны. Поэтому применяем модификатор Symmetry.

Нужно только правильно разместить Gizmo модификатора.

Можете скачать полученный файл

Вот и требуемый результат. Если вам необходимо разворачивать свиток на волнистой поверхности нужно на стадии создания State (состояний) не обнулять вращение по Z, а поворачивать так, чтобы кость легла на поверхность. Так же, чтобы добиться более реалистичного результата, стоит применять этот способ вращения, т.к. в результате будет получено не абсолютно ровная поверхность. Она будет иметь небольшую кривизну и выглядеть более реалистично.

На этом урок окончен. Если какие-то шаги непонятны, загрузите готовые файлы и посмотрите, что должно получиться. Надеюсь, этот метод пригодится Вам в дальнейшем.  Удачи!

561 0 850 98
30
2009-01-21
Сколько раз с разворачиванием мучился. Неужели всё так просто??? Автору респект!!!
2009-01-21
Вот молодец! А ведь я бывало и вручную вершинки двигал ради такого эффекта. Спасибо большое, отличный урок! 5/5
2009-01-21
То-же самое делается одним деформатором Бленд и им-же анимируеться... (правда в майке, но в Максе тож вроде такой модификатор есть)... ИМХО телодвижений только меньше...
2009-01-21
[quote=Medwedius] То-же самое делается одним деформатором Бленд и им-же анимируеться... (правда в майке, но в Максе тож вроде такой модификатор есть)... ИМХО телодвижений только меньше... [/quote] Если вы точно не знаете что есть, а чего нет в максе, зачем эти голословные выводы? Способов достигнуть чего бы то ни было великое множество, и когда люди делятся СВОИМ способом, не претендуя при этом на том, что это самый правильный, надо говорить либо "спасибо", либо промолчать. Автору респект и успехов! 5\5
2009-01-21
Простенько, но со вкусом. 5/5
2009-01-21
Большой сенкс!!!!!!!!!!
2009-01-21
[quote=igni] [/quote] Я ж без наезда, написал ИМХО. Вобщем тогда молчу...
2009-01-22
[quote=Medwedius] Я ж без наезда, написал ИМХО. Вобщем тогда молчу... [/quote] Собственно я тоже не наезжал))) мир, дружба, сотня FPS))) Если честно, уважаю безмерно майщиков, ибо самому пока не далось (моделировать научился, а дальше как то не заладилось)!
2009-01-22
В хеликсе просто все сегменты типа Line :)
2009-01-22
Не в обиду автору, но разворачивание свитка делается за 5-10 мин. обычным Bend'ом + Symmetry, ну или двумя бендами чтоб не симметрично было, покрасивше типа...
2009-01-22
2 Wats и в защиту автора - этот способ немного более интересный, чем просто разворот свитка, можно еще сделать, чтобы при этом сминался или как-то загибался.
2009-01-23
[b]Medwedius[/b] [b]Wats[/b] Все правильно, bend-ом в максе это делается и быстрее и проще... Но! Во первых: bend-ом не получится это повторить для сложной неровной (да любой неровной) поверхности, только для прямой плоской поверхности. Иначе bend-ом будет уже и не проще и не быстрее и юзать дополнительные инструменты (FFD всякие и им подобные.) Во вторых: урок полезен тем что показывает принципы, которые можно использовать для гораздо большего и сложного набора задач. Тут и кости и Reaction Manager и слайдеры и еще куча мелких фишек... Так что урок, думаю [b]очень[/b] полезен начинающим! Да и изложен урок лаконично, доступно и понятно. От меня 5.
2009-01-23
2 DemiGor ну то что автор знает как работать с костями и т.д. и делится своими знаниями эт хорошо. Ну а если этот урок по ОЧЕНЬ полезен для новичков, подозреваю урок о том как моделировать сферу полигонами буит еще полезней...
2009-01-23
http://www.easy-render.nm.ru/tut_68.htm а этот способ мне больше понравился )
2009-01-24
Обалденный урок. Как раз вовремя. Сам над этим долго голову ломал да не получилось -))) Пасиба.
2009-01-24
Твои уроки для меня всегда что-то новое. Спасибо. 5/5 как всегда!
2009-01-26
p.s Ой забыл 1/1... [smile=03]
2009-01-26
Спасибо за урок. 5/5
2009-01-26
И от меня тоже благодарность! Пятёрочки...
2009-01-26
спасибо, пригодится ) кстати таким способом очень удобно делать и движения щупалец
2009-01-26
to Utgard (2D Award) спасибо за наводку
2009-01-26
Спасибо. Интересно. Но как теперь сюда картинку притянуть. Чтоб с нутри одна была а с наружи другуая. Где я чего не дочитал???
2009-01-28
[/quote][quote=KIF_DRAKON] Спасибо. Интересно. Но как теперь сюда картинку притянуть. Чтоб с нутри одна была а с наружи другуая. Где я чего не дочитал??? [/quote] Элементарно. Наложи текстуру
2009-01-29
Урок понравился, с костями вообще не работал и окна reaction Manager не видел, было интересно почитать. 5/5
2009-04-05
С костями тоже незнаком. Сделал как написано - работает. Спасибо!
2009-05-30
Это можно сделать при помощи модификатора Bend. Скручивается и раскручивается прекрасно и делается без лишнего гемора с костями.
2010-01-19
Урок полезен. Я с костми не работал, теперь познакомился. Спасибо =)
2012-02-27
[quote=Фантомас] при помощи модификатора Bend. Скручивается и раскручивается прекрасно [/quote] и даже закручивается больше одного витка?
2012-11-11
люто плюсую. нужно было срочно сделать свиток. сэкономил время)
2012-12-03
большое спасибо за урок. я только начинаю разбираться с анимацией. мне очень понравилось, что не зная многих деталей, я смогла найти все что нужно.
RENDER.RU