Bugs - muur
Als developer heb je wel vaker temaken van bugs.
Vooraleer ik met het verhaal mijn spel doorging besloot ik om eerst enkele bugs op te lossen waarvan ik wist dat ze nog bestonden.

Bugs
Door de muur kijken
Aangezien we in VR met de '6-senses of VR' moeten rekening houden, kunnen we niet zomaar een zone afbakenen in ons spel waar onze speler al dan niet naar toe kan.
We hebben eerder onze teleport-zone al gemaakt van onze vloer, maar we kunnen wel nog steeds van deze zone af lopen met als gevolg dat we door de muren kunnen lopen / kijken.
Ik wist al even dat dit probleem in de game zat, maar ik wist niet zo goed hoe ik dit moest oplossen.
Ik ging opzoek op het internet wat anderen deden om dit probleem te voorkomen. Een optie die erg veel terugkeerde was een zwarte zone maken.
Als een speler de muur aanraakt met zijn hoofd, zal de speler een zwart scherm tezien krijgen. Als de speler de muur niet meer aanraakt, zal de zwarte zone terug verdwijnen.
Onze muren hebben al Box Colliders, dus was het gewoon terug een kwestie van het controlleren van een Collision... Of dat dacht ik toch.
Maken van zwart scherm
Om te beginnen maak je een nieuw UI-element aan in je rootmapje van je project via UI → Image.
Dit maakt automatisch ook een nieuw Canvas aan (met je Image in het canvas).
Geef je Image een zwarte kleur.
Zodat de overgang van gewone scene naar zwarte scene niet hard is, zullen via een animator een vloeiende overgang zetten op onze Image.
Als je de Animator-tab & Animation-tab nog niet hebt, kan je via Window → Animation → Animator / Animation deze tab tezien krijgen.
Maak in de Animation-tab een nieuwe animatie aan. Binnen die animation kan je verschillende clips aanmaken. Maak een nieuwe clip genaamd 'Fade-in'.
Sleep deze animation nu op je zwarte Image als component.
Via de keyframes kan je je zwarte-UI-Image nu aanpassen, dat hij in het begin van de animatie een transparantie van 0 heeft, en op het einde 100.
Maak nu ook een tweede clip aan, en maak de omgekeerde animatie.

Nu je deze clips hebt, kan je de Animator openen. Normaal staan je twee clips al in de animator, maar als dit niet het geval is kan je via rechtermuisknop deze animaties handmatig toevoegen.

Perfect! De animaties staan erin! Nu kunnen we terug zelf via een script enkele functies schrijven die de Animator zullen aanspreken, en kunnen we de animaties op een collision met een muur laten afspelen.
UI-camera
Nu gebeurt er nog echt iets als we de muur aanraken, omdat we onze UI nog niet gekoppeld hebben aan ons hoofd.
Binnen het Canvas-element van je zwart scherm heb je nog een optie op deze overlay van camera standpunt aan te passen. Zet je Render Mode op Screen Space - Overlay.

Nu zal je canvas ten alle tijde je hoofd volgen. Speel een beetje met de waarden van dichtheid / plane distance om tot het gewenste resultaat te komen.
Outside collision
Dat was al een hele boterham, maar we zijn er nog net niet. Als we met ons VR-hoofd op de muur zitten, zien we het scherm zwart worden.
Als we verdergaan dan de muur, dan wordt ons zicht terug helder, maar zitten we nog steeds buiten de zone.
Om dit op te lossen moet je gigantische colliders buiten je muren maken, zodat er een heel gebied wordt gezien als 'muur'.
En voila, de speler zal niet meer door de muur kunnen kijken!