Каким образом добавляются ключевые кадры на Временную шкалу.
Как средствами Reaflow можно "разрезать" объект на части и как управлять "силой" удерживания частей во время свободного падения (Инструмент MultiJoint).
1. Reaflow 2012/13
2. 3dMax 2013
3. V-Ray 2.30
4. Стол с сайта www.model3d.biz
5. Материалы с сайта www.vray-materials.de
Что нам понадобиться.
- Realflow 2012/13 (как установить Демо RF13 написано в обзоре Realflow 2013)
- Стакан (SD-файл)
Шаг №1 - Подготовка сцены
Для начала нам необходимо создать новый проект. Для этого идем в File->New Project [Ctrl+N].
Затем необходимо импортировать Стакан в проект. Для этого идем в Import->Object
Если вы попытаетесь передвинуть стакан, то у вас это не получиться так как он заблокирован. Что бы мы могли работать дальше нам необходимо его каким-то образом разблокировать. Для этого выбираем Стакан (GLASS) и на панели Node Params нажимаем на кнопку SD <->Curve. После этого Стакан можно передвигать и менять его основные параметры.
В данном случае наш Стакан слишком большой для этой сцены и нам необходимо его уменьшить. Для этого на панели Node Params изменяем значения параметра Scale (Масштаб) на следующие: 0.1 | 0.1 | 0.1
Далее нам необходимо создать пилюлю. Для этого нажимаем на макрос Object и выбираем Capsule. Получившиеся пилюля очень большая для нашего кувшина, поэтому ее необходимо уменьшить. Меняем на панели Node Params значения параметра Scale на следующие: 0.7 | 0.7 | 0.7
Теперь разместим пилюлю на исходную позицию. Изменяем на панели Node Params значения параметра Position на следующие: 0.0 | 0.0 | 2.5
Теперь нам необходимо создать массив из таких пилюль. Для этого нам понадобиться утилита Array Tool.
Массив с пилюлями в моем случае "съехал" немного вниз, поэтому мне пришлось задать ему координату по Z равную 5.0.
Теперь чтобы наши объекты могли взаимодействовать друг с другом мы должны изменить настройки их поведения в сцене. Для этого на панели Node Params изменим значения Dinamycs.
Для массива пилюль - Capsule01_array01 устанавливаем параметр = Active rigid body (Активное Твердое Тело)
Для Стакана ставим параметр = Passive rigid body (Пассивное Твердое Тело)
Теперь нам необходимо добавить гравитацию в сцену. Для этого идем в Daemons->Gravity
Первичная пилюля нам больше не нужна, поэтому ее можно удалить. Для этого на панели Nodes нажимаем Правой Кнопкой Мыши по ней и выбираем Remove.
Теперь приступаем к наполнению нашего Стакана. Нажимаем кнопку Simulate и рассчитываем 130 кадров (в моем случае). Наш Стакан успешно наполнен. Пример можно увидеть на рисунке ниже.
Чтобы продолжить нам необходимо задать Initial State (Начальное состояние) у нашего массива пилюль. Для этого на панели Node Params изменяем значение Use Initial State на Yes и нажимаем на кнопку - Make Initial State.
ОЧЕНЬ ВАЖНО!. После того как мы задали начальное состояние для наших пилюль нам необходимо сбросить данные расчета чтобы продолжать работать с нашей сценой. Для этого нажимаем на маленький треугольник у кнопки Reset и выбираем Reset to Initial State. После этого жмем на кнопку Reset. В итоге у нас должны были сброситься все расчеты, а положение пилюль остаться неизменным.
Шаг №2 - Установка Стакана на стартовую позицию
После того как мы наполнили Стакан пилюлями нам необходимо его поднять вверх, но при этом пилюли должны остаться внутри него.
Для этого мы будем симулировать подъем стакана. Но сначала нам нужно добавить ключевые кадры в такие параметры как Position и Rotation.
Ключевые кадры для объекта добавляются на панели Node Params. Жмем правой кнопкой мыши по параметру, например, Position и выбираем в выпадающем меню Position->Add Key. Тоже самое делаем и для параметра Rotation. Эти параметры должны измениться в цвете.
Теперь на панели Timeline устанавливаем 70 кадр и используя инструменты Move и Roatate перемещаем наш стакан немного выше и наклоняем его.
На рисунке ниже будут показаны параметры которые задал я. Вы можете вручную вписать их и ваш стакан будет в таком же положении как и у меня.
После того как вы установили Стакан в нужное положение вам необходимо снова добавить ключевые кадры в параметры Position и Rotation.
Если попробовать подвигать ползунок Timelin'у, то вы должны видеть анимацию стакана. Если все в порядке, устанавливаем 0 кадр и жмем кнопку Simulate (рассчитываем примерно 160 кадров).
Наш Стакан должен подняться в нужно положение при этом пилюли должны остаться внутри него.
Чтобы продолжить нам необходимо задать Initial State (Начальное состояние) у нашего массива пилюль и Стакана. Для этого на панели Node Params изменяем значение Use Initial State на Yes и нажимаем на кнопку - Make Initial State. Для обоих объектов.
После этого необходимо удалить все ключевые кадры у Стакана. Для этого идем на панель Node Params, Жмем правой кнопкой мыши по параметру, например, Position и выбираем в выпадающем меню Position->Delete Curves. Тоже самое делаем и с параметром Rotation.
Шаг №3 - "Разбиваем" стакан. Модификатор Fracture Tool и плагин MultiJoint.
Теперь нам необходимо разрезать наш стакан на части. Это можно сделать средствами Reaflow. Для этого мы будем использовать модификатор Fracture Tool
Целый Стакан нам больше не понадобиться, поэтому его можно удалить.
Чтобы "разрезанный" Стакан мог взаимодействовать с объектами сцены нам необходимо изменить у него параметр Dynamics. Для этого выделяем наш Стакан (у меня название GLASS_fractured01) и идем в панель Node Params и изменяем значение Dynamics на Active rigid body.
Если мы начнем Симуляцию, то наш Стакан начнет распадаться прямо в процессе свободного падения, но нам это не нужно. Нам необходимо, чтобы он начал разрушаться в момент соприкосновения с поверхностью.
Для таких случаев разработчики добавили интересный плагин - MultiJoint, который позволяет "связывать" объекты между собой и тонко контролировать настройки этой связи.
Мы добавили на сцену плагин - MultiJoint01. Теперь его необходимо настроить.
Все настройки будут на панели Node Params. Далее я буду просто указывать Вкладки в которых необходимо изменить значения параметров.
Вкладка - Creation
Objects A и B - Выбираем наш стакан. Данный плагин позволяет связывать несколько разных объектов, но в данном случае нам необходимо связать части одного объекта, поэтому мы выбираем два раза Стакан.
Вкладка - Forces
Параметру Force max mode задаем значение Constant limit. Этот Параметр указывает при каких обстоятельствах объекты перестанут быть связанными или разорвут связь. В данном случае мы указали Constant limit, что означает "при достижении определенного предела".
Затем нам необходимо задать предел Силы, при достижении которой объекты разорвут связь.
Параметру Max force задаем значение 1000.
Вкладка - Collisions
Данные параметры позволяют управлять столкновениями между объектами. В нашем случае это будут осколки Стакана.
Параметру Enable if break (Включить, если связь разорвана) задаем значение Yes. Этот параметр указывает в какой момент времени включиться просчет столкновений между объектами (осколками).
Вкладка - Break
Эти параметры позволяют более точно контролировать обстоятельства при которых связи разрываются.
Параметр Break if max force reached (Разорвать связь, если достигнута макс. сила) оставляем значение No.
Параметр Break if distance exceeded (Разорвать связь, при достижении определенной дистанции) указываем значение Yes.
Параметру Break distance задаем значение 0.002.
Теперь когда наш Стакан будет на расстоянии 0.002 от любого! твердого объекта в сцене, то он начнет разрушаться. Так как в нашем примере кроме пола нет других объектов, то нам такой вариант подойдет. Если вы делаете более сложную сцену, где будет много объектов, то лучше использовать параметр Break if max force reached. Он дает больше возможностей, но далеко не всегда получается рассчитать правильную силу и приходиться пересчитывать сцену по нескольку раз.
После того как вы задали необходимые параметры нужно вернуться во вкладку Creation и нажать на кнопку Create/Recreate, что бы создать связь между объектами (осколками). На эту кнопку нужно нажимать каждый раз при изменении параметров плагина MultiJoint.
Теперь добавим на сцену поверхность которая будет служить полом.
Для этого идем в Object Menu (Желтый Кубик) и выбираем Plane. Но в данном случае наш Plane очень мал и нам необходимо его увеличить для этого его размеры. Просто измените у него параметр Scale на 8.0 | 6.0 | 1.0
Так же не забываем изменить параметр Dynamics на Passive rigid body. Это важно, так как если вы этого не сделаете, то стакан просто пролетит сквозь ваш пол.
Теперь нам необходимо задать размер нашего Timeline в > 300 кадров. Для этого просто вписываем значение 300 в правый квадратик и жмем Enter.
Теперь запускаем симуляцию и ждем когда стакан упадет и разобьется об пол. Если вы все делали точно по уроку, то проблем у вас не должно возникнуть. Пример можно увидеть на видео ниже.
Если вы использовали другие объекты, то возможна такая ситуация, когда Сила (Force) будет слишком большой и ваш объект просто не разобьется. Для этого немного уменьшайте ее и снова запускайте симуляцию.
Бывает и обратная ситуация, когда вы задали слишком малую силу удерживания. В таком случае ваш объект разнесет куда-то в космос :)
Финальные рендеры вы можете скачать по ссылкам ниже:
Если вам понравился данный урок, то ставьте лайки, оставляйте комментарии и подписывайтесь на группу в Контакте. Впереди еще много интересного.
Спасибо за внимание. С уважением, Николай.