Водная технология, лежащая в основе "Аватара": Путь воды

Wētā Digital - теперь часть Unity - разработала многие инструменты и решения, используемые для создания мира Avatar: Путь воды к жизни. Здесь мы посмотрим на CGI-технологию, лежащую в основе воды. Если вы хотите одними из первых получить доступ к некоторым инструментам, использованным в фильме, вы можете зарегистрироваться на бета-версии Unity Wētā Tools на нашем сайте.

Джеймсу Кэмерону не чужда работа с водой. Не считая "Титаника", в 2012 году он совершил рекордное одиночное погружение, пилотируя подводную лодку на дно Марианской впадины в Тихом океане: Самая низкая точка Земли на глубине почти 11 километров. Как он сказал в вышедшем в 2014 году документальном фильме Deepsea Challenge, "здесь, внизу, вы чувствуете силу воображения природы, которая намного превосходит нашу собственную".
Это должно было быть поистине замечательно, ведь мир Пандоры и его потрясающие визуальные эффекты в конечном итоге появились благодаря воображению самого Кэмерона.

Для воплощения замысла Кэмерона, в сиквеле которого появилась новая рифовая деревня водного клана Меткаины, потребовалось широкое использование визуальных эффектов - особенно для доминирующих водных декораций.
Инструменты и решения, использованные для создания VFX фильма, включая отмеченные наградами водные эффекты, были разработаны компанией Wētā Digital, которая теперь является подразделением Unity.
Чтобы обеспечить максимальную реалистичность взаимодействия между персонажами и водными элементами, была собрана команда экспертов, включая специалистов по VFX-симуляции воды в Unity и Wētā: Алексея Стомахина, Стива Лессера, Джоэла Вретборна и Шона Флинна. Набор инструментов для работы с водой, созданный этой командой, был недавно отмечен наградой Общества визуальных эффектов (VES) в номинации "Новая технология".
Уделяя огромное внимание деталям, группа провела обширные исследования и эксперименты в сотрудничестве с Национальным институтом водных и атмосферных исследований Новой Зеландии (NIWA), чтобы найти наилучший подход к созданию CGI воды. При этом учитывается влияние приливов, ветра и морского дна на водную среду.

Аватар: Для фильма "Путь воды" потребовались эффекты воды для 2225 кадров, некоторые из которых моделировались до восьми дней, чтобы достичь высокого разрешения.
Также было много сцен, в которых вода взаимодействовала с более чем 50 существами в одном кадре. В связи с этим возникла проблема, связанная с необходимостью точного моделирования в разных масштабах: от больших доменов для крупных существ до субмиллиметрового разрешения для тонких пленок на коже.
Поскольку создание системы воды с одним представлением было нецелесообразно с вычислительной точки зрения, был разработан набор инструментов с несколькими отдельными решателями, чтобы свести время вычислений к минимуму.
"Машина Loki Water State Machine сыграла решающую роль в создании огромного количества масштабных водных съемок в этом фильме. В обычном фильме с большим количеством VFX водные кадры такой сложности встречаются нечасто и требуют множества итераций и проходов от очень опытных художников. В отличие от этого, наш подход, основанный на использовании машин состояний, позволил добиться отличных результатов уже после одного прохода, даже художниками, которые только что пришли в индустрию". - Шон Флинн, руководитель отдела моделирования, Unity x Wētā Digital
Большинство инструментов для работы с водой, разработанных командой, находятся в собственной системе моделирования Wētā, Loki. Эта разработка включает в себя решатели для различных состояний воды, включая процедурные водные волны, объемную воду, брызги, туман, пузырьки, диффузные пузырьки, пену, капиллярные поверхностные волны, тонкую пленку и остаточную влажность.
Государственная машина
Многие из этих решателей находятся в государственной машине Loki - системе воздушного распыления. Состояния воды связаны с окружающим воздухом, а переходы между состояниями осуществляются с сохранением массы и импульса.
Вместо универсального подхода машина состояний Loki позволяет нескольким решателям работать в тандеме. Каждый решатель оптимизирован для уровня детализации, необходимого для соответствующего состояния, например, объемная вода, распыление и туман. Это позволяет поддерживать эффективность крупномасштабного моделирования воды и при этом передавать очень тонкие взаимодействия капель, необходимые для распыления и тумана.
Все состояния, включая окружающий воздух, выполняются за один проход моделирования. Поскольку все решатели вычисляются с соответствующим физическим взаимодействием между ними, именно это помогло создать столь естественное и реалистичное взаимодействие воды на протяжении всего фильма.
На выставке SIGGRAPH 2019 был представлен практический подход к моделированию взаимодействия воды с персонажами на близком расстоянии с акцентом на высокоточные эффекты поверхностного натяжения и адгезии, когда вода движется по коже и капает с нее. Используя сцену из Alita: Боевой ангел (сценарий также написан Кэмероном), команда показала, как этот метод позволил добиться такого разрешения эффектов, которое было достаточно эффективным - в масштабе долей миллиметра - чтобы покрыть всего персонажа слоем воды.
Подход заключался в адаптации существующего решателя "частица в ячейке" (FLIP/APIC) для учета мелкомасштабной динамики взаимодействия воды и твердого тела. Затем эта техника была усовершенствована при создании фильма "Аватар" : The Way of Water, чтобы справиться с любой последовательностью, в которой есть персонажи, появляющиеся из воды.
"Это было не дешевое решение, поскольку нам пришлось моделировать динамику воды на субмиллиметровых масштабах. На вычисление результатов часто уходили дни. Мы должны были убедиться, что наш решатель достаточно масштабируем, прочен и надежен, чтобы создавать физически правдоподобные визуальные образы из коробки, с минимальной настройкой, требуемой от художников". - Алексей Стомахин, главный инженер-исследователь, Unity x Wētā Digital

Для достижения правдоподобной динамики в подводных сценариях - например, когда персонажи дышат под водой в Avatar: Путь воды - подход к подводным пузырькам заключался в моделировании их вместе с узкой полосой воды вокруг интересующей области. Сами пузыри будут представлены в виде двух частей: героя и диффузного аналога.
Героический аналог захватывает более крупные пузыри с более взрывным и турбулентным поведением. В нем используется несжимаемое двухфазное решение Навье-Стокса на эйлеровой сетке, причем воздушная фаза представлена частицами FLIP/APIC для сохранения объема и точного отслеживания границ раздела.
Диффузный аналог фиксирует движение мелких пузырьков ниже разрешения эйлеровой сетки. Команда разработала новую схему соединения диффузных пузырьковых частиц с объемной жидкостью, которую можно применить и к другим погруженным в воду пористым объектам, таким как песок, волосы и ткань.
Чтобы повысить визуальную детализацию моделирования водной поверхности, команда из Wētā Digital и IST Austria разработала метод постобработки, при котором симуляция берется в качестве исходного материала и увеличивается ее видимое разрешение путем моделирования поверх нее детальных лагранжевых волн.
Линейная теория волн на воде была расширена для работы в непланарных областях с волновыми пакетами Лагранжа, прикрепленными к сплайновым кривым, которые эволюционируют над поверхностью объемной жидкости. Этот метод позволяет получить высокочастотные пульсации с дисперсионным поведением волн, адаптированным к моделированию жидкости.
Была разработана техника для реалистичного движения подводных пузырьков, созданных движением в воде, достигающих поверхности воды и превращающихся в пену. Это было важно почти для всех водных сцен в Avatar: Путь воды.
Сетчатые симуляторы Навье-Стокса, обычно предназначенные для захвата крупномасштабных движений, таких как объемная жидкость, по своей сути ограничены разрешением сетки, что делает этот метод непрактичным для мелкомасштабных явлений, таких как брызги и туман от разбивающихся волн. Эти эффекты обычно моделируются как независимые лагранжевы частицы.
"Одним из ключевых аспектов нашего метода является взаимодействие двух решателей: сеточного решателя для жидкости, связанной с пузырьками, и SPH-решателя для пены, ограниченной поверхностью воды. Декларативная структура решателей в Loki - это то, что позволяет создавать и поддерживать эти сложные системы в производстве без необходимости разрабатывать новые решатели с нуля". - Джоэл Вретборн, старший инженер-исследователь, Unity x Wētā Digital
Ключевой аспект, которым пренебрегают большинство существующих решателей, - это коллективные эффекты: группы пузырьков поднимаются быстрее, чем одиночные пузырьки, благодаря их совместной плавучести, и скопление большого количества пузырьков может оказать значительное влияние на движение воды.
Новая методика устраняет это ограничение, моделируя пузырьки с двусторонней связью с окружающей жидкостью. Это позволяет эффективно передавать эффекты коллективных пузырьков и создает более тесную связь между пузырьками и движением жидкости. Когда пузырьки достигают поверхности, они превращаются в "мокрые" пенные частицы, ограниченные поверхностью воды, дискретизированные с помощью гидродинамики сглаженных частиц (SPH). В итоге это позволило создать правдоподобную динамику белой воды как на крупных планах, так и при съемке большого океана.
Технология моделирования, используемая Целевой группой по водным ресурсам, была создана нынешними и бывшими коллегами из Wētā Digital, а также друзьями из Wētā FX и академических институтов, включая: Алексей Стомахин, Джоэл Вретборн, Кевин Блом, Жиль Давье, Стив Лессер, Джон Эдхольм, Но-Хун Ли, Эстон Швейкарт, Сяо Чжай, Шон Флинн, Эндрю Моффат, Гэри Бойл, Томаш Скриван, Андреас Содерстрон, Джон Йоханссон, Кристоф Шпренгер, Кен Мусет и Крис Войтан. Узнайте больше о бета-версии Unity Wētā Tools.