> > > > Симуляция воды кирпичиками Lego

Симуляция воды кирпичиками Lego

Опубликовано:

lego simulationРазработчики игровых движков, к которым относятся также AMD и NVIDIA, пытаются добиться от движков и API реалистичного копирования поведения жидкостей. В последние месяцы мы получили несколько отчетов, которые говорят о значительном продвижении в симуляции жидкостей. Самым известным API здесь является PhysX, используемый NVIDIA, который опирается на соответствующую библиотеку WaveWorks. Наиболее впечатляющим тут было демо на базе движка Unreal 4.

Канадский программист Райан Гай (Ryan Guy) создал цифровую модель кирпичиков Lego, которую он представил как 3D-пакет с открытым кодом, который можно запустить в бесплатной программе Blender. Не многие могли ожидать, что имитацию кирпичиков Lego будет не так просто просчитать, и что воплощение этой идеи будет сложнее, чем симуляция реальной жидкости. Предпосылкой к созданию такого ПО стал реальный Lego-фильм, в котором персонажи и мир были собраны из кусочков конструктора Lego и затем отсняты кадр за кадром. При большом количестве объектов и сцен, такой подход означает большие затраты и именно здесь решением может стать подобное ПО.

Кроме симуляции «кирпичиков Lego как жидкости» Гай использовал и другие модели, среди которых визуализация пружин, воздушных пузырей и пены. В основном код для этих моделей был написан в GitHub. Там же можно и найти программу Гая под названием GridFluidSim3D.

Большинство сцен обрабатывалось на ноутбуке Райана Гая, который предлагал процессор Intel Core i5-4200U, 8 Гбайт ОЗУ и Intel HD Graphics 4400. Уже из технических данных понятно, что это совсем нетипичная для рендеринга машина, и обработка только лишь сцены с падением водного шара заняла 40 часов. Вычислительная производительность ПК очень важна на некоторых этапах рендеринга. Встроенный в Blender движок предполагает интенсивные вычислительные процессы. Симуляция жидкости GridFluidSim3D использует при рендеринге загружаемую в Blender сетку. Сама симуляция длится 6,7 часов, а добавив 37 часов рендеринга получается более 40 часов.

Для упомянутой симуляции водного шара используется разрешение 128 x 256 x 128 блоков. В итоге 5.880.000 частей должны быть обработаны для 494 кадров. При более быстром ПО процесс рендеринга может занимать и меньше времени, однако в настоящий момент этого достичь не получится, потому что рендеринг частично требует быстрого GPU.

Социальные сети

комментарии (0)

Войдите, чтобы оставить комментарий