Функция панорамного видео Unity позволяет:
- С легкостью добавляйте видео из реального мира, снятое с углом обзора 360 градусов.
- Уменьшить СценуСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
Узнайте в Словарь сложность виртуальной реальности, включив предварительно отрендеренное фоновое видео вместо реальная геометрия.
Unity поддерживает видео с углом обзора 180 и 360 градусов как в равнопрямоугольном макете (долгота и широта), так и в макет cubemap (6 кадров).
Равноугольные 2D-видео должны иметь соотношение сторонсоотношение пропорциональных размеров изображения, таких как его ширина и высота.
См. в Словарь ровно 2:1 для контента 360 или 1:1 для содержания 180.
Видео Cubemap 2D должно иметь соотношение сторон 1:6, 3:4, 4:3 или 6:1, в зависимости от макета лица:
Чтобы использовать функции панорамного видео в редакторе Unity, вы должны иметь доступ к панорамным видеоклипам или знать, как их создавать.
На этой странице описаны следующие шаги для отображения любого панорамного видео в редакторе:
Настройте видеоплеер для воспроизведения источника видео в рендеринговой текстуре.
Настройте материал Skybox, который получает визуализированную текстуру.
Настройте сцену на использование материала Skybox.
Примечание. Это ресурсоемкая функция. Для достижения наилучших визуальных результатов используйте панорамные видео с максимально возможным разрешением (часто 4K или 8K). Большие видео требуют больше вычислительной мощности и ресурсов для декодирования. Большинство систем имеют определенные ограничения на максимальное разрешение декодирования видео (например, многие мобильные устройства ограничены HD или 2K, а старые настольные компьютеры могут быть ограничены 2K или 4K).
1. Настройка видеоплеера
Импортируйте свое видео в Unity как актив. Чтобы создать видеоплеер, перетащите видеоресурс из представления «Проект» в пустую область представления «Иерархия» Unity. По умолчанию это настраивает компонент на воспроизведение видео в полноэкранном режиме для используемой по умолчанию КамерыКомпонента, который создает изображение конкретная точка зрения в вашей сцене. Вывод либо рисуется на экране, либо фиксируется в виде текстуры. Подробнее
См. в Словарь. Нажмите Воспроизвести, чтобы просмотреть это.
Вы должны изменить это поведение, чтобы оно визуализировалось в Render Texture. Таким образом, вы можете контролировать, как именно он отображается. Для этого перейдите в раздел РесурсыЛюбой носитель или данные, которые можно использовать в вашей игре или проекте. Ресурс может быть получен из файла, созданного вне Unity, например, из 3D-модели, аудиофайла или изображения. Вы также можете создавать некоторые типы ресурсов в Unity, например контроллер аниматора, аудиомикшер или текстуру рендеринга. Подробнее
См. в Словарь > Создать > Визуализировать текстуруСпециальный тип текстуры, который создается и обновляется во время выполнения. Чтобы использовать их, сначала создайте новую текстуру рендеринга и назначьте одну из ваших камер для рендеринга в нее. Затем вы можете использовать Render Texture в материале, как обычную текстуру. Подробнее
См. в Словарь.
Установите Размер текстуры рендеринга так, чтобы он точно соответствовал вашему видео. Чтобы проверить размеры вашего видео, выберите видео в папке «Активы» и просмотрите Инспекторокно Unity, в котором отображается информация о текущий выбранный игровой объект, актив или настройки проекта, что позволяет вам просматривать и редактировать значения. Дополнительная информация
См. в окне Словарь. Прокрутите до раздела, где Unity просматривает ваше видео, выберите название вашего видео в окне предварительного просмотра и измените его на Информация об источнике.
Затем установите Depth Bufferтекстуры рендеринга в память, в которой хранится глубина z-значения каждого пикселя в изображении. , где z-значение — это глубина каждого визуализируемого пикселя от плоскости проекции. Подробнее
См. в разделе Словарь параметр Без буфера глубины.
Теперь откройте инспектор Видеоплеер и переключите Режим рендеринга на Текстура рендеринга. Перетащите новую визуализированную текстуру из представления ресурсов в слот Target Texture.
Войдите в режим воспроизведения, чтобы убедиться, что он работает правильно.
Видео не отображается в окне Игра, но вы можете выбрать объект Render Texture Asset, чтобы увидеть, что его содержимое обновляется с каждым видеокадром.
2. Создайте материал скайбокса
Вам необходимо заменить Skybox по умолчанию своим видеоконтентом, чтобы сделать панорамное видео фоном для вашей сцены.
Для этого создайте новый Материал (Активы > Создать > МатериалРесурс, определяющий способ визуализации поверхности. Подробнее
См. в Словарь). Перейдите в инспектор нового материала и установите шейдер материала на Skybox/Panoramic (перейдите в раздел ShaderПрограмма, работающая на графическом процессоре. Подробнее
См. в Словарь > SkyboxОсобый тип материала, используемый для изображения неба. Обычно шестигранник. Подробнее
См. в Словарь > Панорамный).р>
Перетащите визуализированную текстуру из представления ресурсов в слот текстуры в новом инспекторе материалов.
Вы должны правильно определить тип контента в видео (кубическая карта или равнопрямоугольный), чтобы панорамное видео отображалось правильно. Для содержимого кубической карты (например, в виде креста и полосы, что характерно для статических текстур Skybox) установите для параметра Mapping значение Макет из 6 кадров.
Для равнопрямоугольного содержимого установите для параметра Отображение значение Широта и долгота макета, а затем либо 360 градусов, либо 180 градусов подопция. Выберите параметр 360 градусов, если видео охватывает полный 360-градусный обзор. Выберите 180 градусов, если видео представляет собой просто фронтальное изображение с углом обзора 180 градусов.
Посмотрите на Предварительный просмотр в нижней части инспектора материалов. Переместитесь и убедитесь, что содержимое выглядит правильно.
3. Визуализация панорамного видео в Skybox
Наконец, вы должны подключить новый материал Skybox к сцене.
Откройте окно Освещение (меню: Окно > Общие > Освещение).
Перетащите новый актив Skybox Material Asset в первый слот в разделе Environment.
Нажмите "Воспроизвести", чтобы отобразить видео в качестве фона сцены в Skybox.
Измените ориентацию камеры сцены, чтобы показать другую часть Skybox (и, следовательно, другую часть панорамного видео).
Панорамное 3D-видео
Включите поддержку виртуальной реальности в настройках Player (меню: Редактировать > Настройки проектаБольшой набор настроек, которые позволяют настроить поведение физики, звука, сети, графики, ввода и многих других областей вашего проекта. Подробнее
См. Словарь, затем выберите категорию Игрок и откройте панель Настройки XR), особенно если исходное видео имеет стереоконтент. Это открывает дополнительную опцию 3D Layout в материале Skybox/Panoramic. 3D-макет имеет три параметра: Рядом, Над, Под и Нет (значение по умолчанию).
Используйте настройки Рядом, если видео содержит контент для левого глаза слева и контент для правого глаза справа. Выберите Over Under, если левый и правый контент расположены в видео друг над другом и под ним. Unity определяет, какой глаз рендерится в данный момент, и отправляет эту информацию в шейдер Skybox/Panoramic с помощью стереорендеринга за один проход. Шейдер содержит логику для выбора правильной половины видео на основе этой информации, когда Unity визуализирует содержимое каждого глаза в виртуальной реальности.
Для 3D-видео, отличного от 360° (где не следует использовать материал Skybox), тот же 3D-макет доступен непосредственно в компоненте "Видеопроигрыватель" при использовании камеры Близко/Далеко. Режимы рендеринга плоскостей.
Альтернативный тип текстуры рендеринга для кубических видео
При работе с кубическими видео вместо рендерингавидеопроигрывателя процесс рисования графики на экране (или в визуализировать текстуру). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь текстуру 2D-рендеринга и сохранение точного макета кубической карты, вы можете визуализировать видеопроигрыватель непосредственно в куб текстуры рендеринга.
Для этого измените Dimension объекта Render Texture Asset с 2D на Cube и установите Size__ Render Texture в точном соответствии с размерами отдельные лица исходного видео.
Например, если у вас есть видео с горизонтальной перекрестной кубической картой 4 x 3 и размерами 4096 x 3072, установите Размер текстуры рендеринга на 1024 x 1024 (4096/4 и 3072/3).
Во время рендеринга в целевую текстуру куба видеопроигрыватель предполагает, что исходное видео содержит карту куба либо в виде креста, либо в виде полосы (которую он определяет с помощью соотношения сторон видео). Затем видеопроигрыватель заполняет грани Render Texture правильными гранями куба.
Используйте полученный куб Render Texture Cube в качестве Skybox. Для этого создайте Материал и назначьте Skybox/Cubemap в качестве Shader(Shader > Skybox > CubemapНабор из шести квадратных текстур, которые могут представлять отражения в окружающей среде или скайбокс, нарисованный за вашей геометрией. Шесть квадратов формируют грани воображаемого куба, окружающего объект; каждая грань представляет вид вдоль направлений мировых осей (вверх, вниз, влево, вправо, вперед и назад). Подробнее
См. в Словарь) вместо материала Skybox/Panoramic, описанного выше. р>
Размеры видео и транскодирование
Включение 3D-контента требует удвоения ширины или высоты видео (соответствует макетам Рядом или Над-под).
Имейте в виду, что многие аппаратные видеодекодеры для настольных ПК ограничены разрешением 4K, а аппаратные видеодекодеры для мобильных устройств часто ограничены разрешением 2K или меньше, что ограничивает разрешение воспроизведения в реальном времени на этих платформах.
Вы можете использовать транскодирование видео для создания версий панорамных видеороликов с более низким разрешением, но примите меры предосторожности, чтобы избежать появления размытия на границе между левым и правым 3D-контентом, или, между гранями кубической карты и соседними черными областями. Как правило, вы должны создавать видео в степени двойки и перекодировать в другую степень двойки, чтобы уменьшить визуальные артефакты.
- Добавлен 2D и 3D панорамное видео в 2017.3