Важность и способы отслеживания трекинга головы в системах виртуальной реальности уже обсуждалось в нашей предыдущей.
Я решил остановится поподробнее на способах трекинга головы, основанных на принципе распознавания инфракрасного излучения поскольку на данный момент это, я считаю, что это наиболее точный и доступный в реализации метод.
Итак, в этой статье речь пойдёт об использовании ПО FreeTrack и видеокамеры Sony Playstation Eye 3: Free Track.
FreeTrack — это, с одной стороны, простое решение, с другой, иногда для его настройки нужны небольшие танцы с бубном.
Особенно если речь идёт о камере Sony Play Station 3.
Для скачать драйвера для ps eye драйвера нужен.
Net Скачать драйвера для ps eye, надеюсь, он уже предустановлен у вас в Windows.
Free-Track не будет работать если камера занята другим приложением.
Содержимое патча нужно распаковать и положить в главную папку FreeTrack, заменив при этом необходимые файлы в большинстве случаев это похоже на C:Program FilesFreeTrack.
Камера Play Station Eye 3.
Для того, чтобы камера могла эффективно принимать инфракрасное излучение необходимо сделать небольшой светофильтр.
Это необходимо чтобы блики и другие источники света не мешали приложению определять координаты светодиодов.
В качестве светофильтра можно использовать магнитный диск от старой дискеты или нулевой негатив обычной фотоплёнки.
Можно скачать драйвера для ps eye приклеить скачать драйвера для ps eye скотчем такой светофильтр прямо на объектив камеры, но лучше всего смастерить небольшой колпачок со светофильтром, который всегда можно легко снять, наподобие этого: Нужно найти подходящие по диаметру пластиковое колпачок или тонкую трубку отрезать от них часть в виде кольца и приклеить аккуратно вырезанный диск светофильтра.
Или поступить иначе: сначала грубо вырезать светофильтр в виде квадрата, затем клеевым пистолетом нанести тонкий слой расплавленного клея и быстро присоединить материал светофильтра к кольцу.
Когда клей высохнет, то просто обрезаем ножницами лишнее по кругу.
Наверняка вы сможете использовать и другие варианты.
После запуска приложения нам открывается примерно такой экран: Мы будем экспериментировать с одним светодиодом в идеале 3-4 и соответствующей моделью в FreeTrack.
Для этого я собрал следующее несложное устройство: В моём случае это 3 последовательно соединённых пальчиков батарейки, кнопка включения цепи, резистор сопротивлением 125 Ом и красный светодиод.
У светодиода 2 вывода анод длинная ножка и катод короткая.
Но для того, чтобы он светился нужно правильно соблюсти полярность подключения.
Обычно сопротивление подключают со стороны анода, к которому в свою очередь подключают + от источника питания.
Если светодиод подключить без сопротивления он сгорит или сразу или спустя некоторое время.
Однако существуют различные светодиоды с разными рабочими напряжениями и токами.
Сопротивление как раз ограничивает максимальный ток, проходящий через светодиод.
Как правило 2В, но бывает больше или меньше в зависимости от полупроводникового материала светодиода.
Iраб — рабочий ток светодиода.
Как правило 20 мА, но бывают и более мощные.
Если у вас нет под рукой резистора с нужным сопротивлением, то можно взять 4 батарейки по 1.
Светодиоды нужно подключать анод к катоду последовательно.
Таким образом сопротивление будет равно нулю.
Далее устанавливаем параметры нашей модели в приложении.
Переходим на вкладку Model и выбираем там 1 Cap Mode, что соответствует 1 источнику координат.
Затем на первой вкладке Cam уже внизу нажимаем на кнопку с надписью Stream и выбираем там подходящее разрешение.
Вполне достаточно 320х240 и 80 Fps: Если выбрать 30 FPS, и установить 30 fps frame rate, то в моём случае ощущалась задержка обработки изображения.
На вкладке Frame rate также выставляем 80 FPS: Далее нажимаем кнопку ОК и Start.
Тут стоит отметить, что free-track — становится довольно капризной, особенно с камерой Play Station Eye 3 и если у вас 64 Bit Windows.
Если нажать сразу на кнопку Start, то приложение зависает и вылетает.
В моём случае при выборе другого разрешения изображение просто пропадало и не появлялось.
Дело всё в том, что free-track сбивало настройки камеры, мне приходилось запускать приложение CL-Eye Test и восстанавливать их по-умолчанию чтобы вернуть изображение.
После долгих и мучительных экспериментов я обнаружил, что если нажать на кнопку Camera и несколько раз покликать по пустым чекбоксам настроек камеры при это постоянно вылетели ошибкито настройки камеры восстанавливались и всё становилось на свои места.
Так или иначе можно добиться работоспособности и в итоге после старта можем наблюдать наш светодиод в виде красной точки с крестом.
Крестом помечаются все цели точкикоторые распознаются источниками координат.
Если у вас выводятся и другие точки при 1 светодиодето это помехи, блики или другие источники света.
Для того, чтобы их убрать можно увеличить значение параметра Threshold и откорректировать минимальное и максимальное значение точки-цели Min Point Diametr и Max Point Diametr.
Кнопка Center устанавливает центр позиционирования в ту точку, где сейчас находится светодиод.
Теперь если шевелить светодиод влево, вправо вверх или вниз, то череп начинает вращаться, а красный луч-перпендикуляр показывает направление взгляда головы.
Таким образом, 1 точечная модель позволяет отслеживать повороты головы всего лишь по двум осям.
Я постараюсь описать изготовление подобной модели в следующей статье посвященной трекингу головы и free-track.
Free Track имеет возможность эмулировать различные виртуальные устройства для передачи данных в другие приложения игры, просто необходимо включить нужное устройство и выбрать его в игре:.