Leap Motion gesteuerte Blender Applikation

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche

Dieses Dokumentation beschreibt den Weg von der Idee bis zu Umsetzung unseres Projekts zum Interaktion-Praktikum im SoSe 2019. Dabei wird auf die Art der Kommunikation eingegangen, sowie die verwendete Soft- und Hardware beschrieben.Leap Motion gesteuerte Blender Applikation Team.JPG


IDEE


Die Grundidee des Projekts war die Erschaffung und Modellierung einer virtuellen Pflanze. Diese soll anhand gezielter und vordefinierter Gesten-Steuerung nachträglich ummodelliert werden können. So sollten bereits bestehende Verästelungen verlängert, verkürzt, gedreht, neu angelegt oder komplett verschwinden können. Durch einfache Handbewegungen soll es dem Anwender auch möglich sein, die Kameraansicht auf die Pflanze zu drehen und somit zu verändern, um auch an die auf der Rückseite liegenden Verästelungen zu gelangen.


AUFBAU


Leap Motion gesteuerte Blender Applikation Aufbau.JPG

Dieses Schema zeigt den Aufbau des Projekts. Am Rechner 1, an dem auch der für die Gesten-Steuerung notwendige Leap Motion Controller angeschlossen ist, läuft das Programm für die Verarbeitung der erkannten Gesten. Um eine Kommunikation zwischen den beiden Rechnern herzustellen, wurde eine OSC-Schnittstelle verwendet. Somit sendet Rechner 1, an dem der Leap Motion Controller angeschlossen ist, als OSC-Client seine Daten an den OSC-Server, der sich auf dem Rechner 2 mit der Blender-Applikation befindet.


UMSETZUNG


Mit Hilfe der 3D-Modellierungs-Software "Blender" wurde über dem Lindenmeyer-System (Lindenmaker) die zu modellierende Pflanze generiert. Diese dient nun als Grundlage für die gewünschten Aktionen des Users.

Lindenmaker flower.png


Um dem Anwender zusätzlich ein visuelles Feedback seiner (erkannten) Gesten zu geben, wurde zusätzlich eine virtuelle Hand in die Umgebung mit eingebunden, die die Handbewegungen visualisiert. Diese soll die Usability des Projekts erhöhen, in dem es die erkannten Gesten wiedergibt.

Leap Motion gesteuerte Blender Applikation Hand.png


Die im Hintergrund ablaufende Logik der Visualisierung wurde mit dem Blender-AddOn "Animation Nodes" realisiert. Ankommende Befehle/Gesten werden so richtig verarbeitet und führen zu dem gewünschten Effekt. Folgende Grafik zeigt die gesamte komplexe Logik vom Dateneingang bis zur Verarbeitung und Ausgabe der Geste.

Leap Motion gesteuerte Blender Applikation Blender Nodes gesamt.png


Der an Rechner 1 angeschlossene Leap Motion Controller detektiert die verschiedensten Handbewegungen des Anwenders. Die Verarbeitung der Gesten erfolgt in einer in openFrameworks programmierten Logik. Auf der nachfolgenden Grafik ist die Visualisierung der von der Leap Motion detektierten Hand zu sehen. Anhand dieser Erfassung werden die Koordinaten der bestimmten Bildpunkte via OSC-Schnittstelle an Rechner 2 geschickt, welcher die ankommenden Daten mit Hilfe der mit "Animation Nodes" erstellten Logik verarbeitet.

Leap Motion gesteuerte Blender Applikation Leap Motion Handerkennung.jpg


MÖGLICHE AKTIONEN


Nach Abschluss des Praktikums ist es gelungen, einige der geplanten Gesten und Aktionen umzusetzen. Somit ist es dem Anwender aktuell möglich, die Kameraansicht der Blender-Applikation mittels Handbewegungen zu verändern. Somit sind Rotationen und Zoom-Aktionen möglich. Des Weiteren kann der User bereits in Interaktion mit der Pflanze treten, in dem durch Gesten bestimmte Abschnitte der Pflanze selber bewegt werden können.


HARDWARE


Leap Motion


SOFTWARE


openFrameworks und Blender (inkl. AddOn Animation Nodes)


Programmcode:

Programmcode Blender

Programmcode openFrameworks