Почему игровая графика не так красива, как анимационные фильмы?

Я помню, как смотрел предварительный трейлер Tomb Raider и хотел, чтобы эти графики могли быть в самой игре.

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

До сих пор я знаю, что создание игры и анимированного фильма разделяют некоторую базовую нагрузку, например. создание 3d-моделей, их рендеринг (только в игре это происходит вживую). Анимированные фильмы отображаются в течение длительного времени, и мы видим только предварительно созданные сцены. Это все, что я знаю, поэтому надеюсь, что вы ответите с этой точки зрения!

Что относительно рендеринга анимационных фильмов в течение нескольких часов и часов делает их такими прекрасными, в то время как живое рендеринг в игре менее красивым (с общей точки зрения)?

60 голосов | спросил cowboysaif 2 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 02 Sep 2014 12:04:40 +0400 2014, 12:04:40

9 ответов


106

Вы уже упоминали один из центральных пунктов: Время .

В процессе создания анимации с высокой точностью воспроизведения используются несколько разных подходов и алгоритмов (все они обычно объединены под термином " Global Illumination "), Ray-Tracing является одним из наиболее распространенных (другие включают, например, Radiosity и < a href = "http://en.wikipedia.org/wiki/Ambient_occlusion" rel = "nofollow noreferrer"> Окружающая окклюзия ).

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

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

Также следует учитывать: Память & amp; Пропускная способность . Чем выше качество текстуры, применяемой к объекту в сцене, тем больше памяти необходимо загрузить и использовать в игре. Но не только система должна иметь достаточное количество памяти для хранения данных, но эти данные также должны быть перенесены вокруг того, что использует доступную пропускную способность. Поскольку память и пропускная способность ограничены, существует максимум того, что может быть достигнуто.

Игры часто обманывают, используя только текстуры высокого разрешения для близких объектов, и используйте изображения с более низким разрешением для отдаленных объектов (термин: MipMapping ), таким образом уменьшая необходимую ширину полосы пропускания, поскольку требуется меньше текстуры, что в свою очередь увеличивает производительность (см. раздел о MipMapping в Apple Руководство по программированию OpenGLES).

Аналогично, игры также часто используют разные сетки для объектов, зависящих от того, как далеко они находятся с далеко расположенными объектами, которые менее детализированы (термин: LoD = Уровень детализации ).

Вывод: В графике реального времени (например, в играх и симуляциях) этот подробный и сложный процесс рендеринга, конечно, не будет работать для создания жидкостных /гладких сцен. Для достижения этого эффекта анимации /движения жидкости для человеческого глаза вам нужно как минимум 20 кадров в секунду. С другой стороны, рендеринг одного кадра (!) В анимационном фильме может легко занять от нескольких часов до нескольких дней в зависимости от многих факторов, таких как количество использованных лучей в Ray-Tracing или количество образцов для Ambient Окклюзия (см. Эти Pixar page 1 / Pixar page 2 для скриншоты 16 против 256 сэмплов), а также желаемое разрешение видео (больше пикселей = больше информации для расчета). Также см. в этой статье о процессе создания анимационного фильма Pixel Monsters University , дающего некоторые интересные сведения, а также упоминание времени рендеринга 29 часов за кадр.

В целом: чем выше точность /реализм, тем больше требуются итерации /отскоки /сэмплы, которые взамен требуют больше ресурсов (как времени, так и /или вычислительной мощности /памяти). Чтобы визуализировать разницу, посмотрите результирующий рендеринг на основе количества отскоков для вычисления рефракции в этом примере: Diamond Bounces from Keyshot

Но, конечно, качество в приложениях реального времени все время увеличивается по двум причинам:

  1. Более сильное аппаратное обеспечение: по мере того, как (игровые) компьютеры становятся лучше (= больше [параллельной] вычислительной мощности, более высокая передача данныхмежду компьютерными компонентами, все более быстрой памятью и т. д.), визуальная точность также возрастает, потому что более трудоемкие вычисления фактически становятся возможными в системе реального времени.
  2. Разработаны и внедрены более умные методы /формулы, которые способны создавать довольно реалистичные фотоэффекты без необходимости трассировки лучей. Это часто связано с приближениями, а иногда и с предварительно рассчитанными данными. Некоторые примеры:

ответил Philip Allgaier 2 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 02 Sep 2014 12:34:52 +0400 2014, 12:34:52
43

Помимо фактора времени, стоит отметить, что в фильме художник полностью контролирует, что зритель будет и не будет смотреть.

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

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

ответил Russell Borogove 2 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 02 Sep 2014 22:23:28 +0400 2014, 22:23:28
12
Что относительно рендеринга анимационных фильмов в течение нескольких часов и часов делает их такими прекрасными, в то время как в реальном времени рендеринг в игре менее красив (с общей точки зрения)?

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

Если у вас есть шанс, выкопайте один из DVD-дисков «Roughnecks: The Starship Trooper Chronicles», так как у них есть комментарии к комментариям редактора & amp; аниматоров о трюках, которые им приходилось делать, когда они начали отставать от графика их доставки - такие вещи, как повторные перерывы, но переворачивали ось, поэтому это было не так очевидно, цветовые исправления, маскировка вещей, которые им не нравились, добавление взрывов, и др.

ответил Joe 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 03 Sep 2014 21:37:56 +0400 2014, 21:37:56
10

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

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

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

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

ответил Christian 2 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 02 Sep 2014 12:28:47 +0400 2014, 12:28:47
8

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

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

Примеры этого из рассматриваемого трейлера - это когда терапевт кивает и дает не совсем плохая "улыбка , и когда Лара схватывает подлокотник, дергается за ее ногу или смотрит на пещеру с трепетом. Эти мелочи (или их отсутствие, а также «пластические» персонажи) влияют на воспринимаемый реализм гораздо больше, чем незначительные улучшения графики.

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

ответил Tim S. 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 03 Sep 2014 04:51:35 +0400 2014, 04:51:35
8

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

Одним из важных эффектов, которые сложно испечь для видеоигр, является рассеяние подповерхностного слоя (SSS) . К сожалению, этот эффект действительно важен для создания реалистичной кожи человека. Вот почему многие «реалистичные» персонажи видеоигр выглядят пластиковыми.

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

ответил Vladimir 2 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 02 Sep 2014 22:57:10 +0400 2014, 22:57:10
6

Чтобы ответить на один из вопросов, заданных OP в комментарии:

  

«Итак, кто должен быть главным виновником? Уровень полигона или трассировка лучей?»

Этот вопрос сложнее, чем кажется. Я считаю, что хорошим правилом является следующее уравнение (которое я сделал, кстати):

  количество вычислений = {многоугольники} * {источники света} * {эффекты}
 

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

На практике, однако, в новых играх высокого класса и особенно в фильмах виновник обычно «трассирует луч». Почему? Хорошо по двум причинам. Сначала я дам математическую причину, а затем мое мнение о реальной причине в конце.


Причина Мати:

Обновление: Это математическое объяснение может быть не совсем точным. Подробнее см. В описании CrazyCasta в комментариях.

Предположим, что у вас 1000 полигонов и 3 источника света. Наименьшее количество трасс лучей, которое вам нужно выполнить, составляет 3 * 1000.

Если мы упростим ситуацию и предположим, что вычисление 1 трассировки луча (грубое недооцененное), то нам понадобится 3000 вычислений.

Но теперь давайте предположим, что вы хотите иметь отражения тоже.

Настройки по умолчанию для отражений в бесплатной программе Blender :

  max reflections = 2
ограничение длины луча = нет
...
 

Для этих настроек мы можем предположить, что в лучшем случае это суперпростое отражение будет double вычислительной стоимостью вашей модели.

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

Случай и точка: попытайтесь отобразить отражения с помощью gloss = 1 (по умолчанию в Blender), затем поверните блеск до 0,01 и сравните два времени рендеринга. Вы обнаружите, что тот, у которого 0,01 глянец будет намного медленнее, но сложность модели вообще не изменилась.


Моя качественная, но более реалистичная причина:

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

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


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

ответил Vladimir 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 03 Sep 2014 05:01:42 +0400 2014, 05:01:42
4

Стоит добавить, что анимация фильма обычно делает много визуального обмана, чтобы сделать воспринимаемое движение более жидким.

Аниматоры могут, например, использовать традиционные методы ручной анимации, которые обычно не используются в рендеринг в реальном времени, например мазки, мультипликаторы или деформирование для создания более плавного движения, несмотря на более низкую частоту кадров, в которой фильмы (по крайней мере, до недавнего времени) отображались. Использование мазков и мультипликаторов в частности осложняется использованием сеток - вам нужно произвести деформацию сетки для такого искажения сетки, и я не верю, что видел это в любых 3D-играх.

Фреймы с быстро движущимися объектами, проходящими через них, могут отображаться с разной частотой кадров, а затем снова объединяются для создания размытия изображения через сцену. Motion Blur - довольно распространенная техника в 3D-графике реального времени в наши дни. Эффект обычно не от высокого качества, который получит анимационный дом с десятками процессоров в их распоряжении (см. Ответы «времени» выше) во многом из-за того, что фальсификация размытия изображения действительно требует нескольких этапов последующей обработки на каждый слой, и большое количество промежуточных кадров должно быть действительно текучим.

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

Чтобы решить один аспект вашего вопроса:

  

Что относительно рендеринга анимационных фильмов в течение нескольких часов и часов делает их такими прекрасными, в то время как живое рендеринг в игре менее красивым (с общей точки зрения)?

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

Это означает, что у исполнителя видеоигр есть совершенно другой набор приоритетов, где он касается качества модели и качества рендеринга, чем кинорежиссер. Оба требуют огромного количества навыков, но каждый требует разных методов. Я ожидаю, что эти методы будут все больше сходиться, поскольку аппаратное обеспечение рендеринга потребительского ПО продолжает развиваться, и дальнейший математический гений продолжает появляться на ваших SIGGRAPH и ваших GDC.

ответил Tom B 4 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 04 Sep 2014 21:16:38 +0400 2014, 21:16:38
3

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

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

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

К счастью, на этой планете ходят люди гения. Помимо лучших ПК, которые могут отображать больше полигонов и более крупных текстур, есть некоторые оригинальные изобретения, сделанные как обычные карты который может очень легко одушевлять свет /тень на плоском многоугольнике, делая скучный 3D-объект необычайно детализированным.

Некоторые из этих дорогих эффектов, которые делают фильмы, имеют дополнительную вспышку.

  • Легкие отскоки. В реальной жизни свет отскакивает, пока он полностью не поглощается поверхностями, от которых он отскочил. Для каждого источника света должны быть сделаны расчеты. Попытайтесь удерживать цветной объект рядом с куском белой бумаги, вы увидите, что на бумагу выпадает цвет.
  • У игр есть жесткие ограничения на количество используемых полигонов, у фильмов prerender нет этих ограничений, для рендеринга это занимает больше времени. Возвращаясь к светлому подпрыгиванию, если у нас больше полигонов, тогда есть более легкие вычисления для еще лучших визуальных эффектов, но за счет экспоненциальной растущей стоимости.
  • Размер текстуры, графические карты могут содержать только определенный объем данных, и переключение этих данных является дорогостоящим. Обычная текстура 1024x1024, включая все шейдерные карты, может легко взять пару процентов от вас 1GB GFX-карты. Когда карте необходимо переключать данные, это идет по цене. Очевидно, нас это не волнует, когда снимаешь фильм. Кроме того, в фильме нам нужны текстуры с высоким разрешением, в которых камера приближается, для игры мы хотим этого для каждого объекта, к которому игрок может приблизиться.
  • Pathfinding очень требовательна к процессору. Алгоритмы поиска, например, заставляют врагов находить маршруты к вам или заставлять игрока идти по пути, когда вы нажимаете где-то. Эти пути могут быть дорогостоящими, когда есть 10000 путевых точек (это всего лишь каждый квадратный метр на карте 100 м х 100 м), тогда, возможно, нам нужно многократно перемещать все эти точки пути на одном кадре. Есть много способов сделать это более дешевым в зависимости от потребностей, но факт в том, что нам это не нужно для предварительно прослушанных сцен.

Simpy put, нам нужно придумать «дешевые» трюки, чтобы игра выглядела хорошо. Но человеческий глаз трудно обмануть.

ответил Madmenyo 6 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 06 Sep 2014 12:25:36 +0400 2014, 12:25:36

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132