Начну первый. TRACKIR СВОИМИ РУКАМИ
На прошлой неделе в пятницу Павел (eXceed), вернувшись из Москвы, принес весьма занятную игрушку под названием TrackIR - трекер положения головы. Система TrackIR позволяет отслеживать положение вашей головы по 6 степеням свободы, так что при использовании ее в компьютерных играх, получаем наивысшую степень реализма от виртуального окружения.
Будучи под впечатлением, решил активно погуглить на выходных и принял решение собрать подобное устройство by myself.
Как выяснилось при детальном изучении, система состоит из:
1) датчик положения головы: вскрытие показало, что это не что иное, как инфракрасная камера + возможны варианты с ИК-светодиодами вокруг оптики. Крепится статично, к примеру, на корпус монитора.
2) трекер движений головы - специальным образом построенный каркас, на котором располагаются 1,2,3 или 4 ИК-светодиода (в зависимости от необходимого колличества степеней свободы) или такое же колличество светоотражающих элементов. Крепится на голову.
3) Специальное ПО, передающее играм необходимые координаты.
Итак. Тут же возник первый вопрос: где взять ИК-камеру. Ответ прост - самая обычная web-камера и даже аналоговая камера прекрасно работают как в видимом, так и в ИК диапазонах. Явный пример - система NightShoot (ночная съемка), которой гордятся все производители цифровых видеокамер работает по этой технологии.
На ноутбуке у меня уже имеется встроенная камера, поэтому шаг 1 для меня прошел без затрат =)
Одно НО. Как же быть с видимым диапазоном? Ведь он будет отвлекать. Ответ пришел сразу - использовать засвеченный проявленный негатив от пленки - это самый простейший ИК-фильтр =) Клеим кусочек 1см x 1см на камеру и ву-а-ля, наша камера стала ИК!
Шаг 2 - создание трекера движения. Делать его нужно ручками, ничего не поделать. Причем, строго соблюдая схему расположения (ниже на фото) светодиодов. Я выбрал вариант с 4мя ИК-светодиодами, чтобы обеспечить максимальную точность захвата.
Купить сами ИК-светодиоды, на удивление, оказалось не сложно, продаются в любом радио-магазине, да и цена 12 рублей/шт смешная.
Важно: В верхней части "колбы" светодиода находится линза, которой для эффективной работы системы быть не должно (при фокусировке сила свечения в камеру увеличится -> ПО будет думать, что мы приблизились к камере и неадекватно отреагирует). Поэтому нам нужно либо спилить (что я делать не стал), либо просто зашкурить поверхность светодиода, для равномерного распределения света в нем.
Спустя пару часов сборки, получаю готовую конструкцию.
Решил закрепить ее на кепке, чтобы не непрягала.
Отлично. Шаг 3: ПО. Побегав по Интернет, нашел несколько программ, позволяющих работать с этой технологией, попробовав все, сообщаю на чем остановился: Система FreeTrack - бесплатное и функциональное, достаточно быстрое даже для слабых процессорах.
Устанавливаем, загружаемся, выставляем необходимые настройки кривых и game-профилей, и вот он - результат:
P.S. Вот так вот без ИК фильтра:
Кто-то может отнестись скептически, как было в моем случае, но стоит разок попробовать систему в действии - сразу становится очевидным, что чего-то раньше не хватало .. Попробуйте и вы
P.S. На заметку: Подобные системы отслеживания движений активно используются и в киноиндустрии. Думаю, слышали про технологию Motion Capture? Вот - та же схема, только с использованием нескольких высокопроизводительных камер. Кстати, если увлекаетесь 3D моделлированием, то в 3D's Max начиная с 6ой ветки есть вкладка MotionCapture, с помощью которой можно сопоставлять скелетную модель с реальными данными. Возможно, если время будет, попробую применить trackir в нем. Будет интересно, думаю.
Ну, и .. продолжение следует ..