Welcome to Star Citizen - официальный сайт русскоязычного сообщества

Привет, пилот!

Тебя приветствует космическая станция русскоязычного сообщества Star Citizen. Здесь ты можешь найти ответы на все свои вопросы, ознакомиться с последними новостями игровой вселенной, узнать секреты из многочисленных гайдов и обзоров. Если же ты захочешь поблагодарить авторов, задать вопрос или высказать свое мнение, то тебе придется пройти процедуру регистрации, которая не отнимет у тебя много времени.

Инфо-бар TERRAтория

  • записи
    2
  • комментария
    24
  • просмотра
    59 412

Записи в этом блоге

Nefigase

Итак, в первой части статьи мы подготавливали камеру, которая и будет следить за движениями головы, а точнее специальных меток на ней.

В этой статье мы соберем прибор, который будет создавать точки для отслеживания движения головы, назовем его "маркер", а так же поставим софт, который поможет распознавать движения и передавать их в компьютер по определенному протоколу.

"Маркер" я делаю трех точечный, для этого понадобится:

1) 3 диода инфракрасных (можно любых на самом деле, но инфракрасный человек не видит и поэтому он не отвлекает Вас, а обычный будет дико мешать... да и зрение сломаете из-за этого, т.к. будете коситься на свет как не крути). Я использую диоды SFH485P со сточенной головкой, т.к. это дает яркий свет со всех сторон (при повороте не тускнеет). Если Вы не смогли найти подобных, то круглую шляпку можно аккуратно сточить, получив все те же сточенные диоды.

2) Резистор 5.1Ohms 5% (питаться все это будет от USB у меня), но если у Вас другие диоды или источник питания будет иной, то посчитать и получить схему соединения можно тут: http://www.free-track.net/english/hardware/calcled/

3) Провода для соединения этого всего добра

4) Питание... я использую USB, поэтому взял провод 2 метра (169 руб) от USB->microUSB (он банально тоньше и легче), хотя кто-то возможно выберет батарейки

5) Паяльник и припой

6) Что-то для разнесения диодов на определенной расстояние друг от друга, а так же крепеж. Я использовал трубочку от воздушного шарика и какие-то колпачки от бытовой химии. Тут уже креативте сами :)

7) Драйвер типа "прямые руки" :)

2_5.jpg

Итак, поехали...

1) Для начала я нарисовал 1:1 схему расположения диодов (классическую). В дальнейшем советую увеличить расстояние между верхним и нижним диодами (относительно центрального) по вертикали, т.к. классическое показало себя не очень хорошо при наклоне вверх и вниз, а в программе потом эти расстояния можно отрегулировать будет. Например сделайте не 40 и 70, а 60 и 90... хотя нижний можно и не изменять, он вроде как нормально отрабатывает довольно.

2_1.gif

2) Далее я разместил на точках диоды (масштаб сделал 1:1) и нарисовал как должна проходить трубка и крепление, чтобы все было точно потом, а не придумывать по ходу пьесы. Это очень важно! Сначала подумайте, потом сделайте, иначе выйдет ерунда.

2_2.gif

3) Т.к. я использую для питания USB, т.е. 5V, то пришлось в цепь поставить резистор (ссылка на калькулятор была выше). Распайку USB привожу ниже... красный провод - плюс, черный - минус, остальные не нужны.

2_4.jpg

4) Проверяем, что все есть и на своих местах и ... и начинаем творить. Обращаю внимание, что у диода минус - это толстая пластинка, а плюс - потоньше. Если перепутаете, то просто не заработает, т.к. диод пропускает ток только в одну сторону. Сжечь не сожжете. Минус диода подключается к плюсу питания... т.е. ток идет как бы от плюса к минусу.

2_6.jpg

5) Резистор можно паять любой стороной, это не принципиально. Старайтесь делать крепления не тяжелыми (иначе голова устанет), но при этом не хлипкими... т.е. при повороте крепление должно жестко вставать, а не еще секунду "вибрировать".

У меня на фото цвета проводов не смотрите, они там намешаны (что было, то и использовал), т.е. красный местами минус, местами плюс... и т.д.

2_7.jpg

6) Для крепления диодов в трубке я использовал немного клея + термоусадочные трубки (последние не обязательно нужны... просто так эстетичнее и у меня они были :) ) Если обратите внимание, то диоды я нарочно немного по краям сместил, чтобы они смотрели вперед строго, как и центральный. Далее я залил все это дело клеем и скрепил крышки... получился бокс своеобразный.

2_8.jpg

7) Ну и в конце концов все это дело было установлено на наушники, а точнее прикреплено на двусторонний скотч... кто-то может будет использовать офисный зажим для бумаг для крепления на дужку наушников... кто-то еще что-то придумает.

Сразу обращаю внимание, что наверное потом переделаю на батарейки... лучше пусть будет 1-2 аккумулятора на 1.5 вольта, чем провод... мешает не сильно, но все же немного напрягает иногда.

2_9.jpg

Для проверки берем нашу камеру, запускаем в ней трансляцию видео (например через Скайп или еще какую-то тестовую программу из комплекта ПО к камере). Берем пульт от телевизора, направляем его на камеру и жмем кнопку любую... на изображении камеры Вы должны увидеть яркий свет от инфракрасного диода пульта во время нажатия. Если увидели, то все нормально, камера работает как надо. Теперь запускаем "маркер" и смотри, что его диоды точно так же светятся на камере.

ВНИМАНИЕ! Если камера используется PS3 Eye, то для ее работы смотрите инструкции далее!

Такс... с "маркером" закончили, теперь начнем с софтом.

1) Если Вы используете камеру PS3 Eye, то Вам понадобится специальный драйвер для Windows. Следующий драйвер я использую на Windows 8.1, но он должен работать по идее везде, если у кого-то не заработает, то придется погуглить. Причина в том, что PS3 Eye не предназначена для компьютера и банально Windows ее не видит изначально.

Ссылка на драйвер: http://e-shubin.ru/head_tracker/PS3eye.zip

Вытаскиваем камеру из компьютера, ставим дрова, вставляем камеру... должно заработать (проверяется в идущей с драйверами тестовой программой)

2) Ставим программу FaceTrackNoIR со специальным модулем PointTracker 1.1.

Ссылка на это добро: http://e-shubin.ru/head_tracker/NoIR.zip

Инструкция:

1. Устанавливаем основную программу SetupFaceTrackNoIR_Full_v170.exe

2. Копируем библиотеку из папки PointTracker_1_1 в папку куда установили предыдущую программу (что-то вроде C:\Program Files (x86)\Abbequerque Inc\FaceTrackNoIR)

3) Инсталляция завершена. Запустим установленную программу (я запуская с правами администратора для надежности):

2_3.jpg

Выбираем в блоке "Tracker Source" пункт "PointTracker 1.1", в "Game protocol" выберем "FreeTrack 2.0". Далее заходим в "Settings" блока "Tracker Source" и проверяем, что на вкладке "Camera" у Вас выбрана именно Ваша камера и стоит максимальный FPS. А на вкладке "Model" в подвкладке "Clip" все расстояния выставлены так, как у Вас было по схеме... иначе подправьте. Там же есть кнопка калибровки (Calibrate) чтобы зафиксировать центр. Жмем "OK" и выходим в главное окно программы.

После этого всего жмем в блоке "GO!" кнопку "Start", должно запуститься отслеживание точек. Соответственно на голову надо уже натянуть и включить "маркер". При повороте головы у Вас будут меняться слева координаты, а сверху морда мужика должна двигаться так же, как и Ваши движения. На экране же в середине слева появятся точки от диодов с красными перекрестиями, которые означают, что точка поймана.

Возможный тюнинг:

Если свет от диодов очень яркий (вообще подгонку такую рекомендую сделать всем) и перекрестий на каждый диод красных отрисовывается очень много, то заходим в "Settings" блока "Tracker Source", вкладка "Camera" и играемся с ползунком "Threshold" до того, пока не получим самый малый радиус свечения диода на картинке, при этом на нем будет только одно перекрестие. Чуть ниже "Threshold" в блоке "Status" в "Extracted Points" у вас должно быть написано что 3 OK! Т.е. 3 точки найдено... если диодов больше, то точек будет соответственно больше.

Если в игре у вас перепутано право-лево или верх-низ, то в главном окне в блоке "Global Settings" ставим галочку на Invert для Yav или Pitch соответственно... возможно еще Roll где-то пригодиться (в SC наверняка).

Чтобы в игре не сломать шею крутя ее в разные стороны, можно поиграться с настройками "Curves". Так можно добиться, например, плавного поворота в самом начале поворота головы и более резкого в конце... это даст то, что при небольшом ходе головы при обзоре вперед у Вас не будет в кабине голова трястись постоянно, а будет смотреть вперед четко, но при повороте на определенный угол начнет все более резко меняться поворот головы. Углы надо делать так, чтобы не приходилось для поворота на 120 градусов выкручивать шею даже на 45... иначе косоглазие заработаете. Думаю в пределах 30 для 120 градусов и 10-15 для 90 - вполне удобно должно быть. Но тут все индивидуально...

Собственно все.

Итого бюджет решения составил:

1) Камера б/у - 400 рублей

2) 3 диода - 300 рублей (по факту 500 было и 5 диодов)

3) USB провод - 169 рублей

4) Резистор - 20 рублей

5) Остальное бесплатно было нарыто по шкафам и антресолям

Итого: 889 рублей, вместо 9 тыс. рублей... мне кажется оно того стоит :)

P.S. Сейчас играл в EuroTruckSimulator 2 с этой приблудой... все работает отлично, хотя надо все же кривые настроить для удобства будет. Очень непривычно я Вам скажу! С одной стороны намного удобнее и быстрее, да и точнее в разы стало головой крутить. С другой надо привыкать, т.к. часто во время езды на что-то отвлечешься, картинка сразу поворачивается и в мозгу паника, т.к. краем глаза дорогу уже не видишь :) В SC думаю такого не будет, там дороги не такие узкие :)

Nefigase

Я думаю каждый уважающий себя пилот понимает, что крутить головой в кабине с помощью мышки или джойстика - это как минимум неудобно, а как максимум медленно и неэффективно. Чтобы упростить эту задачу умные люди придумали такие устройства, как head tracker, которые следят за движением головы и повторяют эти движения в игре.

Ярким представителем таких устройств является TrackIR. Устройство несомненно хорошее, но дорогое... его цена составляет порядка 6-9 тыс. рублей (в зависимости от версии). Я же сегодня начну серию статей и покажу на своем примере, как собрать устройство не хуже за скромные деньги. Предварительные расходы на устройство составляют до 1.5 тыс. рублей (в моем случае вышло 900 рублей).

Что нам для этого понадобится?

1. web-камера без ИК(IR-инфракрасный) фильтра (если он есть, то будем вынимать)

2. Светодиоды инфракрасные от 1 до 4 штуки (я использую 3)

Если у Вас нету web-камеры (которую придется "сломать" в случае наличия ИК фильтра), то рекомендую приобрести камеру Playstation 3 Eye. Цена этой камеры составляет около 1300 рублей, но купить ее можно дешевле. При этом камера обладает довольно широким углом обзора, что удобно, если вы не хотите случайно выпасть из "кадра" во время боя, а так же имеет высокий показатель быстродействия (до 120 кадров/сек), что так же делает трекинг более точным.

Как купить дешевле?

Способ №1:

Купить игру EyePet для PS3 в наборе с которой идет эта камера, сейчас на яндекс.маркете (СПб) я вижу ее в продаже за 890 рублей, что в 1.5 дешевле, чем покупать ее отдельно.

Способ №2:

Купить ее б/у. Я лично так и сделал, в итоге потратив смешные 400 рублей.

Как это работает?

Для работы всей этой системы на голове размещается небольшое устройство (крепится на кепку или наушники), на котором размещены инфракрасные диоды. Запускается специальная программа трекинга, которая используя нашу камеру отслеживает положение диодов. Далее по положению диодов вычисляет положение головы и передается в игру.

Т.к. диоды используются инфракрасные, то ИК фильтра в камере быть не должно, либо его придется извлечь. Если он есть, то свет диодов будет сильно ослаблен и трекинг будет работать плохо, или вообще не работать.

Пример работы (пока не мой):

Практическая часть - удаляем ИК фильтр

Удалять ИК фильтр я буду на примере камеры Playstation 3 Eye. Процедура довольно сложная, причем не из-за того, что нужны навыки особые, а тупо тяжело выковырять линзу :)

1. Вытаскиваем сзади затычки с помощью ножа и откручиваем 4 болтика

1.jpg

2. Открываем верхнюю часть корпуса. Тут ждет засада, корпус открывается очень тяжело. Если Вас беспокоит наружный вид камеры, то клипсы, которые держат корпус расположены по одной по бокам и две сверху (еще есть снизу, но они не ломаются при грубом открытии). Если же Вам, как и мне на внешность плевать, и несколько зазубринок на корпусе не пугают, то берем плоскую отвертку и грубо начинаем отжимать корпус по бокам и сверху, и только в конце снизу. При этом боковые и верхние клипсы скорее всего будут сломаны (но это не важно, камера крепко свинчивается теми четырьмя болтами, что Вы недавно открутили).

3. Откручиваем два болта снизу, чтобы снять ножку (подставку) камеры

2.jpg

4. Откручиваем 3 болта сверху платы и по одному с боков (нижние не трогаем)

3.jpg

5. Снимаем остатки корпуса

6. Аккуратно придерживая объектив, откручиваем его сзади (два последних винтика)

7. Снимаем аккуратно объектив, не задевая матрицу... не дай бог поцарапаете - может выйти из строя!

4.jpg

8. И тут начинается самый геморрой. Надо ножом выковырять верхнюю линзу. Место где она стояла отмечено красным заштрихованным кружком. Я для этого очень долго и нудно проковыривал канавку вокруг линзы, втыкая туда кончик ножа (лучше использовать широкий нож), после чего только смог ее вытащить, при этом повредив саму линзу... но с учетом, что мне она больше не нужна, я ее все равно выкинул).

5.jpg

9. После того, как линзу вытащили, собираем все это назад

10. Для того, чтобы лишний свет не мешал четко видеть ИК диоды, надо сделать фильтр. Делается например негатива (фотопленка) или магнитной части (блина) старой дискетки 3.5 дюйма. Я использовал дискету. Вырезается кружок 1.5 см в диаметре и кладется в байонет (корпус объектива) до установки объектива в корпус, либо сверху как-то приделывается.

6.jpg

Полученная камера будет показывать черную картинку, но если Вы возьмете пульт от телевизора, направите на камеру и нажмете какую-либо из кнопок, то Вы увидите яркую точку от ИК излучателя. Если это произошло, то все сделано отлично.

Диоды я заказал SFH485P (их не надо стачивать, они уже имеют хороший угол свечения и хорошую длину волны 880) с ebay, т.к. найти у нас их в наличии оказалось проблемой. А точнее надо ездить искать, что меня не устраивает. В итоге получу я их недели через 2-3, и тогда смогу продолжить статью с показом живых примеров...

ПРОДОЛЖЕНИЕ (ЧАСТЬ №2)