Jenya Rvachov
Для остальных двухОт автора.
Здравствуйте.
Меня зовут Евгений.
Работаю в области 3d более трех лет. Начинал изучение трьохмерной графики с пакета 3ds max.
Сейчас работаю исключительно в пакете Maya.
Идеей написания урока послужила цель создать проект с использованием первого, как для многих тридешников так и для меня, пакета трехмерной графики 3ds max.

Финальная картинка: cocktail

Для остальных двух

В этом уроке я хочу рассказать, как создать реалистичную динамику жидкости по средствам программы RealFlow с последующей визуализацией в 3 ds max . Данный урок рассчитан для тех кто уже имеет представления о динамики жидкостей и знаком с программой RealFlow .

 

Работа состоит из следующих этапов:

 

  1. требуется отмоделить емкость, которая будет содержать наш коктейль.
  2. В программе RealFlow создать источники частиц и настроить их симуляцию.
  3. Созданную симуляцию преобразуем в анимированный меш.
  4. В среде 3 ds max загружаем секвенцию анимированного меша.
  5. Настраиваем освещение и материалы сцены.

 

Начнем.

 

1. Для моделирования емкости, я отмоделил стакан элементарной формы.

Для остальных двух

Советую моделировать емкость таким образом чтобы количество полигонов было минимальным, но при этом стакан принимал хорошую форму. Поясняю. Когда мы будем просчитывать соударение частиц с поверхностью нашей емкости, то при симуляции просчитывается соударение частиц с каждым из полигоном (трение, эластичность, степень точности столкновений, расстояние до столкновений, прилипание, шероховатость, проверка на проницаемость, и т.д.) поэтому выберите золотую середину для моделирования емкости.

 

2. Запускаем RealFlow , создаем проект.

Для остальных двух

Трек анимации увеличим до 200 кадров. Импортируем нашу емкость. Для экспорта в 3 ds max я использовал формат obj .

Для остальных двух

Но если вы захотите в 3 ds max создать анимацию стакана, то для экспорта используйте формат sd . Данный формат доступен после установки плагина для 3 ds max , который можно скачать с официального сайта http://www.nextlimit.com

Для остальных двух

После того как емкость импортирована в RealFlow , следует создать источники частиц. Я использовал спрей для частиц типа Circle . Для создания силы тяжести был использован Daemon —> Gravity.

Для остальных двух Для остальных двух

Для того чтобы наш коктейль содержал разные жидкости, было создано три источника частиц Circle и угол для спрея выбран таким образом чтобы все источники были направлены в центр стакана.

Для остальных двух

Настройки параметров симуляции частиц можно увидеть на рисунке ниже. Хочу заметить что параметр плотность ( Density ) влияет на плотность жидкой среды (в Кг/м^3). Для воды значение по умолчанию = 1000. Чем выше плотность, тем медленнее и тяжелее жидкая среда. Разрешающая способность ( Resolution ) влияет на количество частиц представляющих жидкую среду. Чем больше разрешение, тем больше количество частиц, причем более легких. Высокое разрешение дает более разнообразное и гладкое поведение жидкой среды. Но не советуется выбирать большое разрешение (требует высоких ресурсных затрат)

Для остальных двух

Настройте параметры симуляции для всех трех источников. Но для того чтобы жидкости испускаемые из трех источников отличались, параметр плотность ( Density ) настроим для каждого из спреев разным. Я взял для первого источника плотность равную 1000, для второго 1200, и для третьего 800. Поварьируйте с данным параметром.

Далее требуется настроить параметры столкновения частиц с объектом, в нашем случаи это стакан. Данная вкладка доступна только после создания источников частиц и гравитации. Все параметры оставьте по умолчанию, только измените параметр прилипание ( Sticky ). Коэффициент прилипания представляет собой силу, которая пытается удержать частицы на гранях объекта. Этот параметр имеет широкий диапазон значений, поскольку степень прилипания зависит от силы притяжения и вида жидкости. Советую взять значения силы тяжести , а затем изменяйте его до получения желаемого результата. Я использовал значение Sticky равное 50.

Для остальных двух

После того как свойства объекта настроены, переходим к симуляции частиц. Ниже на рисунке изображена симуляция частиц из трех источников.

Для остальных двух

Остановите симуляцию тогда, когда жидкость заполнит емкость на 30%. Я остановил
симуляцию на 50 кадре. Поставьте по два ключа анимации для параметра speed , для 50 кадра поставьте ключ равный параметру speed = 2, на 51 кадре измените speed до 0 и поставьте ключ. Проделайте данную операцию для всех источников. Таким образом после 51 кадра частицы испускаться не будут. Смело нажимайте на кнопку Simulate , просчитайте симуляцию до конца трека.

Для остальных двух

3. Симуляция частиц закончена. Теперь следует создать и настроить три меша для каждого из источников.

Для остальных двух

Применяем для меша по одному флюиду. Жмем ОК. Для остальных двух мешов проделаем такую же операцию. В результате у вас должно получится следующее:

Для остальных двух Для остальных двух Для остальных двух

Настройки меша представлены ниже на рисунке. Поварьируйте с такими параметрами как Relaxation во вкладке Filters так и с параметром Radius во вкладке Field . Для остальных двух мешов создайте такие же настройки.

Для остальных двух

Для остальных двух

После того как меш настроен, просчитаем создание сетки для каждого из кадров анимации. На рисунке ниже изображен просчет меша для 47 кадра.

Для остальных двух

4. Загружаем 3 ds max . Подгружаем нашу секвенцию меша, сохраненную в вашем флововском пректе в папке meshes. Так как мы создавали меш для каждого из источников частиц, то папка meshes должна содержать 600 файлов с расширением bin , 200 файлов на каждый источник. В 3ds max создадим три сетки.

Для остальных двух Для остальных двух

5. Создайте окружение, источники света, настройте материалы по вкусу.

Для остальных двух

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

Для остальных двух

Надеюсь, вы нашли для себя хоть что-то полезное в этом уроке.

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

Спасибо за внимание.