Файлы к уроку - часть 1:
start scene
rf files
final scene
final animation
В этом небольшом уроке мы рассмотрим взаимодействие объектов между собой и создадим небольшую анимацию. Я буду использовать RF 4.2 и 3ds max 8, также убедитесь что у вас стоит последняя версия коннектора в папке max>plugins. Итак, приступим...
В качестве примера делаем сцену, похожую
на Jacks из sample scenes для rf3, состояющую из модифицированного
бокса, цилиндров и плейна внизу. Также не забудьте поменять frame rate
на PAL в time configuration. Перед тем как перенести всё в RF, нам
нужно оптимизировать наши объекты. Сохраните вашу сцену под другим
именем. Это потребуется для замены объектов после того, как мы
просчитаем динамику в RF.
Теперь идём на панель utilites, выбираем
SceneData Saver, жмём SD saver settings, выбираем все объекты, set,
save sequence и сохраняем .SD файл в удобную вам папку.
Теперь закрываем max и запускаем RealFlow, создаём новый проект и
импортируем нашу SD сцену(для удобства вы можете перенести ваш .SD файл
в папку objects вашего проекта). Сперва нам нужно настроить параметры
самого проекта, для этого идём в file>preferences. Т.к. мы работаем
в максе устанавливаем 3ds max в Axis Setup, max frames=280. Идём на
закладку backup и ставим нужное кол-во файлов на случай сбоя в RF.
Затем устанавливаем scale(масштаб сцены)=0.1, рекомендуемое значение
для пользователей макса; жмём на маленькую стрелку рядом с кнопкой
simulate, заходим в options и меняем FPS=25 и time step на fixed с
кол-вом substeps=10.
Немного о time step: если вы работает с
жидкостями, то желательно использовать режим adaptive, уменьшая max
substeps таким образом, пока частицы не начнут проскакивать сквозь
объект; если же вы собираетесь просто просчитать динамику твёрдых тел,
режим fixed будет наилучшим решением, он значительно увеличит скорость
просчёта.
Что ж, параметры сцены почти настроены, осталось лишь установить нужное кол-во
кадров для симуляции и для просмотра при нажатии play.
Теперь перейдём непосредственно к настройке самих объектов. Мы находимся на
Земле, поэтому добавляем daemon gravity со значением силы 9.8. Затем активируем Rigid
Body Dynamics у всех объектов и dyn motion у boxic'а, это заставит его не просто
реагировать с другими объектами, но и двигаться под действием даемна gravity.
Немного о параметрах rigid body:
- primitive тип сетки, создаваемой для столкновения с другими объектами
- mass масса объекта в кг
- air friction сопротивление объекта при движении
- energy threshold минимальное кол-во энергии, чтобы заставить объект двигаться; если
вы установите высокое значение, объект будет неподвижен, если же поставить
значение равное 0, объект будет двигаться при действии малейшей силы.
- velocity и rotation начальная скорость объекта и вращение соответственно.
- object friction трение, значение 0 подразумевает абсолютно гладкую поверхность.
- elasticity эластичность объекта, при значении 1 объект будет "подпрыгивать" при столкновении с другими объектами.
В нашем случаем важно установить energy threshold=0, чтобы заставить boxic двигаться.
Остальные параметры скопируйте с изображения.
Всё, наша сцена готова для симуляции.
Осталось установить параметры экспорта. Для этого заходим в
export>export central(F12), жмём export none и после выбираем
animation(.SD). Нажимаем alt+d, чтобы отключить вьюпорт и вследствие
чего ускорить просчёт. Жмём simulate и уходим пить кофе :)
По возвращению жмём save
project(ctrl+s), закрываем RF и запускаем max. Открываем нашу сцену,
идём на закладку утилит, выбираем SD loader и загружаем нашу
анимацию(animation.SD).
Проверяем нету ли каких-либо багов в поведении нашего объекта, заменяем
лоу-поли объекты изначальными(команда replace/merge) и заново
импортируем анимацию(если использовали merge). Что ж, на этом я закончу
урок, надеюсь он был полезен. Вам осталось лишь добавить материалы,
настроить освещение и отрендерить вашу анимацию. Если что-то не
понятно, спрашивайте в этом топике или пишите на
emailЭтот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
:) Файлы сцен вы можете скачать ниже.
Успехов в изучении RealFlow! ;)
Динамика твёрдых тел в RealFlow 4
Часть 2-ая
Файлы к уроку - часть 2:
start scene
rf files
final scene
final animation
В 1-ой части урока вы получили базовые знания о взаимодействии объектов
между собой в RealFlow. Для того, чтобы заставить объект двигаться мы
использовали daemon gravity, но ведь на объекты могут действовать и
другие силы. Например attractor, wind, noise field, а также scripted
daemon, поведение которого можете задать вы сами.
В этом туторе мы создадим несложную
анимацию разрушения стены движущимся шаром. Для этого нам сперва
понадобится создать саму стену. Запускаем 3ds max, меняем единицы
измерения на см и используем array для создания самой модели стены.
Далее делаем шар(не ставьте большое
кол-во сегментов, 16 вполне достаточно). Создаём плоскость чуть ниже
стены. На этом всё, наша сцена готово для экспорта в RF. Идём на
закладку utilites>SceneData Saver и сохраняем наш .SD файл в любую
папку.
Открываем RF4, создаём новый проект и импортируем наши объекты в сцену.
Ставим scale=0.1, time step fixed, substeps=10 и FPS=25. Для различного
отображения по вьюпорте вы можете использовать клавиши 7, 8, 9, 0 и D
для настройки режима отображения каждого элемента сцены.
Теперь перейдём к настройке параметров самих объектов. Для начала
добавим daemon gravity, думаю вам не трудно догадаться зачем ;) Чтобы
заставить наш шар двигаться, мы будем использовать daemon wind. Однако
если мы оставим значение его силы постоянным, шар не сможет
остановиться в нужный момент, поэтому нам надо проанимировать его,
сначала оно возрастает и около 90 кадра начинает постепенно убывать.
Анимацию в RealFlow можно сделать несколькими способами:
- используя expresions
- в curve editor'е
- или используя add/remove key при правом клике на объекте или на определённом параметре
Я предпочитаю последний способ, т.к. можно сделать изначальную кривую и
легко подправить её в curve editor'е. Кликните RMB на strength в силе
wind и выберите add key, затем переместите time slider в 90 кадр,
измените значение силы а опять нажмите add key. Таким же способом
делается анимация ослабления силы действия wind. Если что-то не
понятно, см. картинку ниже:
Теперь активируйте Rigid Body у всех объектов нашей сцены. Отключите
dyn motion у плейна, нам не надо чтобы он упал под действием силы
тяжести. Описание параметров вы можете прочитать в 1-ой части данного
урока, поэтому я лишь прилагаю скриншот с настройками без каких-либо
объяснений :)
Попробуйте сделать тестовую симуляцию, нажав кнопку simulate. Вы
заметите, что стена из кирпичей начинает падать и рушиться намного
раньше, чем к ней подкатывается шар. Этого нам совсем не надо, поэтому
просто деактивируйте Rigid Body во всех кирпичах до того, как к ним
подкатится шар. Вы также можете проанимировать air friction, но при
просчёте это займёт намного больше времени, нежели то, что описано выше.
Теперь мы можем экспортировать нашу симуляцию обратно в max.
Откройте .max сцену и используйте SD loader для загрузки анимации
объектов. Вы также можете увеличить кол-во сегментов в сфере для более
качественных отражений при рендере.
На этом я заканчиваю данный урок, если вам что-то не понятно, мой
emailЭтот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
к вашим услугам. Необходимые файлы вы можете скачать ниже.
Успехов в RealFlow!
|