TDDD57 Fysisk interaktion och spelprogrammering
Labbar
## Labb 1 - Utvärdering
Gör en gedigen teknisk utvärdering hur bra 3 av mediapipes Vision-modeller för kroppsspårning fungerar. Görs med fördel direkt på webben:
* [Gestigenkänning](https://mediapipe-studio.webapps.google.com/studio/demo/gesture_recognizer):
* [Hand Landmarker](https://mediapipe-studio.webapps.google.com/studio/demo/hand_landmarker)
* [Face Detection](https://mediapipe-studio.webapps.google.com/studio/demo/face_detector)
* [Face Landmark Detection](https://mediapipe-studio.webapps.google.com/studio/demo/face_landmarker)
* [Pose Landmark Detection](https://mediapipe-studio.webapps.google.com/studio/demo/pose_landmarker)
Vissa skillnader kan ju förekomma mot den python-baserade systemet och Godot men det är ok. Här vill vi bygga en förståelse för hur datat från sådan tränade modeller fungerar.
## Testplan för Sensorns datakvalitet
Variabelöversikt för Dataanalys:
1. Miljöfaktorer
- Varierande ljusförhållanden
- Olika rumsliga belysningsscenarier
2. Kamera- och Positionskriterier
- Varierande avstånd från kamera
- Skiftande kameravinklar (laptop, mobilplacering)
- Olika handpositioner relativt kameran
3. Rörelsekarakteristik
- Långsamma vs snabba handrörelser
- Rörelser i kamerans ytter- och kärnområden
4. Antal samtig detekntion, t.ex. för händer
- Språning av en eller flera händer
- Jämförelse av stabilitet och prestanda
- förvirring mellan, feltolkning
5. Skelettdataanalys
- Identifiera mest stabila handdelar
- Utvärdera punkternas tillförlitlighet under olika förhållanden
Huvudsakligt Syfte:
- Kartlägga sensorns begränsningar
- Förstå datakvalitetens variationer
- Utveckla robusta tolkningsstrategier
Metodisk Approach:
- Systematisk, kontrollerad testning
- Dokumentation av variationer
- Jämförandeanalys under skiftande förhållanden
## Labb 2 - Välj genom att peka
Huvudmål:
Utveckla ett experimentellt minispel som utforskar precisionen i objektmarkering genom handrörelseinteraktion.
Speldesign:
1. Grundläggande Mekanik
- Markera specifika objekt genom pekning
- Ballong/cirkel som "spricker" vid träff
- Dynamisk feedback för närmande och markeringsprocess
2. Interaktionsoptimering
- Implementera marginalzoner för:
* Förvarning vid närmande
* Möjlighet att avbryta interaktion
* Bekräftelse av avsiktlig markering
3. Experimentella Parametrar
- Variera objektstorlekar
- Testa minsta möjliga markeringstjocklek
- Undersöka optimal objektplacering
4. Poängsystem
- Pluspoäng för korrekta markeringar
- Minus/straffpoäng för felmarkeringar
- Differentiera mellan objekttyper via färg
Experimentell Approach:
- Systematisk datainsamling
- Iterativ testning av gränsvärden
- Användartester med externa deltagare
Forskningsfrågor:
- Hur små kan objekt vara?
- Vilket minsta avstånd mellan objekt tolereras?
- Vilka feedbackmekanismer förbättrar precision?
Metodologi:
- Experimentellt minispel
- Kvantitativ och kvalitativ dataanalys
- Kontinuerlig optimering av interaktionsparametrar
Slutmål: Identifiera robusta, användbara interaktionskriterier för handrörelsebaserad objektmarkering.
## Labb 3 - Drag-drop
I denna uppgift ska användare utföra en drag-drop-interaktion med tydlig och bekväm feedback. Fokus ligger på att skapa en användarvänlig process där själva greppandet och kontrollen över objektet är central.
Laborationsuppgiften innebär att:
1. Utveckla tydliga men bekväma regler för att markera, greppa och släppa objekt
2. Implementera minst tre olika grepp-tekniker:
- Sluten hand
- Nyp-grepp (tumme mot finger)
- Handrotation för markering/avmarkering
3. Analysera interaktionen genom att:
- Mäta frekvensen av "oavsiktliga" släpp utanför avsett mål
- Kvantifiera och förbättra regelverket
- Dokumentera skillnader mellan grepp-ögonblick och långvarigt objektinnehav
4. Genomföra gärna användartester med flera personer för att få bred insikt
## Redovisning:
Labbar redovisas muntlig i halv eller fjärdedels klass i lektionssal på campus. Ni ska delta vid ett tillfälle och ni slumpindelade. Redovisning av erfarenheter/resultat från undersökningen och era labbar. Dema gärna live.
Kodinlämning är via ert Repo. Lägg tydligt kod för samliga labbar och skriv slutsater i koden i godot-repot. Länka till dokumentationen via readme.md-filen.
Sidansvarig: Erik Berglund
Senast uppdaterad: 2025-01-23