Jump to content

Суперальтернатива TracIR и прочим


butcher

Recommended Posts

  • Replies 350
  • Created
  • Last Reply

Top Posters In This Topic

Скоро будет :)

В качестве тестов 2 дня налетывал в Акуле.

 

Ситуация такая - для меня того что сделано вполне достаточно, для комфортных полетов в миссиях. Вкратце описываю что к чему:

 

1. Так как повороты головы фильтруются (в оригинальном Face API - они не стабильные) - то реакция на поворот головы не моментальная, она происходит где-то с секундной задержкой. Можно сделать более щадящий фильтр, но тогда голову трясет очень сильно.

 

2. Положение головы (пространственное в кабине) не фильтруется так как качество исходного сигнала очень высокое. Главное когда летишь и хочешь глянуть на АБРИС или Шквал крупным планом не утыкаться носом в монитор, а то камера теряет лицо :))))

 

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

 

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

 

П.С.

Для достижения максимального эффекта, нужна широкоугольная вебкамера, дешевые вебкамеры страдают узким углом обзора, и используя ее вы врятли сможете особо привстать или выглянуть из двери. У меня Logitech QuickCam PRO 9000, все супер, но такая камера сама по себе не дешевая.

 

FaceAPI достаточно требователен к процессору, чем новее и быстрее процессор тем лучше. На старых процессорах из-за отсутствия каких-то инструкций он идет еще медленнее. У себя на Core2Duo E8500 3.16 GHz проблем не замечал, идет вместе с акулой, в насыщенных миссиях достаточно гладко и хорошо.


Edited by Mnemonic
Link to comment
Share on other sites

ура ,я уж и надежды терять начал , решил что может тебе не до этого , своих проблем хватает и нет времени.

Я думаю сдесь половина народа заглядывает и ждёт твоего поста.

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

p.s. а в онлайне не тестил , и как дела с привязкой этого добра к ЛО.


Edited by son1c

Athlon II x2 270 (3,4GHz), DDR3 8GB, GTX460, ASUS M5A97, Logitech extreme 3D PRO

Link to comment
Share on other sites

Это не мое произведение, я просто прикрутил к FaceAPI - вывод на PPJoy. Выложу сегодня, предположительно ближе к полночи.

 

Про это могу сказать что круто, и в принципе сходно с FaceAPI, я не тестировал но алгоритм похож.

  • Like 1
Link to comment
Share on other sites

Вот програмка:

http://rapidshare.com/files/198488505/FaceAPI_to_PPJoy.rar.html

84 мегабайта.

 

Потребуется еще PPJoy, качать отсюда:

http://www.geocities.com/deonvdw/Docs/PPJoyMain.htm

 

После установки PPJoy, заходим в панель управления, где открываем Parallel Port Joysticks. Жмем кнопочку ADD. В графе Parallel Port - выбираем Virtual Joysticks. Устанавливаем с настройками по умолчанию.

 

Разархивируем мой архивчик, запускаем TestAppConsole\Bin\TestAppConsole.exe (надеюсь запустится просто так).

 

Если все запустилось то ура - у вас на первый виртуальный джойстик теперь мапятся оси из FaceAPI.

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

 

Запускаем програмку, проверяем что "маска" на лице работает, сворачиваем, запускаем ЧА.

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

Если кто-то захочет мапинг для других осей, может использовать исходники для модификации :)

attachment.php?attachmentid=25020&stc=1&d=1234726696

 

Оси которые отвечают за "смещение" - линейны.

Оси которые отвечают за повороты "вертикаль" и "горизонталь", выставляются приблизительно так (сделайте крохотную мертвую зону у нуля):

 

Вертикаль, абсолют

attachment.php?attachmentid=25021&stc=1&d=1234726837

 

Горизонталь, абсолют

attachment.php?attachmentid=25022&stc=1&d=1234726862

 

Желающим покопаться в исходнике - надо будет скачать полную FaceAPI SDK, там необходимые include и lib файлы. После чего заменить содержимое примера TestAppConsole - содержимым из моего архива.

 

Ну, желающие могут пробовать! :)

Надеюсь кому-то поможет кроме меня.

Я уже не знаю как летал в ЧА до этого... Может сделаю чуть получше сглаживание для поворотов разве что.

 

П.С. Перезалейте кто-нибудь на какой-то другой ресурс, здесь количество скачиваний ограничено 10 разами.

П.С.2. Пример работы - в треках здесь http://forums.eagle.ru/showpost.php?p=638907&postcount=67

BS_PPJoy_Config.thumb.jpg.1d9cda325c081745c7b196e0f504e431.jpg

BS_AXIS1.jpg.acfa5b6eadde09543f7e26dd86ddeebf.jpg

BS_AXIS2.jpg.9d2a2d1cf2eddd1eabcb4360ff369624.jpg


Edited by Mnemonic
  • Like 3
Link to comment
Share on other sites

Программа мапит 5 осей (X,Y,Z,Pitch,Yaw) - на виртуальный джойстик (X,Y,Z,Slider1,RotateZ), использовать его в ЧА, в ЛО, в MSFS или в Life for Speed - ваш выбор :)

 

В ЛО я не пробовал, но работать должно, в ЛО будет смысл только в Slider1, RotateZ, так как там не 6DOF кокпит.


Edited by Mnemonic
Link to comment
Share on other sites

Если у тебя есть трекир то врятли пригодится эта прога. Если у тебя трекира нету то эта прога может его заменить. Положение плавное. Повороты плавные но иногда с задержками.

 

Почему, зачем, нельзя ли было сделать, почему файл такой большой, чем это лучше трекира (забегая наперед) - вопросы не ко мне :)


Edited by Mnemonic
  • Like 1
Link to comment
Share on other sites

Mnemonic, а трек можешь приложить с движениями головы? Можно просто на стоянке)

Это мысль, сейчас запишу :pilotfly:

 

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

Надо будет подумать как сделать плавнее.

 

Правка2: Добавил еще один трек, более веселый, немножко поразвлекался маневрами в городе (немножко подрагивает на старте вгляд, но потом проходит).

FaceAPI_Test.trk

FaceAPI_Test2.trk


Edited by Mnemonic
Link to comment
Share on other sites

Посмотрел трек первый: движения головы хаотично-дёрганные, и при поворотах и при наклонах и особенно при "привставании" и опускании. Может это глюк записи треков, но дрожит и дёргается так, что от просмотра глаза болят. :(

Фильтры хорошие надо однозначно делать, какой алгоритм фильтрации тут использован?

Link to comment
Share on other sites

Хех, это значительно лучше чем родные значения треккера FaceAPI товарищ! :)

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

 

Я использовал простейший фильтр - который сравнивает значение предыдущего кадра и текущего, если разница значений меньше "порога" то значение итоговое не меняется, если больше, то итоговое значение является прирощенным значением предыдущего кадра + константа смещения.

Таким образом - когда мы головой не вертим угловые значения не меняются.

 

Фильтр если не ошибаюсь является простой реализацией фильтра Баттерворта.

 

Тряска в основном если очень близко подвигаешься к камере, просто тогда FaceAPI тяжело анализировать все лицо.

 

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


Edited by Mnemonic
Link to comment
Share on other sites

Как запустить эту программу в ИЛ-2?

Не как не потучаеться ее запустить в ИЛ-2. Или чего я не догоняю )).


Edited by Laivynas
Количество "?" доведено до более жизненного значения
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...