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
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 Kraften är proportionell mot penetreringsdjupet Kraften är i normalens riktning x F = kx
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