Hor+vert+ FOV, или адаптивное поле обзора
Сегодня, когда я тестировал свой порт Quake на планшете, я заметил, что в портретной ориентации смотреть демки не очень приятно из-за узкого поля обзора.
Поэтому я решил придумать очень простой, но выглядящий хорошо (по моему мнению) как в портретной, так и в пейзажной ориентации, способ, как это исправить.
И назвал я это Hor+vert+ FOV.
В чём была проблема
Quake с Vert- FOV на широкоформатном мониторе.
Hor+ работал нормально до тех пор, пока у меня не появился планшет. Всё выглядело отлично в пейзажной ориентации, но в портретной было уже не приближение, а просто тесно.
Quake с Hor+ FOV в портретной ориентации.
Решение
А решение оказалось простейшим.
Вместо того, чтобы использовать какой-либо из двух типов FOV, я решил совместить эти два типа.
Так как Quake был разработан для мониторов с соотношением сторон 4:3, я стал использовать это соотношение как базовое для переключения между двумя режимами.
Если соотношение сторон больше 4:3 (экран широкий) — используется Hor+.
Если соотношение сторон меньше или равно 4:3 (экран узкий или близок к квадратному) — используется Vert-.
Но так как задачей было подогнать FOV под узкие экраны, то это значит, что чем уже экран, тем больше должно быть видно. Поэтому для нас Vert- фактически превратился в Vert+.
Реализация такого способа занимает одну-единственную проверку на условие.
Приведу весь код реализации данного способа из WebQuake.
Что из этого получилось:
Пейзажная ориентация — используется Hor+. 
Портретная ориентация — используется Vert+.
Как вы видите, и приближения здесь нет, и обзор хороший.
Но есть одна маленькая проблема.
Ошибка и её решение
Данная проблема присутствует только в том случае, когда используется Vert+ — в Hor+ такой эффект не наблюдается.
Итог и заключение
В итоге получилось так, как на первом скриншоте в этом посте.
Может быть, данная техника и не нова (хотя я пока ещё не встречал ни одной игры, использующей что-то подобное), но она имеет большое значение. Использование адаптивного FOV очень важно в эпоху веб-приложений и мобильных устройств, так как окно браузера может иметь любую прямоугольную форму, а смартфоны и планшеты работают как в горизонтальной, так и в вертикальной ориентации.
Секреты FoV от авторов Witchfire
Пара слов от Kacper Domański (разработчика AI в The Astronauts), которые могут порадовать некоторых ПК-игроков.
Kacper поделился интересной инфой о разработке с внутренней кухни, и я перевёл для своего бложика его мысли про FoV (поле зрения) и как оно работает в Witchfire.
Парни из AMD подогнали «астронавтам» сверхширокий LG монитор, оказавшимся и благословением, и проклятием.
Хорошая новость в том, Witchfire в 21:9 смотрится охренительно.
FoV (поле зрения) — это характеристика с которой большинство игроков шутеров знаком. Одноимённая настройка контролирует, по сути, то, что вы видите на экране и влияет на восприятие расстояния, размера и скорости игроками.
Мы меняем FoV во время игры, уменьшая его при наведении, что создаёт эффект зума, и слегка увеличивая его при спринте и броске, чтобы создать ощущение быстрого движения. В то же время (особенно большой) FoV может деформировать объекты определённым образом и влияет на производительность, поскольку на экране появляется больше объектов.
Как раз по причине нагрузки на консолях блокируют этот параметр, чтобы обеспечить стабильный FPS. На ПК у нас обычно полный контроль над этой настройкой (в разумных пределах, безусловно).
Как может происходить деформация объектов? Например, так:
Наибольшие деформации происходят на ближайших к камере объектах — руке игрока и оружии:
Мы определённо хотим дать игрокам возможность выбрать наиболее подходящий для них вариант, но мы не тратим сотни часов на полировку вещей, которые легко поломать!
ADS in FoV 60, как надо.
Первым шагом было внесение изменений в исходный код Unreal Engine, чтобы мы могли явно выбирать, хотим ли мы рендерить какую-либо модель в FoV камеры или кастомно. Затем мы немного поэкспериментировали с углом и остановились на магическом числе 77, чтобы Jakub, аниматор всех наших пушек, мог расположить их и сделать анимации, которые в конечном итоге выглядели бы точно так же, как и в его программном обеспечении.
Затем добавили щепотку матана, чтобы вращать камеру в зависимости от положения перекрестия на экране. Это позволило модели пистолета вписаться в UI; в противном случае всё ощущались бы как-то так.
Так всё и работало…пока мы не получили этот великолепный 21:9 экран и не заметили, что рендеринг оружий сломан.
Не то чтобы это было полной катастрофой, но мы хотели сделать эту часть игры идеальной. Поэтому я и изменил нашу залоченную FoV, сделал вертикальной вместо горизонтальной, и это решило проблему раз и навсегда. Не стесняйтесь спрашивать подробности в Твиттере.
В конце концов, прямо сейчас у парней полный контроль над тем, как выглядят пушки в игре, что в итоге позволит играть так, как нам удобно:
Fov ability scaling что это
FOV — это поле зрения. Угловое пространство, которое видит человеческий глаз при неподвижной голове и зафиксированном взгляде. Поле зрения среднестатистического человека составляет 55° вверх, 60° вниз, 90° наружу (суммарное поле зрения двумя глазами — 180°) и 60° — внутрь. Из-за особенностей строения человеческий глаз распознает объекты трехмерными в пределах 110°, а полноцветными — в еще меньшем диапазоне. Для сравнения, после зрения некоторых птиц достигает почти 360°.
А в мониторах?
Про-геймеры уже давно игрались со значением FOV, тогда как казуальные игроки обратили внимание на поле зрения с появлением Ultrawide LG мониторов. Точнее, когда LG выпустила доступные массовому потребителю модели.
Все преимущества FOV раскрываются на широкоформатных мониторах с соотношением сторон 21:9. Линейка Ultrawide LG 2017 года целиком состоит из таких моделей, тогда как в линейке Gaming их четыре. Остальные — привычные экраны 16:9. Но всех их объединяют хорошая контрастность, углы обзора и время отклика. Разрешение тоже не отстает: от FullHD на 24 и 27-дюймовых моделях до 2560×1080 на 29/34 дюймах. А у на 38 дюймах — до 3840×1600.
Зачем это?
Мудрые геймеры предпочитают ставить угол обзора больше, чтобы на экране сразу помещалось больше информации. Обратите внимание на отзывы к играм в Steam: игроки, привыкшие к увеличенному значению FOV, часто выделяют как недостаток отсутствие ручной регулировки угла обзора — даже там, где это совершенно не нужно. Такие отзывы копятся и совершенно необоснованно занижают рейтинг игр в Steam. Это особенно фатально для инди — ведь низкий рейтинг напрямую влияет на покупки.
На Ultrawide LG мониторе поле зрения по умолчанию значительно выше. Но, к сожалению, разработчики не всех игр озадачиваются поддержкой мониторов 21:9. Владельцы таких экранов уже добавили в закладки FOV-калькулятор и в курсе значений Vert-/Hor+. Первое — обрезка изображения сверху и снизу (те самые «кинематографичные» полосы), второе — увеличение FOV, которое влечет за собой больше доступного глазу контента по ширине.
Решить проблему поддержки широкоформатных мониторов в играх может адаптивное поле обзора Vert+/Hor+. Почитать об этом методе на примере Quake можно здесь.
Ультраширокие экраны по-новому раскрывают компьютеры в работе (мультитаскеры в восторге!) и в играх. Все больше мультимедиа контента выходит под экраны такой формы, и мониторы Ultrawide LG — доступный способ приобщиться.
Где может пригодиться повышенный FOV?
В шутерах вроде Titanfall 2, Overwatch, Call of Duty и сессионных играх типа World of Tanks и PUBG. Поиск оптимального значения FOV в последней — популярная тема на фан-сайтах. С увеличенным полем зрения ощутимо легче заметить врага на периферии, ориентироваться в замкнутых пространствах, заглядывать за угол. Кроме того, не придется так активно елозить мышью, за что в напряженной схватке вы неоднократно поблагодарите новенький монитор с повышенным FOV.
Что такое FOV и почему из-за него страдают игры?
Посмотрите, как обрастал нюансами процесс выбора монитора: сначала была важна только диагональ — чем больше, тем лучше. Потом я и мои сверстники быстро поняли важность разрешения. Затем мы стали учитывать тип матрицы и частоту обновления — да, TN матрицы были быстрее, но цветопередача и углы обзора IPS решали. Недавно добавилась новая заморочка — FOV.
FOV — это поле зрения. Угловое пространство, которое видит человеческий глаз при неподвижной голове и зафиксированном взгляде. Поле зрения среднестатистического человека составляет 55° вверх, 60° вниз, 90° наружу (суммарное поле зрения двумя глазами — 180°) и 60° — внутрь. Из-за особенностей строения человеческий глаз распознает объекты трехмерными в пределах 110°, а полноцветными — в еще меньшем диапазоне. Для сравнения, после зрения некоторых птиц достигает почти 360°.
Значение FOV увеличивается.
Про-геймеры уже давно игрались со значением FOV, тогда как казуальные игроки обратили внимание на поле зрения с появлением Ultrawide LG мониторов. Точнее, когда LG выпустила доступные массовому потребителю модели.
Все преимущества FOV раскрываются на широкоформатных мониторах с соотношением сторон 21:9. Линейка Ultrawide LG 2017 года целиком состоит из таких моделей, тогда как в линейке Gaming их четыре. Остальные — привычные экраны 16:9. Но всех их объединяют хорошая контрастность, углы обзора и время отклика. Разрешение тоже не отстает: от FullHD на 24 и 27-дюймовых моделях до 2560×1080 на 29/34 дюймах. А у на 38 дюймах — до 3840×1600.
Когда FOV равен 360, это значит, что вы можете видеть, что у вас за спиной. Удивильно, но с таким углом обзора проще ориентироваться в помещениях.
Мудрые геймеры предпочитают ставить угол обзора больше, чтобы на экране сразу помещалось больше информации. Обратите внимание на отзывы к играм в Steam: игроки, привыкшие к увеличенному значению FOV, часто выделяют как недостаток отсутствие ручной регулировки угла обзора — даже там, где это совершенно не нужно. Такие отзывы копятся и совершенно необоснованно занижают рейтинг игр в Steam. Это особенно фатально для инди — ведь низкий рейтинг напрямую влияет на покупки.
На Ultrawide LG мониторе поле зрения по умолчанию значительно выше. Но, к сожалению, разработчики не всех игр озадачиваются поддержкой мониторов 21:9. Владельцы таких экранов уже добавили в закладки FOV-калькулятор и в курсе значений Vert-/Hor+. Первое — обрезка изображения сверху и снизу (те самые «кинематографичные» полосы), второе — увеличение FOV, которое влечет за собой больше доступного глазу контента по ширине.
Ультраширокие экраны по-новому раскрывают компьютеры в работе (мультитаскеры в восторге!) и в играх. Все больше мультимедиа контента выходит под экраны такой формы, и мониторы Ultrawide LG — доступный способ приобщиться.
Где может пригодиться повышенный FOV?
В шутерах вроде Titanfall 2, Overwatch, Call of Duty и сессионных играх типа World of Tanks и PUBG. Поиск оптимального значения FOV в последней — популярная тема на фан-сайтах. С увеличенным полем зрения ощутимо легче заметить врага на периферии, ориентироваться в замкнутых пространствах, заглядывать за угол. Кроме того, не придется так активно елозить мышью, за что в напряженной схватке вы неоднократно поблагодарите новенький монитор с повышенным FOV.

Понял, а минусы есть?
Как и у всего в этом мире, дружище. С увеличенным FOV сложнее различать и попадать во врагов на дистанции, поскольку на экране все выглядит мельче. Также повышенное поле зрения сильнее грузит компьютер, поэтому на бюджетных ПК придется повозиться с настройками в поисках «золотой середины».
Во-вторых, упомянутая выше поддержка. Пока не все игры корректно отображаются в 21:9 и дают регулировать FOV вручную. К экранам 21:9 приходят производители мониторов и даже смартфонов — это значит, что и игровая индустрия тоже скоро подтянется.
Ручная регулировка FOV — однозначный мастхэв для игр, претендующих на звание киберспорта. Да и в остальных, кроме однопользовательских со ставкой на режиссуру, можно оставить! С одной стороны, игроки имеют полное право настаивать на регулировке FOV — к хорошему быстро привыкаешь, и отказываться от этого нет ни одной объективной причины. С другой — игры, даже мультиплеерные, не становятся хуже от фиксированного угла обзора. Поэтому и массовая истерия в виде негативных отзывов на Steam — не закономерная реакция, а обыкновенный каприз.
Gamedev suffering
Блог о разработке игр и серверных технологиях
Секреты FoV от авторов Witchfire
Пара слов от Kacper Domański (разработчика AI в The Astronauts), которые могут порадовать некоторых PC игроков.
Kacper поделился интересной инфой о разработке с внутренней кухни, а также рассказал про FoV (поле зрения) и как оно работает в Witchfire.
Парни из AMD подогнали астронавтам сверхширокий LG монитор, оказавшимся и благословением, и проклятием.
Хорошая новость в том, Witchfire смотрится охренительно в 21:9.

FoV и с чем его едят
FoV (поле зрения) — это, вероятно, штука, с которой большинство игроков шутанов знакомы: оно контролирует, по сути, то, что вы видите на экране и влияет на восприятие расстояния, размера и скорости игроками.
Мы меняем FoV во время игры, уменьшая его при наведении, что создаёт эффект зума, и слегка увеличивая его при спринте и броске, чтобы создать ощущение быстрого движения. В то же время (особенно большой) FoV может деформировать объекты определенным образом и влияет на производительность, поскольку на экране появляется больше объектов.
FoV 90. Больше окружения / тяжелее рендеринг.
FoV 120. Ещё больше вещей на экране / ещё больше рендерить
Как раз по причине нагрузки на отрисовку консоли лочат этот параметр, чтобы обеспечить стабильный fps. На ПК у нас обычно полный контроль над этой настройкой (в разумных пределах, безусловно).
Как может происходить деформация объектов? Например, так:
Наибольшие деформации происходят на ближайших к камере объектах — руке игрока и оружии:
Мы определенно хотим дать игрокам возможность выбрать наиболее подходящий для них вариант, но мы не тратим сотни часов на полировку вещей, которые легко поломать!
ADS in FoV 120. До коликов маленькая пушка, но гигантские руки.
ADS in FoV 60, как надо.
ADS in FoV 120, как надо.
Первым шагом было внесение изменений в исходный код Unreal Engine, чтобы мы могли явно выбирать, хотим ли мы рендерить какую-либо модель в FoV камеры или кастомно. Затем мы немного поэкспериментировали с углом и остановились на магическом числе 77, чтобы Jakub, аниматор всех наших пушек, мог расположить их и сделать анимации, которые в конечном итоге выглядели бы точно так же, как и в его программном обеспечении.
Затем добавили щепотку матана, чтобы вращать камеру в зависимости от положения перекрестия на экране. Это позволило модели пистолета вписаться в UI; в противном случае всё ощущались бы как-то так.
Так всё и работало…пока мы не получили этот великолепный 21:9 экран и не заметили, что рендеринг оружий сломан.

Не то чтобы это было полной катастрофой, но мы хотели сделать эту часть игры идеальной. Поэтому я и изменил нашу залоченную FoV, сделал вертикальной вместо горизонтальной, и это решило проблему раз и навсегда. Не стесняйтесь спрашивать подробности в Твиттере.
Небольшое дополнение от Каспера в Твиттере.
So it basically works like cropping the picture in given axis, like here. The background itself would change (that’s the camera fov) but gun was cropped 🙂 pic.twitter.com/uzcZekwG42
В конце концов, прямо сейчас у парней полный контроль над тем, как выглядят пушки в игре, что в итоге позволит играть так, как нам удобно:




















