Если вы используете Corona SDK, вы знаете, что это мощный и простой в использовании инструмент для создания мобильных игр. Тем не менее, платформа ограничена только двумя измерениями, хотя они предлагают встроенные способы для моделирования трехмерных эффектов. Как разработчик игр, вы можете преодолеть это ограничение, используя так называемую концепцию глубины резкости.
Хотя в моем примере я буду ссылаться на Corona SDK, теория глубины поля может применяться к любой платформе разработки и практически к любому графическому объекту.
Что такое глубина резкости?
Если вы увлекались фотографией, вы уже знаете, что такое глубина резкости. Для тех из нас, кто не знает, я постараюсь объяснить. Глубина резкости – это размытый эффект, который вы видите на фотографиях, вызванный фокусировкой на определенном объекте над другими. Глубина резкости основана на двух понятиях: восприятии фокуса и эмуляции расстояния.
В первой концепции восприятие фокуса будет использоваться на двух объектах или двух плоскостях, чтобы создать среду с глубиной. Один объект будет фокусом, а другие объекты или плоскости будут не в фокусе. Объекты вне фокуса почти всегда выглядят размытыми, чтобы помочь контролировать фокус зрителя.
Fallout 4: СКРЫТЫЕ НАСТРОЙКИ, которые меняют ощущения от игры!
Вторая концепция – эмуляция расстояния. Когда вы смотрите на пейзажи, предметы в вашем шкафу будут казаться больше, а объекты, расположенные дальше, будут меньше. Глубина резкости использует эту концепцию, чтобы усилить иллюзию глубины в сцене. Делая объекты в 2D-среде больше или меньше, ум зрителя будет обманут, предполагая, что в сцене есть глубина.
Если вы раньше играли в видеоигры или даже смотрели некоторые популярные фотографии, вы уже видели используемую концепцию глубины резкости, но, возможно, вы не заметили эффект. Если вы запустите быстрый поиск картинок Google по глубине резкости, вы увидите сотни примеров этого стиля фотографии. Фотографии, которые вы увидите, варьируются от пейзажей до свадебных фотографий. На каждой фотографии глубины резкости вы мгновенно узнаете, на что фотограф хочет, чтобы зритель посмотрел.
Используя глубину резкости, вы можете управлять фокусировкой сцены и создавать глубину, фокусируясь на главном объекте, не фокусируя внимание на других элементах. Хотя мне нравится работать с Corona SDK, этот эффект является простым, но мощным способом преодоления 2D-ограничений платформы Corona SDK.
Пристальный взгляд
В следующих примерах я объясню, как можно использовать глубину резкости в мобильных играх. Не стесняйтесь использовать концепцию глубины резкости в любом из ваших мобильных приложений с SDK на ваш выбор.
Теперь, когда мы знаем, что такое глубина резкости, давайте рассмотрим пример сцены, которая не использует концепцию глубины резкости.
В этой сцене обе птицы находятся в фокусе, и это кажется зрителю плоским экраном. Хотя эта сцена может быть достаточно хороша для некоторых игр, мы можем использовать концепцию глубины резкости, чтобы сделать сцену более интересной для игрока и реально воплотить ее в жизнь. В следующей сцене вы увидите базовый пример используемой концепции глубины резкости.
Про сглаживание TAA и фильтр резкости в играх | nvidia amd sharpening
Используя концепцию глубины резкости, эта сцена смоделировала расстояние, удерживая птицу слева в фокусе и оставляя птицу справа не в фокусе. Уменьшение не в фокусе птицы также усиливает восприятие расстояния.
Мы также можем изменить сцену так, чтобы фокус находился еще дальше. Делая более крупные объекты размытыми и удерживая фокус в фокусе, выполняем это изменение. Давайте посмотрим на пример разворота этой сцены.
В сцене переворота мы сделали маленькую птицу фокальной точкой и обманом заставили зрителя предположить, что меньшая птица находится дальше, размывая ближайшие объекты.
Создание изображения
К настоящему времени вам может быть интересно узнать, как создавалась эта графика. Если у вас есть Photoshop или аналогичный инструмент для редактирования графики, вы можете использовать размытие по Гауссу для создания сцен глубины резкости. Я уверен, что любой тип размытия будет работать, но у меня был самый большой успех с Gaussian Blur. Давайте посмотрим, как создать размытое и не размытое изображение для нашего приложения.
Шаг 1
Открыв Photoshop, создайте новый документ размером 150 на 150 пикселей. Настройка по умолчанию для других опций будет работать для этого урока.
Шаг 2
Затем нажмите на инструмент пользовательских форм и выберите Bird 2 из выпадающего меню формы. В этом уроке я использую форму птицы. Любая форма будет работать.
Шаг 3
Теперь, когда мы выбрали форму, давайте изменим цвет переднего плана на красивый синий цвет, щелкнув по опции « Задать цвет переднего плана».
Шаг 4
С помощью инструмента «Форма» создайте фигуру птицы внутри документа и попытайтесь заставить птицу заполнить большую часть документа.
Шаг 5
Давайте добавим простую границу к нашей форме, чтобы дать ей некоторое определение.
Шаг 6
Прежде чем мы добавим Gaussian Blur к нашей фигуре, перейдите в File> Save for Web> Devices, чтобы сохранить фигуру в виде файла PNG в нашей папке проекта. Сохраняемая нами не размытая фигура будет использоваться в качестве координационного центра в нашем мобильном приложении.
Шаг 7
После того, как мы сохранили не размытую форму, теперь мы можем добавить размытие по Гауссу. Для большинства фигур вы можете просто добавить размытие по Гауссу, не выполняя никаких дополнительных шагов. В нашем случае нам придется использовать параметр « Свести изображение» в Photoshop, потому что мы используем рамку. Если мы не сгладим изображение, размытие приведет к неожиданным результатам.
Щелкните правой кнопкой мыши слой формы и выберите « Свести изображение» . После выравнивания изображения добавьте размытие по Гауссу, перейдя в Filter> Blur> Gaussian Blur.
Шаг 8
С нашим Gaussian Blur, примененным к нашей фигуре, теперь мы можем сохранить фигуру в нашей папке проекта, используя те же инструкции в Шаге 6.
После того, как вы выполнили эти восемь шагов, у вас должно быть две птицы в папке проекта, четкое и четкое изображение птицы и расплывчатая птица. Теперь вы можете включить эти изображения в ваше следующее мобильное приложение.
В этом уроке я надеюсь, что вы узнали, как использовать концепцию глубины поля, чтобы воплотить ваши игры в жизнь. Хотя я использовал птицу в своем уроке, вы можете использовать практически любой объект для создания сцены с глубиной, используя концепцию глубины резкости. Вы можете применить глубину резкости к фону на вашем следующем 2D боковом скроллере или применить концепцию к определенным элементам вашей следующей игры ужасов. Спасибо за прочтение!
Источник: coderlessons.com
Понимание глубины резкости в фотографии
В этой статье мы расскажем вам о нескольких важных моментах, позволяющих раскрыть творческий потенциал каждого фотографа. Правильное освещение, композиция кадра и фокусировка (которая так же включает в себя глубину резкости) являются основными элементами, которые помогут вам создать прекрасный, запоминающийся кадр. Фокус позволяет выделить объект в кадре, обращая внимание зрителя на те, или иные моменты. Первое, что нужно понять, создавая запоминающиеся фотографии, это глубина резкости.
Глубина резкости
Глубина резкости (DOF) – это область в фотографии, в которой элементы кадра будут максимально четкими. Если объект, попадает за пределы этой области, он теряет свою четкость, при этом, чем дальше от области фокуса находится объект, тем более размытым он будет. В любой зоне резкости, есть точка, находясь в которой, объект будет наиболее резким.
Если глубина резкости маленькая, значит, большая часть изображения будет не в фокусе, и наоборот, чем больше глубина резкости, тем большая часть кадра будет четкой и резкой. Глубина резкости определяется тремя факторами — размером отверстия диафрагмы, расстоянием до объектива, а так же фокусным расстоянием объектива. Давайте посмотрим, как работает каждый из этих факторов.
Апертура
Апертура – это отверстие в объективе, благодаря которому на датчик камеры попадает большее или меньшее количество света. Размер открытая диафрагмы измеряется в диафрагменных числах f. Диафрагменное число представляет собой отношение фокусного расстояния объекта съемки к размеру открытия диафрагмы. Чем больше величина отверстия диафрагмы, тем меньше будет диафрагменное число. Чем больше отверстие диафрагмы, тем меньше будет глубина резкости. Если диафрагма почти закрыта, то глубина резкости будет большой.
Сравнение большой и малой апертуры
Изменение величины открытия диафрагмы это самый простой и часто используемый способ регулировки глубины резкости. Если вы хотите сделать на своем изображении большую глубину резкости, то стоит установить диафрагму на значение f/11, или выше. Обычно большую глубину резкости устанавливают при съемке с ярким дневным светом. В таком случае, камера обычно устанавливает диафрагму на значение f/16 или выше, таким образом, практически весь кадр будет находиться в фокусе, а значит, почти все пространство получится четким.
Давайте рассмотрим эти две фотографии в качестве примера. Фото слева обладает большой глубиной резкости, скорее всего оно сделано в обед (обратите внимание на короткие, но контрастные тени), значение диафрагмы f/22. Фото справа имеет очень малую глубину резкости, вероятно, диафрагма установлена на значение f/2.8. Однако для достижения правильной экспозиции необходимо верно настроить выдержку. При диафрагме около f/2.8, в полдень, скорость затвора будет около 1/1000.
Диапазон ступеней диафрагмы
Диапазон ступеней диафрагмы определяет диапазон от самого маленького отверстия объектива, то есть f/1.4 (на самых светосильных объективах) до f/32, с дополнительными значениями, расположенными в этом диапазоне (F/2, f/2.8, F/4, f/5.6, F/8, f/11, f/16 и т.д.). Каждое значение диафрагменного числа представляет собой «стопу» или «ступень».
Каждая такая ступень определяет количество света, которое попадет в линзу, независимо от длины объектива. При каждом увеличении диафрагменного числа (например, с f.2 до f.2.8), количество света уменьшится в два раза, в тоже время, при уменьшении диафрагменного числа на одну ступень количество света удваивается. Важно понять этот принцип и то, как он влияет на экспозицию.
Диафрагма работает в тандеме со скоростью затвора, поэтому при каждом изменении диафрагмы, должна меняться и выдержка. При изменении размера диафрагмы на одну ступень, вы должны изменить и выдержку, тоже, на одну остановку в противоположном направлении. Каждое изменение диафрагмы соответственно изменяет глубину резкости.
Расстояние от объектива
Еще одним элементом, влияющим на глубину резкости, является расстояние от объекта до объектива. Глубину резкости можно менять путем изменения расстояния. Например, чем ближе объект к объективу (и фокус установлен на этом объекте) тем меньше будет глубина резкости. Изменение расстояния до объекта является наименее практичным способом изменения глубины резкости.
Кроме того, меняя расстояние предмета до объектива, будет меняться и композиция кадра. Чтобы сохранить композиционную целостность изображения, меняя глубину резкости, вы можете изменить фокусное расстояние объектива.
Физические свойства объектива при фокусном расстоянии также влияют на глубину резкости. Короткое фокусное расстояние (скажем 27мм), сфокусированное на расстоянии 5 метров, с диафрагмой F / 4 имеет большую глубину резкости, чем большое фокусное расстояние (скажем, 300 мм), снимающее на том же расстоянии, с той же диафрагмой F / 4. Объектив 300mm имеет удивительно малую глубину резкости. Кстати, для того, что бы вы могли лучше разбираться в этом вопросе, каждая модель объектива имеет руководство с диаграммой DOF, для каждой остановки диафрагмы и расстояния фокусировки.
Управление глубиной резкости является хорошим способом менять настроение вашей фотографии. Работа с диафрагмой является идеальным способом управлять глубиной резкости, так как при изменении диафрагменного числа меняется только DOF, не затрагивая композицию изображения. Для изменения настроек диафрагмы вам просто необходимо менять значение выдержки, что бы компенсировать изменения в экспозиции. Изменение расстояния до объекта и фокусное расстояние объектива также влияют на глубину резкости, но этот метод является не таким удачным, с точки зрения композиции. Из этого можно сделать вывод, что изменение диафрагмы будет лучшим способом для управления глубиной резкости, без изменения композиции кадра, в целом.
Источник: cameralabs.org
Подробности графических настроек ПК-игр. Часть 2
В первой части перевода данной статьи мы успели осветить лишь половину основных графических настроек. В этом материале мы закончим начатое и постараемся объяснить зачем нужны, что делают, и как влияют на производительность и качество картинки параметры вроде ambient occlusion, тесселяции, а также любимые многими блюр и текстуры.
Анизотропная фильтрация
Объяснение: анизотропная фильтрация(фильтрация текстур) создает текстуры поверхностей, которые видны под углом и делает их более четкими. Чутобы увидеть работу анизтропной фильтрации достаточно просто взглянуть на землю в нескольких метрах от себя, а затем сравнить четкость текстуры земли под собой и на отдалении от персонажа. Чем дальше находится точка, в которую направлен ваш взгляд, тем более размытой становится текстура. С включенной анизтропной фильтрацией поверхности расположеные далеко от вас становяться заметно четче.
Эффект фильтрации текстур становится куда заметнее при движении вашего персонажа вперед в игровом мире. Изменение качества прорисовки текстур при приближении к ним может быть достаточно сильным.
Что на скриншоте: внимание на скриншоте стоит обратить на мостовую Праги из Deus Ex: Mankind Divided. На левом скриншоте вы видите, что чем ближе текстура брусчатки к зданию, тем более размытой она становится. На правом скриншоте текстура брусчатки становится куда четче.
Совет: анизотропная фильтрация крайне важна для создания хорошей картинки, к тому же она не накладывает серьезных ограничений на ресурсы вашего ПК. То качество, которые вы получите благодаря этой настройке полностью окупает ту небольшую нагрузку на систему, которая она оказывает. Так что старайтесь держать анизотропную фильтрацию включенной. Рекомендуемые значения 8х или 16х.
Ambient occlusion
Объяснение: Ambient occlusion затемняет места, в которые не должен падать свет. Что мы получаем в результате? Куда более проработанные тени, куда более реалистичное отображение всего окружения. Хотя Ambient occlusion и не занимается прорисовкой теней в реальном времени, эта опция все же требует достаточно много ресурсов. Все дело в том, что при включенном Ambient occlusion игре приходится постоянно просчитывать месторасположение объектов по отношению друг к другу и источникам света, чтобы понять в какие места свет попадать не может. Есть два виде Ambient occlusion:
- SSAO(Screen space ambient occlusion) был впервые представлен в первом Crysis’e. Данный метод представляет из себя лишь базовое затемнение пикселей, которые находятся вне источников света.
- HBAO(Horizon-based ambient occlusion) — это SSAO поднятое на новый уровень. HBAO увеличивает количество проб, которые используются при расчете областей, которые должны быть затемнены. В итоге вы получаете куда более реалистичную картинку, правда и вашему компу приходится работать намного больше.
Что на скриншоте: скрин из игры Deus Ex: Mankind Divided. На левом скриншоте Ambient occlusion отключен, на правом включен HBAO. Особое внимание стоит обратить на стену за микроволновкой и объекты на полках. Можно заметить, что тени стали куда реалистичнее и у картинки появилась глубина.
Совет: SSAO или HBAO крайне рекомендуются к использованию, если вы можете позволить себе пожертWowать определенным количеством процессорных мощностей. На скриншоте показана лишь основа того, что дает включенный Ambient occlusion, общее влияние данной опции на визуальную составляющую игры сложно переоценить.
Bloom
Объяснение: Bloom увеличивает яркость источников света в игровом мире. В основном это сделано для того, чтобы всевозможные источники выглядели более реалистично — чуть ближе к тому, как мы видим их в реальном мире. Свет будет проникать через окна, создавая серьезный контраст в картинке при перемещении игровой камеры из помещения на улицу.
Во многих играх эффект Bloom’a реализован достаточно плохо, что выливается в искусственное перенасыщение светом. Это становится особенно заметно, если поверхности начинают отражать свет и сиять, когда на самом деле такого происходить не должно.
Что на скриншоте: The Witcher 3: Wild Hunt предлагает игрокам возможность включить Bloom, и в этой игре он реализован просто отлично. Если смотреть на солнце с отключенным Bloom’ом, то похоже, что ты смотришь на большой яркий белый шар. Если же включить Bloom, то все выглядит куда более реалистично, со светом, который каскадом расходится по окружению.
Совет: несмотря на то, что качество реализации Bloom’a разниться от игры к игре, мы советуем все же включать эту опцию. Если вам повезло наткнуться на Bloom в его лучшем проявлении, то он добавит картинке реалистичности, а если вам не повезло и вас постоянно отвлекают всевозможные светящиеся поверхности, то эту опцию можно смело отключать.
Motion Blur
Объяснение: идея Motion Blur достаточно проста: окружение вокруг персонажа будет размываться при повороте камеры, чтобы подчеркнуть чувство движения. При этом текстуры, являющиеся частью игрового персонажа размываться не должны.
Что на скриншоте: оба скриншота сделаны в игре Crysis Warhead во время постоянного дерганья мышки из стороны в сторону. На левом скриншоте motion blur отключен и создается ощущение, что скриншот сделан в состоянии полной неподвижности. Если же включить данную опцию(и установить максимальный эффект размытия), то все кроме оружия персонажа будет неразличимым.
Совет: многие считают motion blur ненужным, но для некоторых, включение данной опции может добавить картинке привлекательности. Она также помогает немного уменьшить эффект разрыва экрана. Мы советуем выбрать то количество размытия, которое вам больше всего по душе и придерживаться его. Нагрузка на систему конечно разнится от игры к игре, но в последнее время разработчики начали применять новую технологию, которая минимизирует потери кадров.
Тесселяция
Объяснение: тесселяция добавляет детализации поверхностям и объектам в игровом мире. У объектов могут быть карты смещения, которые по сути являются инструкциями к тому, как объект может изменится, если бы в нем было больше полигонов. Тесселяция считывает данную информацию и позволяет получать объекты с куда более сложной геометрией и глубиной прорисовки.
Что на скриншоте: в Metro: Last Light есть несколько моментов, в которых можно увидеть то, как меняется картинка при включенной тесселяции. Тесселяция выключена на левом скриншоте и включена на правом. При включении данной опции камни начинают чуть сильнее выпирать из стены, а трещины становятся немного глубже.
Совет: тесселяция может достаточно серьезно изменить внешний вид игры, но результат зависит исключительно от того, как разработчики реализовали данную функцию. В некоторых случаях тесселяциях изменит внешний вид поверхностей, но не сказать, что они будут выглядеть лучше. В других случаях, данная опция добавит глубины важным кусочкам игрового мира. Если у вас есть возможно протестрировать игру с включенной и выключенной тесселяцией, то вам стоит самим посмотреть, насколько изменится картинка в игре и стоит ли оно того.
Depth of field(глубина резкости)
Объяснение: в играх данная опция является симуляцией глубины резкости применяемой в фотографии. Результатом ее использования становится немного размытые задники и четкая прорисовка объектов на переднем плане. Многие игры ограничивают применение глубины резкости до моментов, когда перед камерой находится лишь один объект, или вы используете зум или прицеливание.
Несмотря на то, что глубина резкости позволяет немного улучшить визуальную составляющую игры, многие считают эту опцию избыточной, ведь временами ненужное размытие может помешать вам в игровом процессе. К тому же в некоторых играх разработчики могут переусердстWowать при применении данного эффекта.
Что на скриншоте: этот скрин сделан в Dishonored 2, при взгляде через увеличительное стекло Эмили. Как вы можете увидеть на левом скриншоте, капсула является центром внимания, однако все изображение находится в фокусе. При включении глубины резкости на правом скриншоте, капсула становится единственным элементом, остающимся в фокусе, а все задники размываются.
Совет: глубина резкости делает картинку чуть более привлекательной, но использование данной опции не является обязательным. Из-за того, что она оказывает минимальное влияние на производительность и не слишком-то меняет визуальную составляющую, вы можете устанавливать глубину резкости исключительно из личных предпочтений.
Качество текстур
Объяснение: настройки текстур в разных играх могут по разному менять детализацию миру. В большинстве случаев, детализация поверхностей в игре будет расти по мере увеличение качества текстур в настройках. Стоит правда напомнить, что при очень высокое качество текстур потребует от вашей видеокарты серьезного вложения ресурсов.
Что на скриншоте: этот потертый металлический балкон в Dishonored 2, достаточно наглядно демонстрирует разницу между низким и высоким качеством текстур.
Совет: качество текстур является одной из базовых графических настроек, но низкое, среднее и высокое качество может означать разные вещи в разных играх. Как бы то ни было, всегда лучше стараться поставить качество текстур повыше. Стоит также отметить, что на то, насколько вы сможете насладится красивым окружением влияет и скорость игрового процесса. Если мы говорим о медленной игре, где у вас есть время изучать каждый предмет в игровом мире, то качество текстур позволит вам рассмотреть мельчайшие детали предметов. Если же говорить о скоростных шутерах, то в них крайне легко проглядеть различия между высоким и ультра-высоким качеством текстур.
Качество теней
Объяснение: как и в случае с текстурами, эффект, которые качество теней оказывает на картинку разнится от игры к игре. Зачастую, чем выше качество, те лучше выглядит тень. Стоит также заметить, что этот параметр частенько влияет на то, как тени двигаются. Иногда при движения тени могут превращаться в лесенку из пикселей или терять очертания объектов, что может негативно сказаться на погружении в игровой процесс.
Что на скриншоте: на картинке мы видим Агента 47, которые наслаждается небольшим отдыхом в тени дерева прежде чем приступить к выполнению контракта. На низких настройках тени выглядят как скопление пятен, а на высоких мы мы можем заметить, как прорисовывается тень от отдельных листьев. В случае с Hitman, в движении тени не ведут себя вполне адекватно независимо от настроек.
Совет: качество теней является одной из наиболее важных базовых настроек графики. Самое высокое качество может негативно сказаться на производительности, но вам стоит провести пару экспериментов, чтобы узнать какое качество теней ваша система может выдержать без сильного удара по производительности.
Дальность прорисовки теней
Объяснение: лишь некоторые игры дают вам возможность контролировать дистанцию на которой будут рендерится тени. По сути нет никакой причины отрисовывать тени от объектов, находящихся настолько далеко, что они сами едва заметны. Однако если здание, стоящее в пятидесяти метрах от игрока, потеряет свою тень, то это будет выглядеть достаточно странно. Иногда дальность отрисовки теней привязана к настройкам их качества.
В дни сразу после релиза, Fallout 4 страдал от слишком большой дальности прорисовки теней. Производительность внезапно падала при входе в локации с большим количеством зданий просто потому, что игра отрисовывала тени объектам, находящимся на серьезном расстоянии от игрока. После модификации данной настройки вручную, внезапные падения fps пропадали.
Что на скриншоте: Несмотря на то, что Dishonored 2 не дает вам контроля над тем, на какой дистанции будут прорисовываться тени, данный параметр включен в настройки качества теней. На левом скриншоте вы видите, что тени менее детализированы, но сможете ли вы заметить тот предел, за которым они перестают рендерится?
Взгляните на стражника в правом верхнем углу экрана на обоих скриншотах. В определенный момент игра перестает отрисовывать тени персонажей на низких настройках.
Совет: конечно же дальность прорисовки теней влияет на ваше восприятие игрового мира. Особенно это верно для игр в открытом мире, которые без теней для всевозможных возвышенностей и деревьев будут смотреться не так убедительно. Однако вам нужно самостоятельно понять какую дальность прорисовки потянет ваша система. Мы рекомендуем остановится примерно на ¾ максимального значения, если ваш ПК это позволяет.
Заключение
Одно дело видеть все эти настройки на скриншоте и совсем другое наблюдать их влияние на картинку в движении. Эффекты вроде сглаживания и ambient occlusion куда заметнее в самой игре во время исследования окружения.
Основной задачей возни с графическими настройками является определение идеального сочетания качества картинки и производительности, принимая во внимание возможности вашего железа. Если ваш ПК не может справится с максимальными настройками, то куда лучше будет сосредоточится на тех опциях, которые окажут наибольшее влияние на качество изображения.
Источник: goodgame.ru