Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Функция панорамного видео Unity позволяет:

  • С легкостью добавляйте видео из реального мира, снятое с углом обзора 360 градусов.
  • Уменьшить СценуСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
    Узнайте в Словарь
    сложность виртуальной реальности, включив предварительно отрендеренное фоновое видео вместо реальная геометрия.

Unity поддерживает видео с углом обзора 180 и 360 градусов как в равнопрямоугольном макете (долгота и широта), так и в макет cubemap (6 кадров).

Равноугольные 2D-видео должны иметь соотношение сторонсоотношение пропорциональных размеров изображения, таких как его ширина и высота.
См. в Словарь
ровно 2:1 для контента 360 или 1:1 для содержания 180.

Равноугольное 2D видео
Равноугольное 2D видео

Видео Cubemap 2D должно иметь соотношение сторон 1:6, 3:4, 4:3 или 6:1, в зависимости от макета лица:

2D-видео кубической карты
2D-видео кубической карты

Чтобы использовать функции панорамного видео в редакторе Unity, вы должны иметь доступ к панорамным видеоклипам или знать, как их создавать.

На этой странице описаны следующие шаги для отображения любого панорамного видео в редакторе:

  1. Настройте видеоплеер для воспроизведения источника видео в рендеринговой текстуре.

  2. Настройте материал Skybox, который получает визуализированную текстуру.

  3. Настройте сцену на использование материала 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 к сцене.

  1. Откройте окно Освещение (меню: Окно > Общие > Освещение).

  2. Перетащите новый актив Skybox Material Asset в первый слот в разделе Environment.

  3. Нажмите "Воспроизвести", чтобы отобразить видео в качестве фона сцены в Skybox.

  4. Измените ориентацию камеры сцены, чтобы показать другую часть Skybox (и, следовательно, другую часть панорамного видео).

Панорамное 3D-видео

Включите поддержку виртуальной реальности в настройках Player (меню: Редактировать > Настройки проектаБольшой набор настроек, которые позволяют настроить поведение физики, звука, сети, графики, ввода и многих других областей вашего проекта. Подробнее
См. Словарь
, затем выберите категорию Игрок и откройте панель Настройки XR), особенно если исходное видео имеет стереоконтент. Это открывает дополнительную опцию 3D Layout в материале Skybox/Panoramic. 3D-макет имеет три параметра: Рядом, Над, Под и Нет (значение по умолчанию).

Используйте настройки Рядом, если видео содержит контент для левого глаза слева и контент для правого глаза справа. Выберите Over Under, если левый и правый контент расположены в видео друг над другом и под ним. Unity определяет, какой глаз рендерится в данный момент, и отправляет эту информацию в шейдер Skybox/Panoramic с помощью стереорендеринга за один проход. Шейдер содержит логику для выбора правильной половины видео на основе этой информации, когда Unity визуализирует содержимое каждого глаза в виртуальной реальности.

3D панорамное видео
3D панорамное видео

Для 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
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3