Aanleiding
Ik ga voor het eerst van start met een VR project. Hierbij zijn er al limitaties maar het moet ook voor android gemaakt worden. Hierdoor ontstaan er nog meer limitaties. Ik wil graag weten wat ik allemaal kan verwachten en hoe ik dadelijk slim te werk kan gaan voordat ik daadwerkelijk iets ga bedenken en maken hiervoor.
Door dit probleem nu goed te tackelen kan ik dadelijk een goede start maken en geen onverwachte moeilijkheden tegenkomen.
Methodiek
~ Literature study
(1) Het optimaliseren van virtual reality toepassingen (VR) kan in het begin ontmoedigend zijn en er is geen vast pad voor hoe je moet optimaliseren. Zodra je applicatie constant 72 frames/seconde bereikt en je geen daling van de framesnelheid hebt, ben je klaar om te gaan. Soms kan over optimalisatie de toepassing kapot maken, waardoor je niet meer weet waar het probleem precies zit. De prestatiedoelstellingen worden hieronder weergegeven.
72 FPS for Oculus Quest 1
150-175 draw calls per frame
300,000 - 500,000 triangles per frame
Alle materialen moeten single pass zijn.
Het goed voorbereiden van 3D modellen heeft ook een hele goede toepassing voor het optimaliseren. In het onderzoek kwamen veel goede tips naar voren zoals, Tris count verminderen, Verwijder ongebruikte gezichten, gebruik het juiste aantal onderverdelingen en combineer static onderdelen.
Het gebruik maken van LOD groepen helpt het verminderen van polygoon weergaven buiten het zicht of ver af van de camera.
Het slim gebruik maken van code schrijven helpt ook goed met het optimaliseren.
(2) Virtual reality is een geweldige combinatie van hardware en software, maar vanwege de gecompliceerde aard heeft het de neiging om van tijd to tijd een beetje pear-shaped te worden. Als VR nieuw is voor een persoon, kan het een beetje moeilijk zijn om erachter te komen wat het probleem is als er iets misgaat. Belangrijke punten zijn:
Algemene bugs, fouten en inconsistente prestaties
Tracking en Guardian problemen
Wazige of ongemakkelijke beelden
Controller problemen
Verzorging en onderhoud
Vermijd stof op lenzen
Schoonmaken met microvezelkleding wat slecht is voor de lenzen
~ Expert interview/conversation
2 mensen van het bedrijf, 1 artist/programmeur en 1 programmeur
Vragen naar technische limitaties voor het beginnen van een mobile VR game.
(1) Object pulling
(2) Screen space effects
(3) Post processing niet mogelijk in andoid VR door de 2x camera's die heletijd draaien.
(4) Oculus package installeren voordat je gaat builden.
(5) Debuggen is moeilijker, kijk naar Log Cat van Unity3D.
(6) Build het project met UP of gewoon 3D. UP is mogelijk.
(7) Normal maps zijn heel moeilijk en niet aan te raden. Of al je objecten moeten uit 1 texture bestaan.
(8) Static batching opletten.
(9) kijk naar Pixel failrate, draw calls en hoe je de GPU het minst tot last kan zijn.
Resultaat
Als ik het project ga starten ben ik nu goed voorberreid op wat voor problemen ik tegen ga komen met het bouwen van de VR simulatie. Hierbij moet ik goed opletten op de FPS, de draw calls, het aantal triangles per frame en alle materialen moeten single pass zijn.
Ik weet ook dat bepaalde technieken, zoals post processing een no go zijn. Hierdoor kan ik dus gaan nadenken over andere mogelijkheden die wel voor coole effecten kunnen zorgen.
Ik weet nu hoe ik mijn 3D modellen het beste kan gaan bouwen. Dit houd in dat ik het zo laag mogelijk moet houden en met weinig toch veel zou kunnen creëren. Hierdoor gaat de simulatie niet laggen en dat is juist nooit wat je wil in VR omdat dat duizeligheid erg kan versterken en het is natuurlijk niet fijn.
Ik weet nu ook dat ik goed moet oppassen voor mogelijk nieuwe mensen die nieuw zijn voor VR. Dit houdt in dat ik zo zorgmogelijk om moet gaan om ervoor te zorgen dat de gebruiker zo soepel en relaxed de simulatie kan ervaren.
Conclusie
Welke technische limitaties kom ik tegen als ik aan het werk ga met de Oculus 1 of 2 voor een andaroid VR simulatie/game en wat kunnen problemen zijn voor gebruikers?
Ik moet goed oppassen met de aanpak van dit project. De VR headset heeft 2 camera's die al veel dingen zoals post processing en effecten limiteren of zelfs totaal uitzetten. Ik moet ook goed oppassen met de drawcalls van dit project. De juiste instellingen voor het perfecte plaatje waar ik naar moet streven is =
72 FPS for Oculus Quest 1
150-175 draw calls per frame
300,000 - 500,000 triangles per frame
Alle materialen moeten single pass zijn.
Dit betekent dat ik het project goed geoptimaliseerd moet houden door hier direct mee te beginnen aan het begin. Hierdoor hoef ik later niet dingen te veranderen en aan te passen. 3
Door mijn onderzoek en ondervragingen met experts heb ik uitstekend beeld gekregen van de aanpak van mijn project. Hierdoor stort het mij niet later in de andere phases omdat ik dit al zorgvuldig heb onderzocht en dus heb kunnen implementeren.
Validatie
Door het resulstaat weet ik nu goed waar ik op moet letten met het beginnen van het project. Hierdoor wordt het kwaliteit van mijn project erg verbeterd. Ik weet nu hoe ik ervoor kan zorgen dat mijn FPS rond 72 FPS blijft want als dat niet is, gaat het laggen en in VR zorg dat heel snel voor misselijkheid. Mijn taak is om ervoor te zorgen dat de gebruiker de simulatie goed en zonder problemen ervaart.
Vervolgstap
Wanneer ik het project ga opstarten ga ik goed aan deze conclusies houden zodat ik zo min mogelijk hindering ga verlopen later in het project. Nu ga ik me focussen op andere aspecten waar ik vragen nog in heb en doorwerken aan het design.