Джеймс Кэмерон уже не раз приятно удивлял и будоражил воображение зрителей своими невероятными фильмами. В этот раз, он показал “мир Пандоры” с другой стороны – водный мир. Еще до недавних пор возможности компьютерной графики были ограничены и реалистичность картинки оставалась под вопросом. Но с каждым годом технологии совершают невероятные рывки, позволяющие добиваться максимальной четкости и реалистичности картинки. В этой статье мы рассмотрим, что же за инструменты использовались для создания “настоящей воды” и сколько работы стоит за каждым кадром фильма.
Как мы уже сказали, значительная часть инструментов и решений для создания водных эффектов были разработаны компанией Wētā Digital (в данный момент она является подразделением Unity), работа которая впоследствии была отмечена специальными наградами – наградой Общества визуальных эффектов (VES) и наградой Emerging Technology Award.
Но что потребовалось, чтобы создать “компьютерную воду”?
Если вы думаете, что вся работа проходила исключительно в офисе, сидя за мощными компьютерами, то вы ошибаетесь. Вначале была создана специальная целевая группа по водным ресурсам. Прежде чем приступить к работе, эта группа принимала участие в исследованиях и экспериментах в сотрудничестве с Национальным институтом водных и атмосферных исследований Новой Зеландии (NIWA). Их задачей было – найти самый лучший метод для создания CGI-воды. А для этого нужно было учитывать множество различных факторов, в том числе – воздействие приливов, ветра и морского дна на водную среду.
В итоге, в фильме “Avatar: The Way of Water” было использовано 2225 кадров с водяными эффектами, а моделирование отдельных из них длилось более недели на 1 кадр! Главная цель – достижение максимального разрешения, что было непросто, так как для отдельных сцен вода “взаимодействовала” с более чем 50 разными элементами в одном кадре. Сложность была в том, чтобы точно смоделировать все эффекты одновременно – от больших до самых мелких деталей в виде “мокрой пленки” на коже героев.
Для решения всех этих проблем использовалась специальная платформа водного моделирования – Loki. Её набор инструментов был разработан так, чтобы свести время вычислений к минимуму. Технология включает в себя вычисления для разных состояний воды: волны, брызги, туман, большие пузырьки, диффузные пузырьки, пена, тонкая пленка, влажность и т.д. Кроме того, состояния воды, связанные с воздухом и переходы между этими состояниями обрабатываются с сохранением массы и импульса. Суть Loki в том, что каждое отдельно взятое состояние воды оптимизируется и детализируется отдельно, но в последствии выводится в тандеме с другими состояниями. В итоге мы получаем одновременно и брызги, и капли, и влажность, и туман как очень эффективное крупномасштабное моделирование воды. Все состояния, включая окружающий воздух, выполняются за один проход симуляции и рассчитываются с учетом физических взаимодействий между ними. Как результат – мы получаем очень естественное и реалистичное взаимодействие с водой на протяжении всего фильма.
Отдельного внимания заслуживает создание тонкой пленки и капель, стекающих с кожи. Речь идет о всех взаимодействиях воды с персонажами на крупных планах. Воссоздание поверхностного натяжения воды и эффекта адгезии, когда вода движется и капает с кожи. Это довольно сложная задача, с которой, тем не менее, блестяще удалось справиться в фильме. Для этого был адаптирован вычислитель частиц в ячейках (FLIP/APIC) для захвата мелкомасштабной динамики взаимодействия вода-твердое тело. На моделирование динамики воды в субмиллиметровом масштабе уходило очень много времени, иногда даже дни. Но метод оказался достаточно надежным, чтобы создавать физически правдоподобные визуальные эффекты “из коробки” с минимальной доработкой со стороны художников.
Подводные пузыри также требовали отдельной детальной проработки.
Чтобы добиться реалистичной картинки в сценах, где персонажи дышат под водой, решено было имитировать пузыри вместе с узкой полосой воды вокруг интересующей области. Сами пузыри будут состоять из двух частей: персонаж и его диффузный аналог.
Двойник героя использует несжимаемое двухфазное решение Навье-Стокса на эйлеровой сетке, где воздушная фаза представлена частицами FLIP/APIC. Это способствует сохранению объема и точному определению границы раздела. Диффузный аналог фиксирует движение более мелких пузырьков ниже разрешения эйлеровой сетки. В итоге был создан новый механизм соединения частиц диффузных пузырьков с объемной жидкостью, который может применяться и к любым другим погруженным в воду пористым объектам (например песок, волосы, ткань).
Что касается имитации бурлящей воды, тут требовалась другая методика реализации.
Симуляторы Навье-Стокса на основе сетки, обычно предназначенные для захвата крупномасштабных движений, таких как объемная жидкость, по своей природе ограничены разрешением сетки, что делает этот метод непрактичным для мелкомасштабных явлений, таких как брызги и туман от прибойных волн. Эти эффекты бурной воды обычно моделируются как независимые лагранжевы частицы.
Когда пузырьки достигают поверхности, они превращаются во «влажные» частицы пены, ограниченные поверхностью воды, дискретизированные с помощью гидродинамики сглаженных частиц (SPH). Как результат, это дало правдоподобную динамику бурной воды как на крупных планах, так и на крупных планах океана.
Постобработка графики также потребовала немало времени. Над этой задачей Wētā Digital работала совместно с IST Austria. Для улучшения детализации водной поверхности был разработан метод постобработки, который использовал симуляцию в качестве входных данных и увеличил ее видимое разрешение за счет имитации подробных лагранжевых волн на воде поверх нее.Теория линейных волн на воде была расширена для работы в неплоских областях с лагранжевыми волновыми пакетами, прикрепленными к сплайновым кривым, которые будут развиваться по объемной поверхности жидкости. Этот метод создает высокочастотную рябь с дисперсионным волновым поведением, адаптированным к моделированию лежащей в основе жидкости.
Как видим, технологии с каждым днем позволяют создавать все более точные симуляции и проводить множество вычислений максимально быстро. Именно такая кропотливая работа большой команды опытных специалистов вылилась в создание яркой кинокартины – “Аватар: Путь Воды”, а заодно стала стимулом для нового рывка в улучшении уже существующих решений и механизмов, использующихся в современной графике и дизайне. Компания Unity была и остается одним из лидеров в сфере виртуальных технологий и мы приветствуем ее с этим великолепным результатом.