В 3D-видеоиграх система виртуальной камеры предназначена для управления камерой или набором камер для отображения вида 3D виртуальный мир. Системы камер используются в видеоиграх, где их цель - показать действие под наилучшим возможным углом; В более общем смысле, они используются в виртуальных трехмерных мирах, когда требуется вид от третьего лица.
В отличие от создателей фильмов, создателям систем виртуальных камер приходится иметь дело с миром, который является интерактивным и непредсказуемым. Невозможно узнать, где будет персонаж игрока в следующие несколько секунд; следовательно, невозможно спланировать кадры, как это сделал бы кинорежиссер. Чтобы решить эту проблему, система полагается на определенные правила или искусственный интеллект для выбора наиболее подходящих снимков.
В основном существует три типа систем камер. В системах с фиксированной камерой камера вообще не движется, и система отображает персонажа игрока в последовательности неподвижных кадров. С другой стороны, камеры слежения следят за движениями персонажа. Наконец, системы интерактивных камер частично автоматизированы и позволяют игроку напрямую изменять вид. Для реализации систем камер разработчики видеоигр используют такие методы, как решатели ограничений, сценарии искусственного интеллекта или автономные агенты.
В видеоиграх «от третьего лица» относится к графической перспективе, визуализируемой с фиксированного расстояния позади и немного выше персонажа игрока. Эта точка зрения позволяет игрокам видеть более четко описанный аватар и наиболее распространена в играх-боевиках и приключенческих играх-боевиках. В играх с этой точки зрения часто используется позиционный звук, когда громкость окружающих звуков меняется в зависимости от положения аватара.
В основном существует три типа систем камер от третьего лица: «системы с фиксированными камерами». в котором положение камеры задается при создании игры; «системы слежения за камерой», в которых камера просто следует за персонажем игрока; и «системы интерактивных камер», которые находятся под контролем игрока.
В такой системе разработчики устанавливают свойства камеры, такие как положение, ориентация или поле зрения во время создания игры. Виды камеры не будут меняться динамически, поэтому одно и то же место всегда будет отображаться в одном и том же наборе видов. Ранний пример такой системы камер можно увидеть в Alone in the Dark. Пока персонажи находятся в 3D, фон, на котором они развиваются, был предварительно визуализирован. Ранние игры Resident Evil являются яркими примерами игр, в которых используются фиксированные камеры. Серия видеоигр God of War также известна этой техникой. Одним из преимуществ этой системы камеры является то, что она позволяет разработчикам игр использовать язык фильма. Действительно, как и у режиссеров, у них есть возможность создавать настроение с помощью операторской работы и тщательного отбора кадров. Игры, в которых используется такая техника, часто хвалят за их кинематографические качества.
Как следует из названия, камера слежения следует за персонажами сзади. Игрок никак не управляет камерой - он не может, например, повернуть ее или переместить в другое положение. Этот тип системы камеры был очень распространен в ранних 3D-играх, таких как Crash Bandicoot или Tomb Raider, поскольку его очень просто реализовать. Однако с этим есть ряд проблем. В частности, если текущий вид не подходит (либо потому, что он закрыт объектом, либо потому, что он не показывает, что интересует игрока), его нельзя изменить, так как игрок не управляет камерой. Иногда эта точка обзора вызывает затруднения, когда персонаж поворачивается или стоит лицом к стене. Камера может дергаться или оказаться в неудобном положении.
Этот тип системы камер является улучшением по сравнению с системой камеры слежения. Пока камера все еще отслеживает персонажа, некоторые ее параметры, такие как ориентация или расстояние до персонажа, можно изменить. На игровых консолях камера часто управляется аналоговым джойстиком для обеспечения хорошей точности, тогда как в играх для ПК им обычно управляет мышь. Это имеет место в таких играх, как Super Mario Sunshine или The Legend of Zelda: The Wind Waker. Полностью интерактивные системы камер часто сложно реализовать должным образом. Таким образом, GameSpot утверждает, что большая часть Super Mario Sunshine 'трудность возникает из-за необходимости управлять камерой. The Legend of Zelda: The Wind Waker была более успешной в этом - IGN назвал камеру sy стержень «настолько умный, что редко требует ручной коррекции».
Одной из первых игр, предлагающих систему интерактивной камеры, была Super Mario 64. В игре было два типа систем камер, между которыми игрок мог переключаться в любой момент. Первая представляла собой стандартную систему камеры слежения, за исключением того, что она частично управлялась искусственным интеллектом. Действительно, система «знала» структуру уровня и поэтому могла предвидеть определенные выстрелы. Например, на первом уровне, когда путь к холму приближается к повороту налево, камера автоматически начинает смотреть влево, таким образом предвидя движения игрока. Второй тип позволяет игроку управлять камерой относительно позиции Марио. При нажатии на левую или правую кнопки камера вращается вокруг Марио, а нажатие вверх или вниз перемещает камеру ближе или от Марио.
Существует большое количество исследований по как реализовать систему камер. Роль программного обеспечения решателя ограничений состоит в том, чтобы сгенерировать наилучший возможный снимок с учетом набора визуальных ограничений. Другими словами, решателю ограничений предоставляется запрошенная композиция кадра, например «показать этого персонажа и убедиться, что он покрывает не менее 30 процентов пространства экрана». Затем решатель будет использовать различные методы, чтобы попытаться создать снимок, удовлетворяющий этому запросу. Как только подходящий снимок найден, решающая программа выводит координаты и вращение камеры, которые затем могут быть использованы средством визуализации графического движка для отображения вида.
В некоторых системах камеры, если решение не может быть найдено, ограничения ослаблены. Например, если решающая программа не может создать снимок, в котором персонаж занимает 30 процентов экранного пространства, он может игнорировать ограничение экранного пространства и просто гарантировать, что персонаж вообще виден. К таким методам относится уменьшение масштаба.
Некоторые системы камер используют предопределенные сценарии, чтобы решить, как выбрать текущий кадр для часто встречающихся сценариев съемки, называемых идиомами фильма. Обычно сценарий запускается в результате действия. Например, когда персонаж игрока инициирует разговор с другим персонажем, будет запущен сценарий «разговора». Этот скрипт будет содержать инструкции о том, как «стрелять» в двухсимвольный разговор. Таким образом, снимки будут представлять собой комбинацию, например, снимков через плечо и снимков крупным планом. Такие основанные на сценариях подходы могут переключать камеру между набором предопределенных камер или полагаться на решатель ограничений для генерации координат камеры для учета изменчивости в компоновке сцены. Этот подход с использованием сценариев и использование решателя ограничений для вычисления виртуальных камер были впервые предложены Друкером. Последующее исследование продемонстрировало, как система на основе сценариев может автоматически переключать камеры для просмотра разговоров между аватарами в приложении чата в реальном времени.
Билл Томлинсон использовал более оригинальный подход к проблеме. Он разработал систему, в которой камера является автономным агентом со своей индивидуальностью. На стиль снимков и их ритм будет влиять его настроение. Таким образом, счастливая камера будет «резать чаще, проводить больше времени в съемке крупным планом, двигаться с подпрыгивающим движением и ярко освещать сцену».
В то время как большая часть предыдущей работы выполнялась в автоматизированной виртуальной камере Система управления была направлена на снижение потребности человека в ручном управлении камерой, решение Director's Lens вычисляет и предлагает палитру предлагаемых снимков виртуальной камеры, позволяя оператору делать творческий выбор снимков. При вычислении последующих предлагаемых снимков виртуальной камеры система анализирует визуальные композиции и шаблоны редактирования ранее записанных снимков, чтобы вычислить предлагаемые снимки с камеры, которые соответствуют соглашениям о непрерывности, таким как не пересечение линии действия, соответствие размещения виртуальных персонажей, чтобы они выглядели так, как будто друг на друга через разрезы и отдает предпочтение тем кадрам, которые оператор ранее использовал последовательно.
В 2010 году был выпущен Kinect от Microsoft в качестве 3D-сканера / веб-камеры гибридного периферийного устройства, которое обеспечивает обнаружение всего тела игроков Xbox 360 и управление без помощи рук пользовательских интерфейсов видеоигр и другого программного обеспечения на консоли. Позже это было изменено Калифорнийским университетом Дэвиса в серии видеороликов на YouTube, в которых показано, как он комбинирует Kinect с виртуальной камерой на базе ПК. Поскольку Kinect способен обнаруживать полный диапазон глубины (посредством компьютерного стереозрения и структурированного света ) в захваченной сцене, Крейлос продемонстрировал способность Kinect и виртуальной камеры к позволять свободную навигацию по диапазону глубины, хотя камера могла разрешать только видеозахват сцены, показанной на передней панели Kinect, в результате чего появлялись черные пустые поля, в которых камера не могла захватить видео в пределах поле глубины. Позже Крейлос продемонстрировал дальнейшую разработку модификации, объединив видеопотоки двух Kinects, чтобы еще больше улучшить захват видео в поле зрения виртуальной камеры. Разработки Крейлоса с использованием Kinect были описаны среди работ других участников сообщества хакеров Kinect и homebrew в статье New York Times.
Были разработаны виртуальные камеры, которые позволяют режиссеру снимать захват движения и просматривать движения цифровых персонажей в реальном времени в заранее созданной цифровой среде, такой как дом или космический корабль Resident Evil 5 была первой видеоигрой, в которой использовалась технология, разработанная для фильма Аватар 2009 года. Использование захвата движения для управления положением и ориентацией виртуальной камеры позволяет оператору интуитивно перемещать и наводить виртуальную камеру, просто ходя и поворачивая установку виртуальной камеры. Виртуальная камера состоит из портативного монитора или планшета, датчиков движения, дополнительной платформы поддержки и дополнительных элементов управления с помощью джойстика или кнопок, которые обычно используются для запуска или остановки записи и настройки свойств объектива. В 1992 году Майкл Маккенна из Media Lab Массачусетского технологического института продемонстрировал самую раннюю задокументированную установку виртуальной камеры, когда он прикрепил магнитный датчик движения Polhemus и портативный ЖК-телевизор с диагональю 3,2 дюйма к деревянной линейке. В рамках проекта Walkthrough Project в Университете Северной Каролины в Чапел-Хилл было создано несколько физических устройств ввода для управления обзором виртуальной камеры, включая двойные трехосные джойстики и опору в форме бильярдного шара, известную как глазное яблоко UNC, которое имело встроенные шесть градусов трекер движения свободы и цифровая кнопка.