Как Naughty Dog создавали лучшую воду в игровой индустрии

Опубликовано Barrayar - вс, 2012-04-29 01:48

 

Все мы помним триумфальную победу Uncharted 3: Drake's Deception  во время VGA 2011, когда Uncharted 3 получал все возможные награды, одной из который, причем одной из самых желанных и вызывающих уважение, была награда Best Graphics 2011.

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

Во время Game Developers Conference 2012, которая проходила с 5 по 9 марта 2012 года, представители Naughty Dog поделились с трешеделами другими менее умелыми разработчиками, как правильно, красиво, умело и натурально воссоздать поведение воды в видео игре.

Итак, давайте начнем по порядку, как все это рассказывали Naughty Dog:

1.Как мы создавали момент с заполнением водой холла

Во время разработки Uncharted 3 мы создавали много разных видов воды:

- водная гладь

-  водопады

- океан

- струящаяся вода

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

Тогда было принято решение использовать реальную симуляцию физического заполнения водой.

Все это должно было работать на основе следующих принципов:

- создание ингейм беспорядка посредством симуляции

- все детали должны были быть созданы самой симуляцией

- твердые тела должны были двигаться самой симуляцией

2. Создание "беспорядка" предлагалось сделать при помощи простой анимации, но это заняло бы слишком много времени, по этому было решено все создать посредством именно моделирования. При этом отдельное программирование всплесков воды было отменено, потому что с этим было тяжело работать и выглядело это не очень красиво. При создании "сетки" было принято решение использовать не квадраты, а прямоугольники, к тому же устойчивая камеры способствовала оптимизации.

В результает, вот как это выглядело в простой симуляции (сетке)

А затем при наложении шейдеров

 

Причем на скриншоте выше при создании воды было использовано 8 разных видов частиц, разного качества и разрешения, а также 31 различных источников освещения.

3. Все частицы рендерились в разрешении 1/4 и использовались восьмиугольники при их создании, вместо обычных четырехугольников, которые выглядели бы очень не натурально.

4. Далее приступили к созданию пены. Ее симулировали посредством создания 4-х видов капель воды

Каждый из всплесков дополнял собой ближайшего соседа, в результате наша симуляция теперь выглядит вот так

5. После этого было добавлено освещение частиц воды, причем обратите внимание на различия в освещении у правой ноги Дрейка, во втором варианте вода уже освещена двумя источникам света - один источник освещает горизонтально, второй освещает вертикально

6. А теперь обратите внимание на то, как изменилось освещение частиц с несколькими источниками освещения

 и как всплески и пена накладываются друг на друга

 

 Вот и все!

В итоге, вода заполняет коридор не просто по какой-то анимации, а по физической симуляции, которая реал-тайм обрабатывается консолью во время игры, игрок чувствует, что все происходит невероятно реалистично, Naughty Dog снова получают награду за Лучшую Графику Года, причем абсолютно заслуженно, владельцы Xbox360 глотают слюни, пишут объявления в газеты о продаже своих консолей с целью покупки себе PS3... и только пека не ждет ничего хорошего.

Источник