Moving in virtual worlds

Dass Augmented Reality (AR) und Virtual Reality (VR), zusammengefasst unter der Abkürzung XR, ein großes Thema wird, hat sich schon mit der 2 Milliarden schweren Übernahme von Oculus VR durch Facebook im Jahr 2014 angedeutet. Ein Jahr später stieg Microsoft mit der HoloLens in das Thema ein und konzentriert sich seitdem auf den Bereich Mixed Reality (MR). Mit den diesjährigen Ankündigungen von Apple und Google haben nun alle großen Softwarekonzerne ihre Eisen im Feuer. Doch nicht nur die großen Konzerne sind in diesem Bereich aktiv, sondern auch eine vielfältige Szene von kleinen Unternehmen, wie sich auf der Digility Exposition in Köln beobachten ließ. Obwohl die Verkäufe von AR- und VR-Geräten bisher hinter den hochgesteckten Erwartungen zurück blieben, scheint der Massenmarkt damit in greifbare Nähe zu rücken.

Gleichzeitig sind grundlegende Herausforderungen, wie die Fortbewegung in virtuellen Welten (Locomotion), bisher nicht endgültig gelöst. Eng damit verknüpft ist die sogenannte VR-Krankheit, die durch Abweichungen zwischen der körperlichen Selbstwahrnehmung und dem visuelle Cortex entsteht. Fast jeder mit VR-Erfahrung kann Geschichten davon erzählen. Zu den beliebten Lösungsansätzen für die Fortbewegung in virtuellen Welten, die über den in der realen Welt begehbaren Raum hinausgehen, gehören:

Künstliche Fortbewegung

Ähnlich wie in herkömmlichen Computerspielen, werden die zur Verfügung stehenden Eingabegeräte (Tastatur, Maus, Gamepads, Joysticks, VR-Controller) zur Fortbewegung verwendet. Dieser Ansatz lässt sich zwar leicht implementieren, führt aber schnell zur VR-Krankheit.

Teleportation

Am beliebtesten sind zur Zeit verschiedene Arten zum teleportieren. Durch anvisieren und aktivieren eines Zieles, wird die Person an den gewünschten Orte gebeamt. Obwohl dieser Ansatz schnell und in der Regel ohne Übelkeit zum Ziel führt, geht dabei das räumliche Gefühl in der virtuellen Welt verloren.

Fortbewegung über Bande

Sobald die Person eine Grenze des real begehbaren Raumes erreicht hat, wird die Ausrichtung in der virtuellen Welt eingefroren und die Person dreht sich in der realen Welt. Auf diese Weise kann sich die Person durch reale Fortbewegung in VR auf langen Strecken in gleicher Richtung fortbewegen. Doch auch dieser Weg fühlt sich gerade für ungeübte Nutzer in der Regel unnatürlich an.

Fortbewegung durch Körperbewegung

Im Gegensatz zur künstlichen Fortbewegung, werden verschiedenste stationäre Körperbewegungen als Eingabe verwendet. Dadurch bleibt ein Gefühl für den virtuellen Raum erhalten und Nutzern ist weniger schnell übel. Nichtsdestotrotz fühlt sich auch dieser Ansatz unnatürlich an und stößt bei langen Strecken an seine Grenzen.

Redirected Walking

Ohne visuelle Hilfe kann der Mensch nur schwer gerade in eine Richtung laufen. Dieser Effekt lässt sich ausnutzen, indem bei jeder geradlinigen Bewegung im realen Raum das virtuelle Sichtfeld leicht gedreht wird. Die Person gleicht die Drehung instinktiv aus und hat dadurch das Gefühl gerade zu laufen, obwohl sie in Wirklichkeit einen Kreis läuft. Leider funktioniert dieser Effekt erst problemlos ab einer Raumgröße von rund 20 Metern; zudem ist Reichweite und Geschwindigkeit eingeschränkt.

Ein neuer Ansatz

Im Rahmen des Digility Hackathons hat ein Mitarbeiter von geOps im Team mit drei anderen Teilnehmern innerhalb von 24 Stunden einen neuen Ansatz bis hin zu einem Prototypen entwickelt. Aufgabenstellung und Kriterium für die abschließende Beurteilung der Jury war eine intuitive und natürlich Fortbewegung in einer virtuellen Welt, ohne Einschränkung des Sichtfeldes und künstliche Hilfsmittel wie Teleportation.

Nach einem kurzen Brainstorming verfolgte unser Team die Idee, das Steuerprinzip eines Segways in der virtuellen Welt umzusetzen. Mit Hilfe von kreativen Hilfsmitteln bauten wir ein reales Segway-Steuer, das wir stationär im real-begehbaren Raum platzierten und mit Hilfe eines HTC Vive Controllers in der virtuellen Welt lokalisier- und steuerbar machten. Durch bewegen des Steuers und verlagern des Körperschwerpunktes konnten Nutzer sich in der virtuellen Welt in eine beliebige Richtung fortbewegen, während eine Hilfsperson die gefederte Aufhängung des Steuers durch Gegendruck simulierte. Das haptische Feedback und die realen Bewegungen konnten die VR-Krankheit weitgehend vermeiden und ein natürliches Fortbewegungsgefühl in der virtuellen Umgebung erzeugen. Gleichzeitig konnte damit eine schnelle und mühelose Ortsänderung erzielt werden. Am Ende waren nicht nur zahlreiche Testpersonen, sondern auch die Jury von der Idee und der Umsetzung begeistert, sodass wir nach zwei inspirierenden Tagen mit dem ersten Preis in der Tasche die Heimreise antreten konnten. Ein tolles Team und ein hervorragend organisierter Hackathon, der viel Spaß gemacht hat!

6/10/2017
More on this topic
9 min reading time › | Blog

Snapping stops to vehicle trajectories

How to snap points to a line string in a given order and what it has to do with quality assurance when importing public transport schedules.

read more
7 min reading time › | Blog

Using Redis Subscriptions efficiently in Python

Inspired by the websockets broadcast feature we built a subscription multiplexer for redis subscriptions to subscribe to Redis channels and patterns once for all relevant clients.

read more
6 min reading time › | Blog

Export and print web maps as PDF

For some time now, some of our apps have offered the export of our maps in PDF format. This article presents our solutions for some updates of this feature.

read more
3 min reading time › | Blog

beyond tellerrand 2023

On 11th September 2023 members from the geOps frontend team set out to Berlin to attend a very interesting and extraordinary event: beyond tellerrand conference.

read more
3 min reading time › | Blog

React 18 support for create-react-web-component

We want to update five year old dependencies the trafimage-maps project. But it appears one project dependency is deprecated. What should we do? Fix the project or use something else? We decided to fix the project and give back to the community.

read more
8 min reading time › | Blog

Adding type hints to existing code in Python

The Python interpreter handles types in a dynamic and flexible way without constraints on what type of object a variable is assigned to. Since Python 3.5 programmers have the option to add type annotations to their code. Here we how it's done.

read more

Contact

geOps AG
Solothurnerstrasse 235
CH-4600 Olten

fon: +41 61 588 05 05
mail: info@geops.ch
geOps GmbH
Bismarckallee 10
D-79098 Freiburg im Breisgau

fon: +49 761 458 925 0
mail: info@geops.de
Imprint | Privacy | Terms of service