Главная » Статьи » Оптимиация

Киноэффекты в Source

Введение

Day of Defeat: Source - один из лучших многопользовательских боевиков о Второй Мировой войне на рынке - создает кинематографическую игровую атмосферу с помощью внедренного в движок Source рендеринга High Dynamic Range. Он стал первой выпущенной Valve игрой, демонстрирующей технологию HDR после задержки бесплатного демонстрационного уровня, известного как Lost Coast. Однако, текущая проблема с Day of Defeat: Source состоит в том, что качество сцен в игре значительно превосходит то, что было возможным во времена, когда разворачивается действие игры.

В Valve прилагают значительные усилия, чтобы сделать игру в Day of Defeat еще более кинематографичнее с помощью реалистичных эффектов, которые вы ожидали бы увидеть в фильме об этом периоде времени. За последние полтора года разработка контента прошла серьезный путь вместе с запуском нескольких крупных игр, использующих HDR-освещение.


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

Valve стремится раздвинуть границы игровых ощущений на всех фронтах. Half-Life 2, с моей точки зрения, является лучшим боевиком всех времен, но это не значит, что сотрудники Valve бездействуют. Они стремятся сделать гораздо больше, чем в Half-Life 2. Графические технологии значительно продвинулись вперед со времен выхода Half-Life 2, который произошел всего лишь чуть больше года назад.



В Valve считают, что следующим шагом должно стать улучшение кинематографической атмосферы в Day of Defeat: Source с помощью таких эффектов как Depth Of Field, Motion Blur, Film Grain, Dust и Colour Correction. На следующих нескольких страницах мы опишем эти новые технологии и то, как Valve планирует внедрить их в Day of Defeat: Source, чтобы сделать игру еще более похожей на фильм, чем она есть сейчас.

За исключением Colour Correction, все эти кино-эффекты снижают четкость картинки, но в результате человеческий глаз воспринимает гораздо более сложную сцену. Стоит также заметить, что эти технологии будет непросто внедрить в классический боевик времен Второй Мировой, но они послужат основой тех графических нововведений, которые мы ждем от будущих игр Valve.

Depth of Field (Глубина резкости)

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

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

Человеческий глаз работает примерно также. Проведите небольшой тест: оглядитесь вокруг и выберите некий объект в нескольких метрах от вас, на котором есть какие либо детали - голая стена не подойдет. Это может быть что угодно - книжный шкаф, проем двери, диван - не важно. Приглядитесь и, если только вы не забыли свои очки, предмет должен быть в фокусе.

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


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

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

Ренни Харлин, режиссер фильма Глубокое Синее Море, заявлял, что зритель не может отличить механическую акулу в фильме от нарисованной на компьютере. Это, конечно же, не правда, ведь фильм снят в 1999 году; с использованием технологий доступных на сегодняшний день, становится все труднее заметить разницу.

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


Добавив в движок Source глубину резкости, Valve серьезно увеличили степень реализма, привнесенную несколько месяцев назад с помощью HDR-освещения. Скриншоты на этой странице дают представление о том, как глубина резкости работает в Day of Defeat.

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

Одними скриншотами продемонстрировать эффект трудно и наилучшим было бы показать вам все это прямо в игре. Valve были столь любезны, что предоставили нам несколько видео-роликов, демонстрирующих новые эффекты в игре. Для начала, посмотрите "контрольный" ролик, в котором нет никаких эффектов. Он выглядит как обычный Day of Defeat.

Действие в ролике достаточно быстрое, так что вам вероятно потребуется просмотреть его несколько раз, чтобы в полной мере оценить изменение. Хорошим примером является кадр на 7-й секунде: ближайшая к камере стена размыта, потому, что фокус расположен на солдате вдалеке в центре сцены.

Глубина резкости - это лишь один из эффектов, которые будут добавлены в Source. Следующим мы рассмотрим Motion Blur...

Motion Blur (размытие в движении)

И кино и телевидение представляют последовательность картинок как видео с фиксированной частотой кадров. Кино работает с частотой 24 Гц (или 24 кадра в секунду), в то время как телевидение работает на частоте 50 или 60 Гц в зависимости от системы PAL или NTSC. Как могли заметить обладатели современных видео-карт, 3D игры, такие как Day of Defeat, не используют фиксированную частоту - кадры отрисовываются с максимальной возможной частотой.

В идеале, игры отрисовываются с частотой обновления экрана вашего монитора: 60-75 Гц для LCD и обычно 85-100Hz для CRT мониторов. Здесь на сцену выходит Вертикальная Синхронизация (Vertical Sync или V-Sync). Вертикальная синхронизация используется для того, чтобы гарантировать, что частота кадров соответствует частоте обновления экрана или, в более сложных сценах, частному от частоты обновления. Это сделано для того, чтобы избежать дерганья, когда кадры отрисовываются с частотой, отличной от частоты отображения их монитором.

При съемке фильма, каждый кадр отображается одинаковый период времени - постоянная частота кадров. Если камера передвигается с большой скоростью или же объект в сцене движется быстро (например, разгоняющаяся машина), происходит размытие в движении.

Давайте рассмотрим пример: машина движется со скоростью 200 км/ч. Каждый кадр отображается в течение 1/24 секунды*, а наша машина двигается со скоростью 55 метров в секунду. За каждый кадр машина пройдет примерно 2.3 метра, так что пока нос машины только пересекает финишную черту в начале кадра, к его концу он уже сдвинется на всю длину корпуса. Этим и вызвано появление эффекта размытости в движении.

* Наш читатель Дэн Ветановец прислал нам письмо, в котором указал, что из-за механизма кинокамер наш пример не вполне технически корректен. Он также прислал точное описание процесса, но принцип остался тем же. Мы решили не смущать читателей длинным техническим объяснение - достаточно сказать, что если объект движется быстрее чем пленка - возникает размытие. Спасибо Дэн.

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


Чтобы дать вам представление о том, какое влияние размытие оказывает на сцену, мы сделали несколько скриншотов из ролика ниже. Вкратце, Valve пытаются отрисовывать изображение в течение фиксированного периода времени, вместо рендеринга в различные промежутки времени; это позволяет отображать кадры подобно тому, как они отображаются в кино. Эти скриншоты могут быть достаточно обманчивыми, так как картинка выглядит слишком размытой. Однако, из-за особенностей работы человеческого глаза, в движении эта же сцена выглядит очень плавно. Посмотрите сами.

Второй метод - известный как Vector Motion Blur - используется в демо компании ATI - Dangerous Curves, которое можно скачать с демо-страницы ATI. При этом методе во время рендеринга картинки сохраняется вектор движения каждого пикселя на экране. Эти векторы в последствие используются для отрисовки размытия по направлению движения.

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

Глубина резкости и размытие в движении вместе

Сочетание двух эффектов может принести действительно фантастический результат в игре. К тому же, эти эффекты позволяют избавиться от множества неровностей в шейдерах, от которых в частности страдает движок Source. Valve может достичь этого, изменяя глубину резкости в местах карты, особенно подверженных плохой стыковке текстур и неровностям шейдеров, таким образом, уменьшая детализацию проблемных частей сцены.

Ранее, мы могли достичь этого для всей сцены разом с помощью Уровня Детализации (LOD), но глубина резкости позволяет нам накладывать исправления в зависимости от сценария, выделяя то, что нужно с максимумом детализации и одновременно привлекая внимание игрока к важным частям сцены.

Приведенные выше скриншоты демонстрируют сочетание обеих техник сразу - у вас действительно появляется ощущение глубины и движения одновременно. Естественно, будут ли оба эффекта скомбинированы эффективно, зависит от разработчика - в данном случае от Valve. Они могут добиться эффективности, используя технику, известную как accumulation buffer.

Технология Accumulation buffers известна достаточно давно. Вкратце, это название означает, что отдельные кадры помещаются в буфер, где они хранятся (или "аккумулируются") для последующего повторного использования в сцене с несколько иной целью рендеринга. Это работает примерно так же, как и временной анта-алиасинг у ATI: второй кадр рисуется на немного иной цели рендеринга для создания более плавной картинки при совмещении кадров.

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

Film Grain (зернистость пленки)

Valve предоставили в наше распоряжение короткий демонстрационный уровень, который демонстрирует два оставшихся эффекта, которые они разрабатывают. Первый из них - это зернистость пленки. Если вы когда-нибудь смотрели старый фильм на большом экране, вы наверняка наблюдали повреждения, которые пыль и мелкие царапины нанесли пленке. Это происходит потому, что пленка, используемая в кинопроекторах, находится не в замкнутом пространстве и подвержена воздействию всех тех мелких частиц, что летают в воздухе.

Зернистость - это небольшой, но очень важный визуальный элемент кинофильма, помогающий добавить сложность демонстрируемой сцене. А так как Valve пытаются привнести в Day of Defeat: Source именно кинематографическую атмосферу, различные степени зернистости могут использоваться для достижения определенного стиля. Игра построена вокруг Второй Мировой войны и в ролике, созданном Valve, зернистость использована в большой степени, что придает ролику вид кинохроники 60-ти летней давности, а не компьютерной игры 21-го века.


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

Вам мозг ожидает, что все вокруг будет выглядеть супер-гладко, даже не потому, что вы вероятно уже знакомы с картами Day of Defeat, но и потому, что это - современная компьютерная игра. Однако, так как действие Day of Defeat разворачивается в 1940-х, когда записывающее оборудование было не способно производить чистую и блестящую картинку. Когда зернистость применяется в правильном контексте, она выглядит невероятно хорошо. Ролик сделан так, чтобы выглядеть как выпуск новостей, и он действительно выглядит как выпуск новостей 40-х годов!

Цветокоррекция (Colour correction) - еще одна важная часть создания правильной атмосферы для игрока - скриншот выше демонстрирует, как незначительные изменения цвета помогают вам перенестись во времена, где разворачиваются события Day of Defeat. Цвета выглядят слегка полинявшими, что добавляет правдоподобности ощущению, что вы в 40-х, сражаетесь не на жизнь, а на смерть в напряженной городской перестрелке.


Сочетание этих двух эффектов создает интересное ощущение: пичикир, стены и другие объекты уже не выглядят новыми и чистыми. Создается ощущение, что вы лично принимаете участие в "Спасении Рядового Райана" (Saving Private Ryan) или "Братьях по оружию" (Band of Brothers), а не сидите в кресле и смотрите фильм. Зернистость настолько привычна для нашего глаза, что выглядит гораздо более нормальной, нежели может показаться.

Мы намеренно оставили счетчик кадров в секунду на скриншотах, чтобы дать вам представление о том, насколько эти эффекты влияют на производительность. Мы проводили тестирование на ноутбуке Alienware, оснащенном картой GeForce Go 6800, процессором Pentium M 2.13GHz и 1GB оперативной памяти. Уровень детализации был установлен на 1440x900 2xAA 8xAF, high details, отражение в воде установлено на 'Reflect All' и включена полная поддержка HDR. Количество кадров в секунду упало на 4 - около 10% - после включения эффекта зернистости.

Очевидно, что не любая игра выиграет от применения зернистости, это будет напрямую зависеть от самой игры. Мы же считаем, что такие игры как Day of Defeat: Source однозначно выиграют от этого эффекты - он поможет игроку как бы перенестись назад во времени, давая более глубокое ощущение погружения в происходящее.

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

Colour Correction (цветокоррекция)

Цветокоррекция применяется в создании фильмов уже давно. Вкратце, она заключается в изменении цветового баланса последовательности кадров (или всего фильма) после съемки. Раньше этого достигали путем нанесения специальных химикатов на пленку, но благодаря цифровым технологиям, сегодня режиссеры могут играть с цветокоррецией не нанося перманентных повреждений оригинальной пленке.


Синий, в который Спилберг окрасил свое "Особое мнение" (Minority Report) создает ощущение холодного, изолирующего будущего, в то время как яркие, насыщенные цвета фильма "Герой" (Hero) с Джетом Ли использованы режиссером Йиму Жангом для отражения эмоций, которые испытывают актеры в данный момент. В других фильмах, таких как "Город Грехов" (Sin City) и "Небесный Капитан и Мир Будущего" (Sky Captain and the World of Tomorrow) используют сильную цветокоррекцию для того, чтобы коренным образом изменить внешний облик фильма и придать ему вид комикса.

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

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

Цветокоррекция также незаменима для повторного использования контента, ведь мы можете накладывать определенный вид на игру, уровень или даже его часть используя вариации цвета. Классический пример приведен на скриншотах ниже. Они демонстрируют, как можно использовать те же текстуры и декорации для изменения внешнего вида с использованием одной лишь цветокоррекции.

День как ночь и высокий контраст


контрольное изображение; частичный эффект День как ночь


Полный эффект День как ночь; День как ночь и Высокий контраст


Частичное применение Высокого контраста; полный эффект Высокий контраст

Сепия (ярко-коричневый тон) и Черно-белый


Высокий контраст и Сепия; частичное применение эффекта Сепия


Полный эффект Сепия; сочетание Сепия и Черно-белой гаммы


Частичное применение Черно-белой гаммы; полный эффект Черно-белое

Разница между продемонстрированными режимами велика, но возможности движка не ограничиваются только этими режимами. Valve создали набор инструментов, похожий на возможности управления цветобаллансом в Adobe Photoshop - если вы знакомы с Photoshop, у вас не возникнет проблем с созданием собственных профилей для изменения цвета. Несколько простых примеров можно увидеть ниже.


Я не очень изощрен во владении Photoshop, так что скриншоты далеки от совершенства, но они могут дать вам представление о том, что можно сделать. Если вы переборщите с изменением цветов, вы рискуете получить различные визуальные артефакты - это ограничение видимого диапазона цветов, а не что-либо ненормальное. Художники Valve должны быть способны создать абсолютно фантастические эффекты с использованием цветокоррекции. Они должны усилить настроение и увлекательность игры - я не могу дождаться возможности поиграть на Avalanche в темноте!



"Любое отступление - это шаг вперед. Любая неудача - это возможность для успеха.
Любое поражение - это победа!"

Изучив все новые графические возможности, мы можем перейти к финалу: 3-х минутному "военному фильму", который создали в Valve. В нем использованы стандартные шейдеры, текстуры, модели, физика и анимация. Он был снят "на месте", в игре Day of Defeat без каких либо улучшений к оригинальному контенту. Единственным изменением являются новые киноэффекты.

The Day of Defeat Trailer
Длительность: 3 минуты 24 сек
Разрешение: 1280x720
Размер: 204 MB
Кодек: WMV9

Зеркала:
FileSpace.ru
FileShack mirror

Если вам не по силам скачать полный 204-мегабайтный ролик, ниже представлены несколько скриншотов. Однако, как уже было сказано ранее, полное впечатление о новых эффектах можно получить, только наблюдая их в движении.

Заключение

Мнения о новых киноэффектов разделились. С одной стороны, нет сомнения, что они отлично выглядят и делают игру более кинематографичной, значительно сближая кино и игры. С другой стороны, значительное количество "профессиональных" игроков не примут эти изменения с распростертыми объятиями, так же, как они не приняли HDR. Это меньшинство сопротивляется любым косметическим изменениям, которые могут встать на пути профессионального превосходства.

Возьмите, например, управление экспозицией в HDR, когда игрок оказывается временно ослеплен ярким светом при выходе из темного помещения. Несомненно отличный видео-эффект, но получив хэдшот от противника, которого вы не смогли увидеть потому, что забыли свои солнцезащитные Oakley, вы быстро отключаете HDR и не используете его в игре (да, и Oakley во время Второй Мировой вообще кажется не было).

Эта же теория применима к любой игре типа Day of Defeat. Эффекты значительно увеличивают зрелищность игры, но их влияние на многопользовательский мир будет ограничено. Однако попробуйте посмотреть шире, и вы поймете, что заложенный потенциал впечатлит множество людей. Например, грядущий Half-Life 2: Aftermath и будущие игры на движке Source, несомненно, выиграют от этих технологий. В однопользовательской среде такие возможности, как глубина резкости в сочетании со скриптовыми сценами могут производить оглушительный эффект.

Еще одна группа людей, которая по достоинству оценит внедрение этих технологий - это растущее сообщество Машинима: люди, которые используют игры для создания короткометражных фильмов, таких как Red vs Blue на основе Halo. Движок Source уже является фаворитом среди маньяков машинима на PC и дополнительные эффекты сделают его еще более популярным. Возможно, он даже прокрадется в такие области как онлайн-комиксы, например Concerned.

Valve намерены добавить новые эффекты в одном из следующих обновлений Steam. После многократных задержек в последнее время в Valve решили не назначать конкретную дату этого обновления, вероятно стремясь избежать критики в случае задержки даже на один день. Однако мы можем открыть вам, что выход Half-Life 2: Aftermath назначен на первый квартал 2006 года, с целью выпустить его в феврале.

Категория: Оптимиация | Добавил: Fighter (24.12.2010)
Просмотров: 549 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]