De opkomst van virtual reality oplossingen zorgt voor een verandering van de standaard in de industrie. Ook roept het nieuwe vragen op. Denk hierbij aan training, gaming en simulaties. De User Interfaces (UI) is anders. Het is echt een andere denkwijze, waarbij goed moet worden nagedacht over: de functie, implementatie en layout. Traditioneel gezien kunnen user interfaces worden opgesplitst in: diegetic (onderdeel van een gamewereld), non-diegetic (gescheiden van de gamewereld), meta en spatial components. De meest succesvolle games maken gebruik van een combinatie om een gebalanceerde ervaring te creëren. In dit artikel zullen we kijken naar elke categorie. We bekijken de voor en nadelen van virtual reality en hoe deze kunnen worden geïmplementeerd met Unity. Meta UI components worden niet vaak gebruikt bij VR applicaties. Om deze reden wordt dit niet verder in dit artikel behandeld.
Non-diegetic user interfaces worden het meest gebruikt in de gaming industrie. Wat opvalt is dat deze componenten van de UI bestaan op een ander vlak dan de actuele 3D game ruimte. Denk hierbij aan een heads-up display (HUD) aangezien dit de meest bekende voorbeelden zijn van non-diegetic user interfaces. Een health bar bestaat niet in de 3D ruimte van een game, er is dus geen interactie mogelijk. Het bestaat dus buiten het verhaal van de game en de ruimte waarin de game zich afspeelt.
Met dit onderdeel kun je zorgen dat relevante informatie duidelijk zichtbaar is en zorgt ervoor dat je snel kunt navigeren. Het nadeel is alleen dat het diepgang mist. Het is namelijk geen onderdeel van de game wereld zelf.
Voor virtual reality kunnen non-diegetic user interfaces erg lastig zijn om deze succesvol te implementeren. Het grootste probleem is wanneer de HUD (die wordt gebruikt in traditioneel gamen) te dicht bij het gezicht van de gebruiker komt te staan. Dit kan ongemakkelijk zijn voor je ogen. In Unity is de meest gebruikelijke manier om non-diegetic HUD te ontwikkelen met behulp van de Screen Space Overlay of Screen Space – Camera functions. Het wordt in Unity nog niet goed ondersteund, door het ongemak voor de ogen. Een ontwikkelaar kan toch een model maken, waarmee de rol van een HUD kan worden nagemaakt. Het voelt wel vreemd aan. Het lijkt er dan op alsof je de hele dag met een telefoon direct in je gezicht loopt. Als je daarnaast met andere taken bezig bent kan dit erg afleiden. Kortom, maak geen gebruik van non-diegetic UI’s wanneer je oplossingen voor virtual reality aan het ontwikkelen bent.
Dit model van een user interface laat op een holistische manier alle informatie zien die normaal gesproken in een HUD van een 3D ruimte in een game te zien zijn. In plaats van een mini-map die te zien is in de kant van het scherm kan de gebruiker een kaart naar voren laten komen die echt bestaat in de gamewereld. De user interface is op deze manier onderdeel van de game zelf en bestaat dus in de gamewereld. De “Deadspace” game franchise wordt gezien als een game die op dit moment de beste diegetic UI heeft.
Het voordeel van dit model is dat het de game realistischer maakt en hierdoor een betere ervaring geeft. Om je leven, items en inventaris te laten zien vereist dat ontwikkelaars op zoek gaan naar creatieve oplossingen om deze informatie te laten zien. Deze oplossingen moeten dus effectief en intuïtief aanvoelen, anders zal het de gebruiker frustreren.
In vele manieren is het doel van virtual reality om ervoor te zorgen dat de ruimte er uitziet zoals in het echte leven. Met dit in gedachten lijkt het erop dat diegesis de meest logische manier is om user interfaces te creëren. Deze gedachte spreekt zichzelf wel tegen. In het echte leven hebben we geen menu’s of spraak bubbels. Met behulp van Unity zijn er verschillende manieren om nieuwe innovatieve diegetic ervaring te creëren. Een van deze manieren is de Raycast optie om interactie te starten. Neem als voorbeeld dat een gebruiker van een RPG een interactie wilt starten met een NPC (non playing character). In plaats van een menu te klikken kan de gebruiker de gebruiker de NPC voor een paar seconde aanstaren om de interactie te starten. Op deze manier voelt de game realistischer aan hoe het in de echte wereld ook zou kunnen zijn.
Spatial UI ligt in het midden van de traditionele diegetic en non-diegetic modellen. Het biedt elementen die bestaan in de 3D game wereld, maar die geen onderdeel zijn van het verhaal van de game. Dit is het makkelijkst uit te leggen als je een unit wilt selecteren in een real-time strategy game. Wanneer je de unit selecteert ontstaat er een cirkel of symbool om aan te geven dat de unit geselecteerd is. In een first-person shooter kan dit een symbool zijn die de volgende actie toont. Dit zijn twee voorbeelden van spatial UI. Het symbool bestaat in de game ruimte, maar in de echte wereld zal je dit niet zien. Het is eigenlijk als AR (augmented reality) maar dan binnen VR.
De voor en nadelen zijn vergelijkbaar met die van diegetic modellen. Het voordeel is dat het erg duidelijk is voor de gebruiker. Alle relevante informatie die nuttig is kan worden weergegeven. Daartegenover staat wel dat deze informatie de de realiteit van de game kan verlagen.
Wanneer het op virtual reality aankomt is spatial UI de makkelijkste en meest effectieve optie. Programmeren met Unity betekent dat je een plek in de wereld moet selecteren om gebruik te kunnen maken van het Canvas. Dit staat toe dat onderdelen van de UI overal in de gamewereld kunnen worden geselecteerd. Om de beste resultaten te behalen is het aan te raden om een tekst op 3-5 meters in de verte in te stellen. Zorg ervoor dat deze tekst duidelijk en makkelijk te lezen is.
Om ervoor te zorgen dat er niet teveel informatie continu op het scherm aanwezig is, is het aan te raden om UI informatieniet continu te tonen. Dit zorgt voor een realistische beleving en het is daarnaast overbodig. Het is beter om notificaties en updates zo soepel mogelijk tevoorschijn te laten komen en alleen wanneer echt nodig. Zorg er bijvoorbeeld niet voor dat de health bar de hele tijd zichtbaar is. Het is beter om ervoor te zorgen dat de healthbar knippert in de buurt van de speler. Unity heeft ook de mogelijkheid om pijlen te implementeren. Deze pijlen kunnen gebruikers de goede richting op sturen, wanneer ze de verkeerde kant opkijken. De makkelijkste manier om dit toe te voegen aan een spel is met GUIArrows.
Het gebruik van spatial user interfaces is subtiel en duidelijk, maar is daarmee wel het meest effectieve model. Hiermee kan de juiste hoeveelheid informatie worden getoond zonder dat het de beleving van de gebruiker aantast.
Wanneer je moet kiezen tussen non-diegetic, diegetic of spatial componenten is het belangrijk om een balans te vinden tussen de functie en hoe het de beleving beïnvloed. De kracht van virtual reality is dat de 3D ruimte van nature zorgt voor een interactie met de gebruiker dat niet kan worden nagebootst met een scherm. Sommige ontwikkelaars zijn bang dat de connectie met het spel kan worden verbroken door rommelige interfaces. Met dit in gedachten is het belangrijk om te weten dat games die gebruik maken van non-diegetic/ spatial features nog altijd zorgen voor een indrukwekkende ervaring. Hierbij kan meteen gedacht worden aan MMO’s waarbij de HUD’s kunnen worden aangepast. Deze zorgen er misschien voor dat er teveel informatie in het scherm is, maar aangezien de gebruiker dit zelf kan aanpassen zal hij zich hierdoor juist ook thuis voelen.
In kort is het belangrijk wanneer je een interface voor virtual reality creëert dat het natuurlijk moet aanvoelen. Probeer hierbij een balans te vinden met componenten die onderdeel zijn van de gamewereld en de verhaallijn van de game.
Ik help je graag met al je vragen. Je mag me altijd even bellen of mailen.