Как я FOV измерил без циркуля и линейки

Во дворе мы играли в войнушку. Слабые и толстые были фашистами, остальные их побеждали. Двор и детство исчезли, а воевать хочется.
Я превратил свой iPhone в автомат, а фашистов нарисовал в дополненной реальности.
Видеозахват рисует мир вокруг моего рабочего кресла, фашисты лезут из всех щелей, я держу круговую оборону.
Стоп! А как привязать врагов к окружающей действительности?
Я сделал это очень просто.
Обработка изображения
Посмотрите на первую картинку видеозахвата.
Я пробегаю по всей ширине (480 пикселей) изображения и суммирую RGB компоненты точек, лежащих с текущей точкой на одной вертикальной прямой. Получаем массив из 480 элементов.
На верхней части рисунка изображена красно-белая (оле!) гистограмма найденной функции.
То же самое проделываем со следующим кадром из видеопотока. Посмотрите на рисунок 2.
Моя задача — совместить красно-белые гистограммы первого и второго кадра. Сдвигая графики друг относительно друга, я очень быстро нахожу оптимальное совпадение. Разница в сдвиге и есть искомое смещение реальности в моем iPhone в горизонтальном направлении.
Таким, образом виртуальный объект навсегда привязывается к реальному местоположению. В каждый момент времени мы знаем, насколько пикселов его сдвинуть в горизонтальной плоскости.
Хорошо ли работает алгоритм? Очень неплохо. Главное, не дергать телефон во время игры — данный подход не любит смещения более 40 пикселов за такт. А такт у камеры 20 кадров в секунду.
При резких движениях надо, видимо, использовать уже тяжелую артиллерию — гироскоп и акселерометр.
Что такое FOV
У меня нет такой лаборатории. А зачем? Я просто запустил вышеописанную программу. Сел на любимое вращающееся кресло. И повернулся на 360 градусов. Программа выдала размер сферы вокруг меня. 
Программа выдала размер сферы вокруг меня.
В пикселах — стабильно для iPod последнего поколения 3050-3060 пикселей.
Таким образом FOV моего iPod равен 480*360/3060 = 56-57 градусов.
А лазер намерял 55.7.
Неплохая точность у меня получилась, согласитесь.
Скрытая реклама моего приложения, использующего вышесказанный алгоритм, помещена в теги. Только это между нами, ок?
Секреты 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 и почему из-за него страдают игры?
Посмотрите, как обрастал нюансами процесс выбора монитора: сначала была важна только диагональ — чем больше, тем лучше. Потом я и мои сверстники быстро поняли важность разрешения. Затем мы стали учитывать тип матрицы и частоту обновления — да, 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 — не закономерная реакция, а обыкновенный каприз.
Как расширить поле зрения в Sea of Thieves до 120 градусов (или даже до 240)
Маленький технический фокус, посредством которого стандартный FOV, то бишь, поле зрения (field of vision) в Sea of Thieves расширить можно до 120 градусов или даже до 240…
… если очень захочется поэкспериментировать. А почему бы и нет?
Ведь с большим нетерпением ждем-с третий сезон Sea of Thieves. Разрабы обещают по-настоящему порадовать новой, яркой реальностью по мотивам «Пиратов Карибского моря«.
Со всеми полагающимися элементами: капитан Джек Воробей и Дэви Джонс, Летучий голландец и Черная жемчужина — вот это вот всё уж очень хочется увидеть.
А чтобы рассмотреть всё и побольше, то можно пока потренироваться расширять панорамы на том, что есть. В общем.
как расширить поле зрения в Sea of Thieves до 120 и до 240 градусов
Значит, делается это следующим образом:
%LOCALAPPDATA%\Athena\Saved\Config\WindowsClient\Engine.ini
[/script/engine.localplayer]
AspectRatioAxisConstraint=AspectRatio_MaintainYFOV
Если всё сделано правильно, то угол обзора будет увеличен до 120 градусов. Чтобы расширить его до 240 градусов:
Чтобы уменьшить размер окна по горизонтали, тянем его сверху вниз — качество графики при этом перенастраиваться будет автоматически.
Fov 120 что это
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.









