Вопрос

Некоторое время я пытался имитировать текущую воду с помощью алгоритмов, которые я почерпнул из "Гидродинамика в реальном времени для игр".Проблема в том, что с помощью этих алгоритмов я, похоже, не добиваюсь поведения, подобного поведению воды.

Сам я предполагаю, что делаю что-то неправильно и что не все эти алгоритмы подходят для жидкостей, похожих на воду.

Что я делаю не так с этими алгоритмами?Верны ли вообще эти алгоритмы?

У меня есть связанный проект в репозиторий bitbucket.(требуется глетулы и самый новый пиглет бежать)

Это было полезно?

Решение

Решения на основе вокселей прекрасно подходят для имитации жидкостей и часто используются в пленке.Веб-сайт Рона Федкива приводит несколько академических примеров - все они основаны на сетке.Этот код лежит в основе многих симуляций, используемых Pixar и ILM.

Хорошим источником также является книга Роберта Бридсона Примечания к курсу моделирования жидкости из SIGGRAPH и его Веб-сайт.У него есть книга "Жидкостное моделирование для компьютерной графики" это происходит путем детальной разработки жидкостного симулятора.

Самый конкретный ответ, который я могу дать на ваш вопрос, заключается в том, что жидкости Stam в реальном времени для игр ориентированы на smoke, т.Е.где нет границы между жидкостью (водой) и внешней воздушной областью.В принципе, дым и жидкости используют один и тот же базовый механизм, но для жидкости вам также необходимо отслеживать положение поверхности жидкости и применять соответствующие граничные условия к поверхности.

Другие советы

Джем Юксель представил фантастический доклад о своем Волновые Частицы в SIGGRAPH 2007.Они дают очень реалистичный эффект при довольно низкой стоимости.Он даже смог смоделировать взаимодействие с твердыми телами, такими как коробки и лодки.Другим интересным аспектом является то, что движение лодки не задано сценарием, оно моделируется с помощью взаимодействия винта с жидкостью.

Cem Yuksel's Wave Particles
(источник: cemyuksel.com)

На конференции он сказал, что планирует выпустить исходный код, но я пока ничего не видел.Его веб-сайт содержит полный текст доклада и видеоролики, которые он показал на конференции.

Редактировать: Только что увидел ваш комментарий о желании имитировать текущие жидкости, а не колеблющиеся бассейны.Это не подошло бы для этого, но я оставлю это здесь на случай, если кто-то другой сочтет это полезным.

Какой тип воды вы пытаетесь имитировать?Лужи с рябью на воде или текущие жидкости?

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

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

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

Взгляните на, http://nzone.com/object/nzone_cascades_home.html как отличный пример того, чего можно достичь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top