stöd för haptisk hårdvara i en spelmotor
DESCRIPTION
Stöd för haptisk hårdvara i en spelmotor. Henrik Aamisepp Daniel Nilsson. Problem. Är det möjligt att integrera haptik i en spelmotor?. Tillvägagångssätt. Utvärdera haptiska programmeringsgränssnitt Utveckla en lösning baserad på utvärderingen Dra slutsatser från utvecklingsprocessen. - PowerPoint PPT PresentationTRANSCRIPT
Stöd för haptisk hårdvara i en spelmotor
Henrik AamiseppDaniel Nilsson
Problem
Är det möjligt att integrera haptik i en spelmotor?
Tillvägagångssätt
• Utvärdera haptiska programmeringsgränssnitt• Utveckla en lösning baserad på utvärderingen• Dra slutsatser från utvecklingsprocessen
Vad är en spelmotor?
• Plattform för att enkelt skapa 3D applikationer och spel
• Tillhandahåller funktioner som vanligtvis behövs i spel– Tangentbord, mus, joystick– OpenGL, DirectX– Nätverk
Crystal Space
• Öppen källkod• Ständigt under utveckling• Flexibelt pluginsystem– Kollisionsdetektion– Fysikmotor
Vad är haptik?
• Hur man använder känselsinnet för att utforska sin omgivning
• Inom datorvärlden handlar det om att kunna känna och ta på datorgenererade objekt via ett haptiskt gränssnitt
• Force feedback• Haptisk hårdvara
PHANTOM
• Rörlig i 6 frihetsgrader• Force feedback i 3
frihetsgrader• Pennfattning med
knapp• Interagerar i en punkt• Flera olika modeller
Exempel på kraftberäkning
x
F = kx
• Kraften är proportionell mot penetreringsdjupet• Kraften är i normalens riktning
Haptiska programmeringsgränssnitt
• GHOST• e-Touch• Reachin
GHOST
• Fördelar– Grafik och haptik uppdelat– Stöd för dynamik– Stöd för friktion
• Nackdelar– Dyr licens– Ej öppen källkod– Problem med rörliga objekt
e-Touch
• Fördelar– Öppen källkod– Gratis– Snabb algoritm för kraftberäkning
• Nackdelar– Dålig dokumentation– Grafik och haptik ihopbyggt till stor del– Inget stöd för friktion och ytstrukturer– Inget stöd för dynamik– Kräver att GHOST finns installerat
Lösningsidé
• Plugin till Crystal Space• Haptisk representation av 3D-omgivningen i Crystal
Space• Kunna förflytta sig runt i 3D-omgivningen• Stöd för rörliga objekt• Olika egenskaper för objekt
Problem under utvecklingen
• Skapa haptiska objekt• Olika uppdateringshastigheter för grafik och haptik• Hantera objekten effektivt• Rörliga objekt• Friktion• Trycka igenom objekt
Demo 1
• Navigera runt i en 3D-värld med tangentbordet• Känna på omgivningen med the PHANTOM• Grafisk representation av pekaren• Olika materialegenskaper• Möjligt att ladda kartor
Demo 2 - Labyrintspel
• Interagera med rörliga objekt• Flytta på objekt med the PHANTOM• Använda det dynamiska systemet i Crystal Space
Resultat
• Plugin som gör det möjligt att känna på en virtuell 3D-omgivning
• Man kan gå omkring i omgivningen som i vanliga 3D-spel
• Rörliga objekt uppdateras automatiskt i haptiken• Fungerar bra ihop med det dynamiska systemet i
Crystal Space
Resultat
• Stödjer friktion och styvhet men det kvarstår några problem med detta
• Enkelt att skapa egna typer av objekt• Lyckades ej få bort licenskostnader helt
Slutsatser
• Fullt möjligt att integrera haptik i en spelmotor• Goda möjligheter att skapa snygg grafik• Spelmotorn ger mycket extra funktionalitet• Bra med högre uppdateringsfrekvens på grafiken• Olikheter mellan olika programmeringsgränssnitt