Wie Du den Kinect-Sensor in ein Unity3D-Game einbindest
Interaktionsmöglichkeiten mit Games beschränken sich schon lange nicht mehr ausschließlich auf Maus und Tastatur.
Eine der vielen Möglichkeit stellt der Kinect-Sensor dar, den Du sicher von der XBox360 kennst. Diesen Sensor kannst Du aber auch sehr einfach innerhalb von Unity3D für Dein eigenes Game nutzen.
Der Kinect-Sensor
Der Kinect-Sensor reagiert sowohl auf visuelle als auch auf Audio-Befehle.
Mit Hilfe von verschiedenen Kameras und einem Mikrofon sammelt das Gerät verschiedene Daten und setzt diese dann intern zu einfach zu nutzenden Informationen zusammen. Diese kannst Du dann mithilfe eines SDKs abfragen und in Deiner Software verarbeiten.
Kinect und Unity
Speziell für Unity gibt es noch zusätzlich ein kleines Asset-Package, mit dem Du sehr einfach innerhalb von Unity auf die Funktionen des SDKs zugreifen und die Daten nutzen kannst.
Du benötigst also zum Zugreifen auf den Sensor zwei Dinge:
- das Kinect-SDK
- das Unity-Package
Lade sie Dir herunter und folge dann einfach der Anleitung im folgenden Video.
Video
In dem Video zeige ich Dir was Du nun mit den beiden Downloads machen musst. Anschließend demonstriere ich wie Du auf einfache Weise schnell ein eigenes kleines Game erstellst, das als Input-Sensor die Kinect nutzt.
Außerdem zeige ich Dir auch einen kleinen Praxistipp mit dem Du die empfangenen Daten von falschen Signalen „säuberst“.
Was ist der XBox One Kinect Sensor?
In dem Video spreche ich ja von dem Kinect Sensor for Windows. Aber wenn man es genau nimmt, gibt es diesen seit April 2015 gar nicht mehr. Denn Microsoft hat den Verkauf eingestellt und verkauft stattdessen für die XBox-One-Variante einen Adapter.
Wenn Du also eine Kinect für Dein Windows-System haben möchtest, musst Du zunächst einen XBox One Kinect-Sensor kaufen für den Du dann noch einen Windows-Adapter dazu kaufst. Funktional ist es genau das gleiche wie die vorherige Kinect for Windows-Version, nur eben nicht mehr direkt mit dem richtigen USB-Anschluss.
Was brauche ich denn jetzt?
Wenn Du nicht gerade noch einen gebrauchten Kinect Sensor for Windows 2 bekommst, benötigst Du jetzt zwei Dinge:
- Xbox One Kinect Sensor* (Amazon Partnerlink)
- Xbox Kinect Adapter für Windows* (Amazon Partnerlink)
Preislich liegt der Sensor bei ca. 140,- Euro und der Adapter bei 50,-.
Systemvoraussetzungen beachten
Bitte beachte, dass die Kinect spezielle technische Gegebenheiten voraussetzt. Diese erfährst Du hier: https://msdn.microsoft.com/en-us/library/dn758677.aspx
Bei mir hat z.B. der USB 3.0-Controller ärger gemacht. Mein normaler Entwicklungscomputer nutzt z.B. einen Controller von Texas Instruments, der den Sensor offensichtlich nicht mag. Ob dies am Alter des Controllers (der PC ist schon etwas älter) oder grundsätzlich an der Marke liegt, kann ich aber nicht sagen.
Auf meinem Surface, der einen Intel-Controller nutzt, funktioniert die Kinect mit Unity jedenfalls so wie man es erwartet: SDK installieren, Kinect einstecken, läuft.
Nutzt Du eine Kinect?
Was hältst Du davon eine Kinect als Input-Sensor in einem eigenen Unity3D-Game einzusetzen? Oder ist der Markt dafür einfach zu speziell?
Schreib ist mir in die Kommentare, ich freue mich über Deine Antwort 🙂
Hallo Carsten
Vielen Dank für dieses Video.
Könntest du dein Testprojekt bitte auch noch zur Verfügung stellen?
Vielen Dank!
Hi Carsten! Ich hätte da eine Frage zu meinem Unityprojekt, und zwar hab ich das Problem, das ich meinem Projekt einen Namen geben hab der keinen Sinn mehr ergibt da sich das Spielekonzept im laufe der Entwicklung geändert hat. Wie ändere ich aber nun den Projektnamen,bzw. Name des „gebuildeten“ Spieles? Ordner umbenennen bringt nichts.
Ps.: Sorry für so eine „dumme“ Frage, bin noch ein Anfänger 😀 und gegoogelt hab ich auch schon viel.. lg Klaus 🙂
@Thomas: Ich arbeite gerade an einem separaten Download-Bereich. Dort werde ich das Projekt dann hochladen.
@Klaus: Kein Problem, erstelle einfach einen Ordner mit dem neuen Namen und kopiere den gesamten Inhalt des Original-Projektordners (nur den Inhalt, nicht den Hauptordner selber) und füge diesen in den neuen Ordner ein. Wenn Du dann von Unity aus das Projekt aus dem neuen Ordner öffnest, hat es den neuen Namen. Den alten Ordner inklusive Inhalt kannst Du dann löschen. …Wie heißt es so schön: „Wer nicht fragt, bleibt dumm.“ 😉
Sehr tolles Video – vielen Dank für deine Mühen.
Würde das selbe eigentlich auch für mobile Geräte funktionieren?
Beinahe alle haben ja bereits eine Front-Kamera, oder ist das viel mehr eine Frage der API als der Hardware?
Eine Frage zur Neuauflage deines Buches:
Bei Amazon ist einerseits in der Kopfzeile „20. Juli 2015“ zu entnehmen ,
andererseits steht bei der Auflageninfo „(27. Juli 2015)“.
Wann erscheint es denn nun? 😀
Hi, sorry für die späte Antwort, aber irgendwie ist mir Deine Frage durch die Lappen gegangen. Das Buch ist mittlerweile erhältlich 🙂
super Video und schön erklärt, Klasse und danke dafür
Hallo Carsten
Wollte mal kurz nachfragen ob du schon Zeit hattest das Beispielprojekt im neuen Download Bereich abzulegen.
Grüsse,
thomas