Projekt: FreeTrack - Összefoglaló

Mióta utóljára írtam a témában, nagyon sok minden változott. A posta szép lassan meghozta az összes szükséges eszközt, én pedig őrült barkácsolásba és olvasgatásba kezdtem. Ennek eredményeként, ha ma állnék neki a melónak, nagyon sok mindent másképp csinálnék. Ennek fényében következzen most egy frissített, teljes összefoglaló a szükséges dolgok felsorolásától a beállításokon át, a végső tesztig.

Hozzávalók egy személyre

  1. Szükséged lesz egy webkamerára. Igazából mindegy hogy milyen, de azért mégse :). Van pár szempont amit figyelembe kell venni vásárláskor:
    • Nem kell nagy felbontás, 640x480 elég.
    • A fenti felbontást tudja legalább 30 képkocka/másodperccel tartani (jobb a 60, vagy 120 FPS képes kamera).
    • Ha találsz a fentieknek megfelelő fekete-fehér kamerát, az még jobb.
    • Fontos szempont hogy vagy legyen nagyon gyenge az infravörös filter, vagy legyen kiszedhető.
      Egy relative régi kompatibilitási lista található a freetrack honlapján, de ha nem akarod ezt böngészni, vagy egy olyan olcsó kamerát keresel amely szinte ideális erre a feladatra, akkor szerezz be egy Playstation 3 Eye kamerát. E-Bay-ről vagy hasonló helyekről 2-4000 Ft-ért megkapni, szállítással együtt. Az újabb modelleken már nagyon nehéz kiszedni az infra filtert, de szerencsére ebben a kameratípusban a szűrő relative gyenge, úgyhogy nem is feltétlen szükséges eltávolítani.
  2. Infravörös fényű led-ek. Ne ess abba a hibába mint én, hogy megveszed az első ledeket amiket találsz. Én első körben sima L53F3C ledekkel próbálkoztam, elég rossz eredménnyel. Ezeknek a sima ledeknek a fénye durván 30°-ban van fókuszálva, úgyhogy elég ha kicsit elfordítod a fejed és már nem is látja a kamera. Helyette javaslom az SFH458P ledeket, az Osram-tól. Nagyon olcsók, Én a conrad-ról rendeltem, 175 Ft/db. Kell belőle 3, de nem baj ha többet rendelsz, arra az esetre ha elfüstöltednéd az elsőket 😀
  3. Néhány vékony kábel a diódák összekötéséhez
  4. Elem tartó doboz és / vagy USB kábel az áramellátáshoz
  5. Valamilyen látható fény szűrő. Olyan szűrő amely csak az infra fényt engedi át, a láthatót nem, vagy csak kis részben. Sok minden van amit fel lehet használni ilyen célra. A legegyszerűbb a floppy lemez. Persze nem a külső műanyag :D, szét kell kapni és a mágnes lemez ha nem is tökéletes, de a célnak megfelel. Ha esetleg van otthon rossz távirányító, az infra ledek előtti műanyag általában pont ilyen tulajdonságokkal rendelkezik. Én is ilyet használok. Csak letörtem egy darabot és odaragasztottam a kamera elé. Kész. Ha sok felesleges pénzed van, menj be egy fotós boltba, ott tuti tudnak adni profi szűrőt, de mondom, szerintem az felesleges.
  6. Alapvető eszközök forrasztáshoz. Páka, ón, stb.
    A teljes cucc megvan 5000 Ft-ból, kamerával, mindennel együtt.

A diódák

Amit az első bejegyzésben írtam a diódák elhelyezéséről és felhelyezéséről, az továbbra is igaz. Azzal semmi más nem változott, csak hogy lekerült az elemtartó, és a diódákat közvetlenül rákötöttem egy USB kábelre. 5V majdnem tökéletes. Kellene eléjük egy ellenállás, de megy így is, csak kicsit melegszik. Tápellátástól függően, itt egy online kalkulátor, amely segít a bekötésben és az ellenállás megválasztásában. Jelenleg én még mindig ugyanazt a pizzásdobozból készült prototípust használom amit először összeraktam. Egyrészt mert kíválóan működik, másrészt mert még csak most sikerült olyan ismerőssel felvenni a kapcsolatot aki össze tud nekem dobni egy normálisat 3D nyomtatóval.

Elhelyezés

Elhelyezés alatt a kamera és a diódák (továbbiakban: clip) fizikai elhelyezését értem. Azért szentelek ennek egy külön pontot, mert van 1-2 dolog amire oda kell figyelni, ellenkező esetben az eszköz nem, vagy hibásan fog trackelni. Az első buktató a kamera közelsége. Ha szétkapnánk a kamerát, kivennénk az infra filtert, valszeg távolabbra lehetne rakni, de sajnos a jelenlegi felállásban én semmiképp sem raknám messzebb mint 1-1,5m, és ott már a határokat feszegetjük. Én ilyen szempontból is "sufnituning" megoldást választottam. Gyakorlatilag fogtam a kamerát, és rátettem egy Wii konzol tartóra. Igen. Pont tökéletes a magassága, használva meg nincs :). Amire figyelni kell, hogy vízszintesen a kamera egy vonalban legyen (durván) a fejeden lévő ledekkel. Elméletben lehetőség van ezt szoftveresen korrigálni, de én sokkal jobb eredményeket kaptam a kamera normális elhelyezésével. Függőlegesen nem baj ha nincs előtted, azt a progiban be lehet állítani, hány fokos szöget zár be a kamera és a clip. Igazság szerint ehhez jó lenne rajzolni, remélem azért érthető (illetve lejjebb a videón talán valamennyire látszik).

A driver

Amennyiben PS3 kamerát használsz, szükséged lesz egy driver-re. Na itt futottam először "lukra". Nem csak egy driver létezik, de ha valaki W8/10-et használ akkor a szóba jöhető driverek köre 1-re szűkül. Ez még magában nem is lenne probléma, de a driver fizetős. Na megrémülni nem kell, egész pontosan 2.99$ ami barátok közt is csak pár száz forint. A driver minősége jó, úgyhogy a fejlesztők megérdemlik azt a pár százast. A driver telepítése egyszerű next, next, finish, amelynek befejezése után a kamera minden alkalmazás számára elérhető, sima webkameraként is használható (pl skype beszélgetésekhez)

A szoftver

Tracker szoftver oldalon három "projekt" van amely szóba jöhet.
Az első a FreeTrack, amit én is próbáltam. A probléma ezzel hogy az oldalukon lévő utolsó előtti (az utolsó se sokkal jobb) blog bejegyzés címe "FreeTrack is not dead !", 2010.05.26 dátummal :S. Régi. Nagyon régi. A fenti képet is direkt választottam, mert bizony W8/10 alatt random produkálja a látható effeket. Aktuális rendszereken erősen ellenjavalt a használata.
Alternatívaként ott a FaceTrackNoir. Ez szintén őskövület benyomását kelti, de szerencsér a fórum szerint aktív fejlesztés alatt van a 2.0-ás verzió (jelenleg 1.7-en vannak), bár ennek is keltik halálhírét rendesen. Hogy ne legyen felhőtlen a boldogságunk, ezzel is van probléma. Licensz okokból a progiban nem lehet kamerát (videó bemeneti eszközt) választani. Le van tiltva. Ez csak akkor probléma, ha több ilyen eszközöd van (mint pl nekem a framegrabber kártya), mert ha nem a webkamera kerül előre (gondolom valamilyen ID alapján), akkor bizony a többi cuccot le kell tiltani. Ezt leszámítva a Noir nekem jobban beállíthatóbbnak, biztosabbnak tűnik és nem egy olyan játék van amelyet a FreeTrack-kal nem, ezzel viszont működésre bírtam fogni.
A végére hagytam a (szerintem) legjobb választást, az OpenTrack-et (Letöltés). Igaz hogy a funkcionalitáshoz semmi köze, de ez a progi végre nem úgy néz ki mint egy őskövület, ami már nagy pluszt kölcsönöz neki. Ha pedig megnézzük mit tud, még jobban meg leszünk elégedve :). Gyakorlatilag fogja a FreeTrack és a FaceTrackNoir előnyeit és egybegyúrja egy alkalmazásba, a Noir korlátai nélkül. Nem tudnám megmagyarázni a dolgot, valahogy a koordináták "simítását" jobban csinálja (érzésre). Nekem személy szerint sokkal kellemesebbnek tűnik a használata mint a másik kettőnek.

Kalibrálás

A szoftver beállítása elég macerás. Nem bonyolult. Macerás. Macerás mert az alapbeállítások nem feltétlen fognak tetszeni és mert sok van belőlük. Na de azt majd később. Először is rá kell venni a szoftvert hogy ismerje fel a clip 3 ledjét és mást ne. Az OpenTracker sokféle bemeneti eszközt és több protokollt is ismer. Bemeneti eszközt a "Tracker" menüpont alatt tudunk. Nekünk a "PointTracker 1.1"-re van szükségünk. Kimeneti "Protocol" a "Freetrack 2.0 Enchanced". A Tracker-t be is kell állítani (3 pötty):
A "Camera Settings" egy az egyben másolható innen, a "Point Extraction" viszont magyarázatra és egyéni beállításra szorul. A szoftver gyakorlatilag nem csinál mást mint fényes pontokat keres a videóban. A Threshold annak a mértékét határozza meg hogy milyen erős fény jelent fényes pontot. Ez függ a kamerádtól és az alkalmazott filter minőségétől. Alatta a Min és a Max size a fényes pontok méretét határozza meg. Jelen beállításokkal akármilyen fényesen is világít valami, ha az kisebb mint 5 pixel akkor a szoftver nem veszi számításba. Ha ezekkel meg vagy, zárd be ezt az ablakot és indítsd el a trackert a nagy "Start" gombbal. Ekkor megjelenik a videó képe és mehetsz vissza a beállításokat tovább hangolni (Threshold-ot ugye videó nélkül elég körülményes belőni).
A második fülön a clip-ed paramétereit állíthatod be. Ha egyedi méreteket használsz, itt adhatod meg őket. Lentebb, ami nagyon fontos beállítás az a "Model position". A három koordináta a clip térbeli eltolását határozza meg a fejed XYZ tengelyéhez képest. Ugye a fejed közepén ideális esetben az agyad van, nem a clip. Márpedig ha a clip nem ott van, akkor a fejforgás kiszámításához a szoftvernek tudnia kell, a fejed mely részére rögzítetted azt. Szerencsére ezeket az értékeket nem kell kitotózni, és méricskélni sem kell. Leülsz a kamera elé, és megnyomod a "Toggle Calibration" gombot, majd elkezded mozgatni a fejed párszor balra-jobbra, majd fel és le. Ezután újra megnyomod a gombot, és a mezőkben megjelennek az értékek.

Mapping

Még egy "elrettentő" beállítás, a Mapping. Elég vadnak néz ki, de szerencsére ez már csak "kényelmi" dolog. Ha az alapbeállítások megfelelnek, nem kell vele bütykölni.
Gyakorlatilag azt állíthatjuk be, hogy mekkora fejmozdulat (X tengely) mekkora elfordulásként legyen értelmezve (Y tengely). Nagyon nem tudom elmagyarázni a dolgot, ezzel mindenkinek magának kell játszadozni hogy megtalálja a neki és az adott játéknak legjobban tetsző beállítást.

Használat, Input Lag

Végezetül írok kicsit arról hogyan is használom én. Nyissunk egy képpel.
Igazából minden olyan játékkal amelyre a trackert lehet/érdemes használni, a TV-n játszom, amelynek ilyen szempontból ideális a pozíciója (nem, játékhoz egyeltalán nincs túl közel). Pont kényelmes. A kormány és a pedálok nagyszerűen felszerelhetők eléje. A lenti képen a kormány mellett picit balra a kamera is látszik a high-tech Wii állványon :D. Próbáltam a TV elé rakni, illetve jobban középre, de a legjobb eredményt ebben a pozícióban kaptam.
Mikor anno én belekezdtem a bütykölésbe, a legfontosabb kérdésem az volt, mekkora a késleltetés a fejmozdulatok és a valós kameramozgások között, vagyis mekkora az input lag, meg hogy egyeltalán mekkorák is azok a mozdulatok amelyekre szükség van. Mindenkinek a fejében megfordul a kérdés, hogy "de ha hátra nézek hogy látom a monitort?". Szerencsére minden tág határok között állítható a szoftverben, úgyhogy ha ennyi nyaktekergetés sok, csak át kell állítani. De hogy mégis képet lehessen kapni a dologról, csináltam egy rövid videót külső nézetből. Ezen még mindig az 1.0-ás pizzásdoboz clip látható, simán csak cellux-szal rögzítve. Nem röhög... a cucc működik, a többi nem fontos. Majd a 2.0 jobban néz ki.

Összefoglaló

Mint írtam, a teljes anyagköltség 5000 Ft alatt van. Ennyi pénzt és némi forrasztgatást, szerintem bárkinek megér aki szimulátorokkal vagy hasonló dolgokkal játszik. Persze figyelembe kell venni hogy azon játékok köre ahol az eszközt érdemes / lehet használni, meglehetősen limitált, de még úgy is. Az elején nagyon furcsa, még mindig előfordul hogy egy-egy hevesebb fejfordulatnál lemegyek az útról, de simán megszokható. Autóversenyben (GRID Autosport-tal próbáltam) hatalmas, hogy ki tudsz nézni oldalra, meg az egész vezetés-feeling sokkal jobban átjön mint nélküle. Még hosszú-hosszú oldalakat lehetne írni a beállításokról, bele lehetne menni durván a részletekbe, de úgy gondolom aki ilyesminek neki akar állni, annak már talán nem kell magyarázni mi az a bal klikk. Természetesen kérdésekre szívesen válaszolok, olyan részletességgel amilyenre csak szükség van. Most meg megyek játszom egyet...