AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte DodgeCam: Maus - und Tastatureingaben via WebCam simulieren
Thema durchsuchen
Ansicht
Themen-Optionen

DodgeCam: Maus - und Tastatureingaben via WebCam simulieren

Ein Thema von grizzly · begonnen am 19. Aug 2012
Antwort Antwort
grizzly
Registriert seit: 10. Dez 2004
DodgeCam

Schon mal beim Spielen eines Shooters mit dem Oberkörper zur Seite weggeduckt? Oder versucht, um die Ecke zu schauen? Nach vielen Jahren mit Ego-Shootern (die guten alten, wo man noch pixelige Aliens jagt) passiert mir das immer noch.

Deshalb habe ich gedacht, warum soll ich dieses Rumhampeln vor dem Monitor nicht als zusätzlichen Input für das Spiel verwenden? Möglichst simpel, ohne komplexe Algorithmen (Mein Motto: Wenig Aufwand, viel Effekt). Damit ich endlich mal was neues mit dem Code aus diesem Post hier machen kann.

Hier ist das Ergebnis: DodgeCam

Benötigt wird eine WebCam. Möglichst mit Codecs wie YUY2, YUYV etc., denn Codecs wie RGB oder MJPEG sind eher kontraproduktiv, da das Videobild als Graustufenbild ausgewertet wird, und bei letzteren erst zeitintensiv umgerechnet werden muß.
Nach dem Start von DodgeCam richtet man das Video ein (mit etwas Glück schlägt die Software gleich was Brauchbares vor), und wählt aus, ob man Maus-Events und/oder Tasten simulieren will.

Bitte darauf achten, dass genügend Bilder pro Sekunde (fps) ankommen. Beim Spielen in dunklen Räumen bricht die Bildrate zu sehr ein. 20fps wäre wohl ein brauchbares Minimum.

Wenn „Control mouse movement“ und/oder „Send keys“ angeklickt sind, geht die Steuerung noch nicht los, keine Bange. Dazu muß man die „Rollen“ (SCROLL-Lock) Taste drücken. Diese Taste „toggelt“ somit die Eingabesimulation. Da diese Taste in Spielen nur selten verwendet wird, ist sie ganz praktisch, um damit während eines Spieles DodgeCam zu aktivieren und zu deaktivieren. Links/Rechts Bewegungen vor der Kamera werden dann in horizontale Mausbewegungen übersetzt. Außerdem kann man für jede Bewegungsrichtung eine Taste definieren, die gedrückt bleibt, solange die Bewegung erkannt wird (In Spielen beispielsweise A für links und D für rechts).

Habe die Software mit dem Duke (vom letzten Jahrtausend) und in Avatar ausprobiert. Insbesondere beim Duke kann man beim Aktivieren von Maus und Tastatur förmlich um die Gegner herumrennen, wobei man sie immer noch im Visier hat. Aber um ehrlich zu sein, wirklich bringen tut es nichts, mit den Fingern ist man doch flotter. Aber es hat durchaus was fürs Spielen und Experimentieren zwischendurch.

Falls ihr auf der Suche nach raffinierten Algorithmen seid: Vergeßt es. DodgeCam macht einen ganz simplen Korrelationsvergleich aufeinanderfolgender Videoframes. Wenn ihr keinen statischen Hintergrund habt (Fenster zur Straße), könnt ihr DodgeCam vergessen. Die Maus und Tastatur Simulation erfolgt via SendInput().

Im Anhang findet ihr
- Ein ZIP mit DodgeCam.exe
- Ein ZIP mit dem Sourcecode (inkl. der verwendeten DirectX Header)
- Ein PNG mit einem Screenshot.

Nicht vergessen: Mit der SCROLL-Lock Taste wird DodgeCam aktiviert/deaktiviert.

Und natürlich: Verwendung auf eigene Gefahr!

Gruß
Michael
Miniaturansicht angehängter Grafiken
dodgecam_1000_screenshot.png  
Angehängte Dateien
Dateityp: zip DodgeCam_1000_Binary.zip (299,9 KB, 34x aufgerufen)
Dateityp: zip DodgeCam_1000_Source.zip (462,7 KB, 46x aufgerufen)

Geändert von grizzly (20. Aug 2012 um 09:39 Uhr)
 
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz