Трекинг в All¹Mix для PTZ-камер по протоколу FreeD
Общие положения
FreeD – протокол обеспечивает синхронизацию pan/zoom реальной PTZ-камеры и виртуальной камеры в 3D сцене. Это позволяет использовать All¹Mix в качестве системы дополненной реальности (AR). В настоящее время All¹Mix поддерживает работу в режиме AR с камерами Panasonic AW-UE80, AW-UE100 и AW-UE150, Sony BRC-X1000, Lumens VC-A71P.
Изображение с PTZ-камеры проецируется на специальный объект 3D сцены в режиме "Overlay". Т.е. текстурные координаты "отбрасываются" от виртуальной камеры на этот объект (Camera Mapping) в каждом кадре, а диффузная текстура материала объекта заменяется на видеопоток с реальной камеры
Существует два основных типа использования трекинга по FreeD – протоколу: а) видео с PTZ камеры на заднем плане относительно объектов сцены (режим дополненной реальности) б) видео с PTZ камеры на переднем плане относительно объектов сцены (погружение реальных персонажей/объектов в виртуальную среду)
Оба этих типа реализуются с использованием специальных объектов ("Background" и "Foreground"), которые All'Mix автоматически создает для любой 3D сцены проекта. Медиа, назначенные на эти объекты, всегда отображаются в режиме "Overlay". В зависимости от типа использования трекинга, пользователь назначает видео с PTZ - камеры на "Background" или "Foreground" соответственно. Медиа, назначаемая на "Foreground", разумеется, должна иметь маску прозрачности (альфа-канал).
Настройка аппаратуры (на примере Panasonic AW-UE80 и VC-A71SN)
Настройка камеры осуществляется через интернет. Захват выходного потока рекомендуется осуществлять через платы ввода-вывода ТВ-сигнала серии "FD" (СофтЛаб-НСК) или "BlackMagic".
Настройки PTZ камеры
Подключите камеру к сети инернет. Настройки камер осуществляются в WEB-браузере. Для этого в адресной строке браузера необходимо набрать IP камеры. IP камеры и IP компьютера, на котором установлен ALL'MIX, должны находиться в одной зоне. Для различных камер задание IP камеры производится по-разному:
1. VC-A71SN имеет IP по умолчанию 192.168.100.100 На компьютере на котором установлен All'Mix необходимо поменять IP на 192.168.100.101 (например). Затем откройте браузер и введите IP-адрес камеры (192.168.100.100) в адресную строку. Введите логин и пароль (по умолчанию: admin/9999). Поменяйте логин и пароль (не обязательно). Поменяйте сетевые настройки камеры, так чтобы IP камеры находился в той же зоне в которой исходно находился IP компьютера, на котором установлен All'Mix (DCHP --> off).
Сохраните новые сетевые настройки камеры. Верните сетевые настройки компьютера на котором установлен All'Mix в исходное состояние. Введите новый IP-адрес камеры в адресную строку браузера. Продолжите настройки камеры.
Заходим на страницу настроек камеры
- Выбераем: Setup / Tracking Data Output / IP Out
- Помечаем галочкой хотя бы одного клиента, например Client 1
- Назначаем выбранному клиенту IP адрес компьютера на котором установлен All¹Mix
- Назначаем выбранному клиенту какой-нибудь Port, например 52381
- Нажимаем кнопку Set
Заходим на страницу Setup / Tracking Data Output / Connection Type и ставим режим IP(UDP)
Запускаем FDConfig2 и выставляем частоту кадров такую же как у FreeD камеры
На всех мониторах устанавливаем частоту кадров такую же как у FreeD камеры
Требования к 3D сцене для работы All¹Mix в режиме дополненной реальности (AR)
3D сцена должна содержать специальный объект (обычно планарный, но это не обязательно), который должен быть в поле видимости виртуальной камеры при (синхронном с PTZ) повороте в рабочем диапазоне углов. Как правило специальный объект располагается на заднем плане относительно других объектов сцены.
На этот объект должен быть назначен материал с любой исходной диффузной текстурой. Имя материала должно начинаться с знака "!". При обнаружении материала с знаком "!" All¹Mix переходит в режим AR (в котором текстурные координаты объекта с таким именем материала должны назначаться в каждом кадре особым образом (Camera Mapping). Рекомендуется установить значение 100 для самосветимости материала.
Важно: В список доступных для редактирования объектов 3d сцены добавляются только те объекты, название которых (или/и название материала) начинается с символа @. Таким образом в нашем случае имя материала специального объекта должно начинаться с двух символов. Например: !@Reality
Например:
Знаки "@", "!" не отображается в интерфейсе All¹Mix. Например имя объекта @ObjectName отобразится как ObjectName.
Настройка проекта для работы с AR 3D сценой All¹Mix
- добавляем видео с PTZ камеры в слот и включаем управление PTZ
- загружаем сцену в другой слот и назначаем видео с камеры на текстуру материала специального (AR) объекта
- в свойствах текстуры специального объекта (например с именем 'Reality') должен появиться параметр Tracker on/off
- если Tracker включен, то появляются настройки отслеживания
Настройки отслеживания
- Tracker Port - должен быть таким же как в настройках камеры
- Tracker Parallax - позволяет компенсировать сдвиг оптического центра при поворотах PTZ камеры
- Tracker Offset - меняет начальный угловой сдвиг между виртуальной 3D камерой и реальной PTZ камерой по горизонтали и по вертикали
- Tracker Delay - позволяет задерживать обработку PTZ координат для компенсации задержки, необходимой для обработки видео
Позволяет скачать калибровочный файл FOV-ZOOM
Вызывает диалог настроек калибровки.
Сброс калибровки трекера - при нажатии генерируется калибровочная кривая по умолчанию.
Диалог калибровки
- точки на графике можно редактировать перетаскиванием
- если нажать на любую точку, то поворотная камера начинает посылать команды на управление скоростью zoom, пока с камеры не придет нужное значение zoom
- на графике есть выделенная скользящая точка, показывающая текущее состояние камеры
- график сохраняется при сохранении проекта
Пример работы с AR-проектом All¹Mix
Запускаем AllMix проект Tracking.mixer в режиме презентации (F3)
- Назначаем на Slot 8 камеру из списка Live FD Boards
- Заходим в редактор Slot 8 и включаем PTZ Controller
- В поле адреса выбираем нужную камеру из выпадающего списка
Заходим в редактор Slot 9, где находится 3D сцена Tracking.fbx
Находим специальный объект (Reality) и назначаем:
- Input = Slot8
- Tracker = On