
4.1 Постановка задачи: Описание сцены и ожидаемого результата.
Описание сцены
В данной главе вы сможете проследовать инструкциям и создать симуляцию волн в Blender.
Мы создадим сцену с волнами и их взаимодействием с камнями в Blender при помощи аддона FLIP Fluids.
В результате получится небольшая, но красочная сцена симуляции волн.
4.2 Создание объектов взаимодействия
Для начала скейлим (scale) куб
X — 7.5 Y — 5 Z — 5
После чего с зажатым Ctrl поднимаем его по оси Z на уровень сетки.

Для начала скейлим (scale) куб X — 7.5 Y — 5 Z — 5 После чего с зажатым Ctrl поднимаем его по оси Z на уровень сетки.
Внутри куба создаем еще один, который будет нашим берегом. По пропорциям подгоняем как и первый куб

Внутри куба создаем еще один, который будет нашим берегом. По пропорциям подгоняем как и первый куб
В режиме редактирования (TAB), с помощью сочетания клавиш Ctrl+R создаем 170 loop cut’ов.
Далее с помощью клавиши 5 на numpad’е включаем ортографический режим и с помощью 1 включаем вид спереди.
В режиме редактирования (TAB), с помощью сочетания клавиш Ctrl+R создаем 170 loop cut’ов. Далее с помощью клавиши 5 на numpad’е включаем ортографический режим и с помощью 1 включаем вид спереди.
Сверху включаем режим пропорционального редактирования и с помощью него выгибаем форму пляжа.
Сверху включаем режим пропорционального редактирования и с помощью него выгибаем форму пляжа.
Сверху включаем привязку к точкам, граням и плоскостям. Далее меняем значение первого куба по оси X с 7.5 на 12 и смещаем по оси X на -2.
Сверху включаем привязку к точкам, граням и плоскостям. Далее меняем значение первого куба по оси X с 7.5 на 12 и смещаем по оси X на -2.
С помощью инструмента Extrude (E) вытягиваем полигоны по обе стороны чтобы они совпадали с большим кубом.
С помощью инструмента Extrude (E) вытягиваем полигоны по обе стороны чтобы они совпадали с большим кубом.
В настройках убеждаемся что у нас включен аддон FLIP Fluids и Landscapes.
В настройках убеждаемся что у нас включен аддон FLIP Fluids и Landscapes.
В окне физики помечаем наш пляж в качестве препятствия (obstacle) с помощью аддона FLIP Fluids.
В окне физики помечаем наш пляж в качестве препятствия (obstacle) с помощью аддона FLIP Fluids.
В параметре трение (friction) выставляем 0.11 и в параметре whitewater influence 2.5
В параметре трение (friction) выставляем 0.11 и в параметре whitewater influence 2.5
C помощью аддона Landscapes создаем камень
C помощью аддона Landscapes создаем камень
Тоже делаем из него obstacle и выставляем те же параметры что и для пляжа.
Тоже делаем из него obstacle и выставляем те же параметры что и для пляжа.
Добаляем материал для камня и через клавишу U в режиме редактирования разворачиваем его как сферу (sphere projection).
Добаляем материал для камня и через клавишу U в режиме редактирования разворачиваем его как сферу (sphere projection).
Во вкладке Shader с помощью комбинации Ctrl+Shift+T добавляем скаченные текстуры.
Во вкладке Shader с помощью комбинации Ctrl+Shift+T добавляем скаченные текстуры.
Текстуры которые я использовал
Создаем еще один куб, он будет являться областью генерации воды.
Создаем еще один куб, он будет являться областью генерации воды.
Во вкладке physics назначаем его как Fluid
Во вкладке physics назначаем его как Fluid
Создаем материал для пляжа
Создаем материал для пляжа
Делаем из большого куба область (Domain), которой будет ограничена наша симуляция.
Делаем из большого куба область (Domain), которой будет ограничена наша симуляция.
Выставляем разрешение (350) и world scale (absolute)
Выставляем разрешение (350) и world scale (absolute)
Назначаем папку для кэша (cache)
Назначаем папку для кэша (cache)
Значение скорости ставим 1.4
Значение скорости ставим 1.4
Включаем симуляцию Whitewater
Включаем симуляцию Whitewater
Назначаем материалы для воды, пены и пузырей
Назначаем материалы для воды, пены и пузырей
Добавляем в нашу сцену карту HDRI
Добавляем в нашу сцену карту HDRI
Создаем очередной куб, он будет толкать нашу воду
Создаем очередной куб, он будет толкать нашу воду
С помощью клавиши I создаем ключи на первом кадре, затем двигаем куб немного вперед и опять прожимаем I
С помощью клавиши I создаем ключи на первом кадре, затем двигаем куб немного вперед и опять прожимаем I
Копируем ключи
Копируем ключи
Включаем процесс запекания нашей симуляции
Включаем процесс запекания нашей симуляции
После того как запечется пару кадров, ставим запечку на стоп
После того как запечется пару кадров, ставим запечку на стоп
В плеере ставим следующий кадр
В плеере ставим следующий кадр
Во вкладке Shader выставляем значение Density на 1 у материала воды
Затем можно снова ставить запечку симуляции и ждать ее завершения
4.3 Рендер
В качестве рендер движка ставим Cycles и GPU compute для более качественной картинки и выставляем значения samples и denoiser по своему усмотрению.
В качестве рендер движка ставим Cycles и GPU compute для более качественной картинки и выставляем значения samples и denoiser по своему усмотрению.
Выставляем камеру
Выставляем камеру
Выставляем настройки экспорта и рендерим анимацию
Выставляем настройки экспорта и рендерим анимацию
Заключение
В ходе исследования автор рассмотрел принципы моделирования водных симуляций, а также изучил методы прошедшего и нынешнего времен. По итогам исследования и выполнения практической части можно сказать что нынешний вектор развития подобного рода симуляций направлен прежде всего на оптимизацию симуляций если говорить об игровых проектах. В кинематографе наблюдается стабильный рост качества симуляций.
Библиография
1 — Fluid Simulation for Computer Graphics By Robert Bridson ISBN 9781482232837 2 — Real-Time Rendering, Fourth Edition By Tomas Akenine-Möller, Eric Haines, Naty Hoffman ISBN 9781138627000
Источники изображений
1 — https://www.kp.ru/daily/26827/3867618/ // дата обращения 1.11.24 2 — https://www.rebelway.net/wp-content/uploads/Rebelway-Water-FX.jpg.webp // дата обращения 1.11.24 3 — https://eueu.pro/H165.html // дата обращения 1.11.24 4 — https://www.kinopoisk.ru/film/396/shooting/ // дата обращения 1.11.24 5 — https://www.youtube.com/watch?v=FDq6TZgfs-I&ab_channel=JDubDotEXE // дата обращения 1.11.24 6 — https://muropaketti.com/elokuvat/elokuvauutiset/tanaan-tvssa-vuoden-1989-scifi-elokuva-oli-edella-aikaansa-mutta-myos-pettymys-monille/ // дата обращения 1.11.24 7 — https://www.youtube.com/watch?v=hR51NNDkgLs&ab_channel=FirstPlaysHD // дата обращения 1.11.24 8 — https://rg.ru/2019/08/22/razrushaiushchijsia-titanik-pokazali-na-video.html // дата обращения 1.11.24 9 — https://forums.simviation.com/phpBB3/viewtopic.php?f=42&t=141968 // дата обращения 1.11.24 10 — https://ru.pinterest.com/pin/282460207856486052/ // дата обращения 1.11.24 11 — https://www.thegamer.com/disney-moana-mysteries-plot-holes/ // дата обращения 1.11.24 12 — https://rbkgames.com/games/assassins-creed-4-black-flag/ // дата обращения 1.11.24
13 — https://kanobu.ru/articles/novyie-igryi-marta-2018-chto-vyihodit-dlya-pc-ps4-xbox-one-iswitch-371661/ // дата обращения 1.11.24 14 — https://digitalmusicacademy.ru/lesson-wave-shapes // дата обращения 1.11.24 14.1 — https://catlikecoding.com/unity/tutorials/flow/waves/ // дата обращения 1.11.24 15 — https://stackoverflow.com/questions/18885440/why-does-simplex-noise-seem-to-have-more-artifacts-than-classic-perlin-noise // дата обращения 1.11.24 15.1 — https://medium.com/@yvanscher/playing-with-perlin-noise-generating-realistic-archipelagos-b59f004d8401 // дата обращения 1.11.24 16 — https://link.springer.com/article/10.1007/s40571-023-00679-7 // дата обращения 1.11.24 17 — https://www.soyuz.ru/news/5318 // дата обращения 1.11.24 18 — https://silvestrejulien.blogspot.com/2014/11/wave-deformer-houdini.html // дата обращения 1.11.24 19 — https://www.youtube.com/watch?v=FXalzNQLd34&ab_channel=cgcircuitLLC // дата обращения 1.11.24 20 — Unreal Engine 5.3 Real-Time Water Simulation with Splash & Foam with Niagara Fluids | RedefineFX // дата обращения 1.11.24 21 — German Battleships. Cinematic Trailer // дата обращения 1.11.24
22 — https://martinfatnes.artstation.com/projects/8eRzEx // дата обращения 1.11.24 23 — https://www.youtube.com/watch?v=FXalzNQLd34&ab_channel=cgcircuitLLC // дата обращения 1.11.24 24 — https://www.canarabacioglu.com/drawings-sketches-1 // дата обращения 1.11.24 25 — Create Waves using Bifrost in Maya 2022: Basic // дата обращения 1.11.24 26 -FLIP FLUIDS with ocean modifier tutorial // дата обращения 1.11.24 27 — https://rutube.ru/video/9c68f443351852709ef1809a368aca4d/ // дата обращения 2.11.24 28 — https://www.kinopoisk.ru/film/470178/stills/page/1/ // дата обращения 2.11.24 29 — https://rutube.ru/video/854ce20ade387f87041ca1e29e002448/ // дата обращения 2.11.24 30 — https://www.youtube.com/watch?v=8IX3G7GP4z4&ab_channel=DavidGibbons // дата обращения 2.11.24 31 — https://blender.stackexchange.com/questions/255540/how-to-recreate-a-wave-that-moves-like-in-interstellar // дата обращения 2.11.24 32 — https://www.youtube.com/watch?v=p3xp-SnZDoY&ab_channel=Xbox // дата обращения 2.11.24 32.1 — https://forums.flightsimulator.com/t/sea-rendering-in-msfs2024/647615 // дата обращения 2.11.24
32.2 — https://flightnews24.de/2024/10/21/msfs-2024-so-viel-besser-soll-der-verkehr-werden/ // дата обращения 2.11.24 33 — https://steamcommunity.com/app/311310 // дата обращения 2.11.24 34 — https://www.reddit.com/r/Houdini/comments/1fitjwl/take_a_look_at_this_realistic_3d_simulation_of/ // дата обращения 3.11.24 35 — https://www.reddit.com/r/Houdini/comments/1flup62/recent_project/ // дата обращения 3.11.24 36 — https://www.reddit.com/r/blender/comments/1f758oe/geometry_nodes_waves/ // дата обращения 3.11.24 37 — https://www.youtube.com/watch?v=9ATQxigVhe0&ab_channel=OctopusPanda // дата обращения 3.11.24 38 — https://www.youtube.com/watch?v=ka-kKiLA9sg&ab_channel=Wolfpack345 // дата обращения 3.11.24 39 — https://store.steampowered.com/app/494840/UBOAT/ // дата обращения 3.11.24 40 — https://www.youtube.com/watch?v=T2dvtVJVd8M&ab_channel=Wolfpack345 // дата обращения 3.11.24 41 — https://store.steampowered.com/app/552990/World_of_Warships/ // дата обращения 3.11.24