Advertentie

Virtual Reality is een grote vlucht nemen Waarom Virtual Reality-technologie je in vijf jaar tijd zal verbazenDe toekomst van virtual reality omvat het volgen van hoofd, oog en expressie, gesimuleerde aanraking en nog veel meer. Deze geweldige technologieën zijn binnen 5 jaar of minder voor u beschikbaar. Lees verder - Valve, HTC, Samsung en Facebook verzenden in de nabije toekomst allemaal hoogwaardige virtual reality-hardware. Aan de softwarekant ontwikkelen tientallen grote studio's zich voor de nieuwe hardware, en ze geven allemaal vrijelijk toe dat ze geen idee hebben wat ze doen.

Deze handleiding kan als gratis pdf worden gedownload. Download nu aan de slag en maak nu gratis Virtual Reality-spellen in Unity 5. Voel je vrij om dit te kopiëren en te delen met je vrienden en familie.

Het is net als de begindagen van DOOM en Wolfenstein helemaal opnieuw. Niemand weet hoe een goede VR-game eruit ziet, en het veld staat open voor indie-studio's om grote spelers te worden. Als je wilt

instagram viewer
videogames maken Begin in een mum van tijd met het maken van games met Unity3D Free Lees verder , is dit misschien wel de beste kans die je ooit zult hebben om een ​​naam voor jezelf te maken.

Stel dat u mee wilt doen. De tools zijn gebruiksvriendelijker dan ooit en ze zijn bijna allemaal gratis. Maar waar begin je? Deze gids biedt u alle tools en informatie die u nodig hebt om aan de slag te gaan - helemaal gratis.

Klaar? Laten we beginnen.

Wat je nodig hebt:

Om aan de slag te gaan met het maken van VR-games, heb je maar drie dingen nodig:

  • Ten eerste heb je een VR-headset nodig. De beste algemeen beschikbare optie op dit moment is de Oculus Rift DK2, die je kunt kopen hier voor $ 350.
  • Ten tweede heb je een redelijk capabele gaming-pc nodig. VR is ongeveer drie keer zo intensief als normaal pc-gamen, dus je wilt een krachtige CPU en kaart. Oculus raadt een i5 aan, een GTX 970 of gelijkwaardig, en acht gigabytes RAM.
  • Een recente versie van Windows 7, 8 of 10.

Afgezien daarvan is al het andere dat u nodig heeft gratis. Wat software betreft, gebruiken we:

  • Unity 5 Personal Edition
  • De GIMP (GNU Image Manipulation Program)
  • De SteamVR Unity-plug-in
  • De Primitive Plus Unity-plug-in
  • De Oculus Windows Runtime

Uw tools instellen

Laten we eerst beginnen met alles geïnstalleerd te krijgen. Download en voer de installatieprogramma's uit voor Unity en GIMP GIMP: een snelle doorloop van ieders favoriete Open Source Image Editor Lees verder . Dit zou vrij duidelijk moeten zijn. Wanneer u Unity voor het eerst opent, wordt u gevraagd een account aan te maken: doe dit en vergeet niet uw gebruikersnaam en wachtwoord te onthouden.

Maak binnen Unity een nieuw project (zorg ervoor dat u een "3D" -project maakt - niet "2D"). Stel de projectdirectory in op Mijn documenten / Mijn project.

primitiveplusplugin

Gebruik nu uw browser om de Unity Asset Storeen log in met dezelfde inloggegevens. Dit geeft u toegang tot tools en bronnen voor ontwikkelaars. Gebruik de Primitive Plus- en SteamVR-links hierboven, zoek de pakketten en klik op de knop 'Openen in eenheid' in de linkerbovenhoek. Omdat dit gratis middelen zijn, hoeft u er niet voor te betalen - andere zijn mogelijk niet gratis, dus wees voorzichtig. Volg de prompts die verschijnen en importeer deze pakketten in Unity. U zou nieuwe mappen moeten zien onder het submenu 'Project'. Het kan even duren voordat ze zijn gedownload, dus wees geduldig en sluit Unity pas af als ze klaar zijn.

steamvrplugin

Scripting in eenheid

Unity is uiterst eenvoudig te gebruiken als je ooit eerder hebt geprogrammeerd. Als u niet bekend bent met C #, breng dan wat tijd door om vertrouwd te raken met de syntaxis (probeer dit uitstekend interactieve tutorial). Als je nog nooit eerder hebt geprogrammeerd, doe dan ook deze stap en besteed dan wat tijd aan het puzzelen op Project Euler. Dit zal u helpen vertrouwd te raken met de soorten problemen die u bij het programmeren zult aanpakken en met het soort probleemoplossende vaardigheden dat u nodig heeft.

Zodra je je comfortabel voelt bij het oplossen van problemen met C #, raad ik aan wat tijd te besteden aan het verkennen van Unity met behulp van hun uitstekende tutorials voor beginners. Je kunt ook onze eigen gebruiken spoedcursus naar Unity Een spel programmeren met Unity: A Beginner's GuideIn het evoluerende landschap van indie-game-ontwikkeling is Unity een soort de-facto-standaard geworden: de lage kosten, het gebruiksgemak en de brede functieset maken het ideaal voor snelle game-ontwikkeling. Lees verder . Ik zal een korte uitleg geven van alle componenten die ik gebruik, maar er is veel waardevolle informatie die je goed van pas zal komen als je grotere projecten probeert.

Om een ​​Unity-script te gebruiken, hebt u eerst een object nodig om het aan toe te voegen. In de editor kunt u op drie manieren 3D-objecten maken.

  • Je kunt ze importeren als onderdeel van een pakket.
  • U kunt de bestanden naar uw map Mijn project / middelen slepen.
  • Je kunt ze in de editor maken via het GameObject-menu bovenaan het scherm - hiermee kun je eenvoudige primitieve vormen maken zoals kubussen en bollen, maar ook tekst en deeltjes.

Als je ze importeert of sleept naar de middelenmap, worden ze weergegeven in het subvenster 'Project'. Je kunt ze in het spel plaatsen door het tabblad ‘Scène’ te selecteren en er naartoe te slepen. Je zou ze dan in de wereld moeten zien verschijnen. Met de bedieningsknoppen in de linkerbovenhoek kunt u ze naar wens schalen, roteren en positioneren. Objecten kunnen aan elkaar worden 'gekoppeld' (waardoor ze roteren en samen bewegen) door hun namen naar elkaar te slepen op het tabblad 'Hiërarchie'.

UI

Zodra een object zich in de scène bevindt, kunt u er een of meer scripts aan koppelen. Deze scripts brengen het object tot leven. Ze laten wapens schieten, kogels bewegen en personages lopen en praten.

Om een ​​script toe te voegen, selecteert u het object dat u wilt bedienen op de tabbladen ‘Scène’ of ‘Hiërarchie’. Het tabblad 'Inspector' wordt gewijzigd om alle componenten weer te geven die aan het betreffende object zijn bevestigd. Een typisch object ziet er ongeveer zo uit en bevat een paar elementen:

  • Een meshfilter laat de game-engine weten welke vorm het object heeft.
  • Een renderer tekent het object daadwerkelijk op het scherm.
  • Een Rigidbody laat de fysica-engine weten dat het object bestaat en definieert de eigenschappen ervan.
  • Een Collider definieert de fysieke grenzen van het object: je kunt natuurkundige berekeningen goedkoper maken door een complex object een simpele collider te geven, zoals een doos of een bol.
addcomponent

Vanaf het inspecteurstabblad kunt u een nieuw script toevoegen met de knop ‘Component toevoegen’ onderaan. Vanaf hier kunt u een script toevoegen dat u al heeft gemaakt, of u kunt een nieuw script maken. Verander de taal in ‘C #’, voer de gewenste naam in en druk op ‘create’. Hierdoor wordt een nieuw (leeg) script aan het object toegevoegd. Als u dubbelklikt op de naam van het script op het tabblad Inspector, wordt het script geopend in MonoDevelop, de code-editor van Unity.

monodevelop

In je nieuwe bestand zie je een ‘Start’ en ‘Update’ functie. ‘Start’ wordt uitgevoerd wanneer het object voor het eerst wordt gemaakt. Doe daar wat je nodig hebt. ‘Update’ voert elk frame uit en is waar de meeste logica naartoe zou moeten gaan.

Om toegang te krijgen tot de componenten van het object, typt u 'gameObject. Renderer, ‘‘ gameObject.rigidbody ’, enz., Afhankelijk van welk element je wilt bedienen. Openbare variabelen die vóór de 'start'-functie zijn gedeclareerd, zijn zichtbaar in de editor, waardoor ze gemakkelijker kunnen worden aangepast. Voor meer informatie over de interactie met verschillende systeemelementen, bekijk de Unity handleiding.

Dit is een eenvoudig script dat ik heb gemaakt dat ervoor zorgt dat een object ritmisch uitzet en samentrekt, gebaseerd op een sinusgolf. Maak een kubus in Unity, voeg een script toe en kopieer het script naar de 'Update'-methode. Nadat je het hebt opgeslagen en op de ‘play’ knop in de editor hebt gedrukt, zou je de kubus moeten zien uitzetten en krimpen. Zorg ervoor dat het 'camera'-object zo is geplaatst dat het het object kan zien!

springkussen

VR-modus inschakelen

Nu we een eenvoudige Unity-scène hebben opgezet, kunnen we deze laten weergeven op je VR-headset. We gebruiken de SteamVR-plug-in, die wordt weergegeven naar zowel de Oculus Rift als de HTC Vive wanneer deze uiteindelijk wordt uitgebracht. Het is een gemakkelijke manier om voor beide te ontwikkelen.

Ga op het tabblad 'Project' naar de SteamVR-map en open de submap 'prefab'. U ziet verschillende entiteiten die u kunt gebruiken. Sleep de prefabs ‘CameraRig’ en ‘SteamVR’ naar de scène. Deze zijn al ingesteld met alles wat je nodig hebt. Verplaats ze naar je scène (op hetzelfde punt gepositioneerd). Verplaats ze zodat ze de kubus kunnen zien. Verwijder nu de originele (niet-VR) camera-objecten. Als er meer dan één actieve camera in een scène is, wordt er een fout veroorzaakt, omdat Unity niet weet welke je wilt gebruiken.

Nu, als u dat nog niet heeft gedaan, installeert u de Oculus Windows Runtime, en sluit uw DK2 aan.

Herstart je computer. In het systeemvak zie je het Oculus eye-logo. Als u erop klikt, krijgt u de optie om de selector ‘Weergavemodus’ en het configuratiehulpprogramma te openen. Stel de weergavemodus in op 'Direct'. Open vervolgens het Oculus-configuratieprogramma. Controleer of je de demoscène kunt zien. Als dit niet lukt, los dit dan op voordat u doorgaat.

r / Oculus is een goede bron voor dit soort dingen. De demoscène moet soepel verlopen en de rotatie en positie van je hoofd volgen, zonder schokkerigheid of dubbele beelden.

demoscene

Als het niet goed werkt, controleer dan of je camera je kan zien en of hij correct is aangesloten. Controleer ook of uw videokaart krachtig genoeg is en of er geen intensieve applicaties op de achtergrond actief zijn.

Zodra je hebt geverifieerd dat je VR-headset correct werkt, open je Unity en druk je op de afspeelknop. De eenvoudige scène die we hebben ingesteld, wordt weergegeven op je VR-headset! Gefeliciteerd: je hebt zojuist je eerste VR-demo gemaakt!

Je eerste VR-game maken

Tot nu toe zo eenvoudig, maar dit is geen bijzonder indrukwekkende demo. Om je een idee te geven van hoe het is om een ​​meer betrokken project te maken, ga ik je door het proces van het maken van een volledig VR-arcadespel leiden dat ik al heb voltooid, getiteld AsteroidVR.

screenshot

Dit is geen Skyrim, maar het is een volledige game die je kunt spelen, met werkende graphics en een complete set mechanica. Het kostte een paar dagen om te maken en het gaat om het niveau van de proof-of-concept-demo's die je veel gaat maken terwijl je experimenteert met verschillende spelstijlen.

Het spel is eenvoudig genoeg: je bestuurt een schip dat vastzit in een grote kamer. Het vaartuig beweegt met een constante snelheid. Je kunt sturen en schieten, maar niet stoppen. De kamer zal zich langzaam vullen met willekeurige 'asteroïden', die doelloos door de kamer zullen stuiteren. Het is jouw taak om te voorkomen dat je zo lang mogelijk tegen deze asteroïden of de muren botst. Je kunt asteroïden beschieten, maar je munitie laadt langzaam op als je leeg raakt.

Dat is het basisidee. Laten we beginnen. Omdat dit slechts een demo is, maken we onze middelen uit eenvoudige primitieven zoals kubussen en bollen (met behulp van het Primitive Plus-middel).

Schip

Dit is het schip dat ik heb gemaakt.

schip

Ik geef toe, het lijkt veel op een vorkheftruck, maar het is goed voor deze demo.

Zorg ervoor dat u bij het bouwen van de cockpit enkele voor de hand liggende structuren in het gezichtsveld van de gebruiker plaatst, vooral in de periferie. Dit helpt bewegingsziekte te voorkomen door de gebruiker enkele vaste elementen te geven, waardoor het gevoel dat ze bewegen wordt verminderd. Dat maakt het gemakkelijker voor hun hersenen om te gaan met het gebrek aan beweging dat door hun binnenoren wordt gemeld.

Ik moest experimenteren met verschillende cockpitconfiguraties voordat ik er een vond die me niet ziek maakte. Voeg bij twijfel meer stutten toe en verplaats de camera terug. Wees voorzichtig met schaal! Eén eenheid in Unity is één meter in VR, dus houd de grootte van de elementen die je maakt in de gaten. Het is gemakkelijk om objecten te maken die belachelijk groot of belachelijk klein zijn in VR, en de resultaten kunnen verontrustend zijn.

Als je klaar bent met het bouwen van je schip, maak dan een kubus eromheen en zorg ervoor dat alle primitieven van het schip eraan voldoen. Dit zorgt voor de aanvaringskast en het bewegingscentrum. Voeg een "rigidbody" toe aan de buitenkubus en schakel de renderer uit (door deze uit te vinken in de inspecteur). Zorg ervoor dat de bak zo is ingesteld dat ‘kinematisch’ en ‘gebruik zwaartekracht’ beide zijn uitgeschakeld. Voeg andere starre lichamen toe aan elk van de scheepsprimitieven, deze keer als 'kinematisch', maar schakel 'gebruik zwaartekracht' uit.

Verplaats de ‘CameraRig’ en ‘SteamVR’ objecten in de cockpit en plaats ze waar het hoofd van de gebruiker zich in het schip moet bevinden. Ik heb een ander gratis Unity-item (een humanoïde robot) gebruikt om ervoor te zorgen dat de positie correct is uitgelijnd. Koppel ze aan de buitenkubus - hierdoor bewegen ze met het object mee.

Nu om het schip te scripten! Dit zijn de twee scripts die ik heb gemaakt: Vehicle Controller en Vehicle Destroyer. De eerste leest de invoer van de gebruiker en geeft stoten aan het schip, waardoor het beweegt. De tweede detecteert wanneer het schip in botsing komt met iets met de tag 'rock' en beëindigt het spel. Als een leuk extraatje breekt het ook het schip uit elkaar in zijn componenten, zodat je ze tijdens een aanvaring weg kunt zien vliegen. Het script creëert een reeks objecten die je moet invullen met alle primitieven in het schip, in de editor.

Het script geeft ook enkele instructies weer die verschijnen als je sterft. Maak een TextMesh GameObject en stel deze in om te zeggen: 'Je bent dood! Schiet om opnieuw te starten! ' Plaats deze TextMesh in de cockpit, zet hem op het schip en schakel de renderercomponent uit. Sleep het vervolgens naar de "instructie" -variabele van het VehicleDestroy-script in de infovenster. Deze tekst is normaal gesproken onzichtbaar, maar verschijnt opnieuw wanneer je sterft.

Asteroïde

Vervolgens gaan we onze asteroïden maken. Hier is de asteroïde waarmee ik eindigde, gemaakt van een paar primitieven die aan elkaar vastzaten, en de standaard arcering. Niets te ingewikkeld, maar het ziet er goed uit.

Asteroïde

Ik heb een rigide body toegevoegd en deze als een 'steen' getagd. Als je niet bekend bent met het eenheidstagsysteem, bekijk dan de relevante man-pagina. Met tags kunt u in feite speciale eigenschappen aan objecten toewijzen, die kunnen worden gedetecteerd tijdens botsingen, waardoor scripts weten waar ze mee omgaan. In dit geval zorgt de tag ervoor dat het scheepsobject detecteert dat het is geraakt door iets gevaarlijks.

Nu om de asteroïde te schrijven. Het script hier is "AsteroidInit", dat twee dingen doet.

  • Ten eerste worden de asteroïden een beetje willekeurig gemaakt om ze er anders uit te laten zien, en ze krijgen allemaal een kick in een willekeurige richting.
  • Ten tweede detecteert het of de asteroïde is geraakt door iets met de tag 'bullet'. Als dat zo is, activeert het een deeltjesemitter die ik aan de asteroïde heb bevestigd en vernietigt het het originele object.

Arena

Super goed! De twee basiselementen van het spel zijn aanwezig. Vervolgens de arena. Het kan elke gewenste vorm hebben, maar zorg ervoor dat het groot is. Draaien in kleine cirkels maakt mensen vaak ziek. Rechtdoor vliegen is relatief onschadelijk. Label alle muren met 'rots' om ervoor te zorgen dat het schip wordt vernietigd als het erin vliegt. Hier is de arena waarmee ik eindigde:

asteroïde kamer

Je zult merken dat de muren een eenvoudige tijdelijke aanduiding hebben die ik in de GIMP heb gemaakt. Voor het grootste deel ontwierp ik de game met een textuurloze esthetiek voor eenvoud. Ik merkte echter dat ik het moeilijk kon zeggen wanneer ik bijna tegen een muur botste, dus ze krijgen texturen voor gameplay-doeleinden. Ik heb ook een deeltjesemitter aan de arena toegevoegd en deze gevuld met zwakke, langlevende, statische deeltjes. Dit maakt het gemakkelijker om te zien hoe je beweegt wanneer je niet in de buurt van een object bent. Gelukkig is de arena behoorlijk passief, dus het heeft zelf geen scripts nodig.

Maak ten slotte een primitief (ik gebruikte een holle cilinder) en plaats deze tegen één muur.

asteroidgun

Dit wordt je asteroïde spawner. Voeg dit script eraan toe. Je zult merken dat dit script een "Asteroid" GameObject-variabele declareert, die zichtbaar zou moeten zijn in de editor. Sleep je asteroïde object erop in de editor. Hierdoor kan het een onbeperkt aantal asteroïden voortbrengen, met een snelheid van één per seconde, waardoor het spel een langzaam escalerende moeilijkheidscurve krijgt. Plaats uw originele asteroïde heel ver weg, om te voorkomen dat deze per ongeluk wordt vernietigd of problemen veroorzaakt.

HUD en Gun

Op dit moment is de meest basale vorm van het spel in wezen speelbaar. Nu voegen we enkele secundaire functies toe die het wat meer diepte geven. Dit script, gekoppeld aan een "TextMesh", houdt bij hoe lang je leeft. Een tweede script praat met een bestand om uw hoge score te bepalen, die door de voertuigbeheerder naar het bestand wordt geschreven wanneer u opnieuw opstart. Nu heb je een eenvoudig scorebordsysteem, waarmee de speler een doelpunt krijgt. Veranker deze meshes in de cockpit waar ze gemakkelijk zichtbaar zijn.

cockpitHUD

Ten slotte moeten we de wapens van de gebruiker implementeren. Voeg een "gun" -object toe aan het schip (het hoeft niet ingewikkeld te zijn) en sleep dit script erop. U moet een opsommingsteken-object koppelen, dit kan elk object zijn met een star lichaam en de ‘bullet’ -tag. Maak het felgekleurd, zodat het zichtbaar is. Nogmaals, plaats het ver weg, zodat het geen interactie heeft. Ten slotte moet je een munitie-display maken. Voeg dit script toe aan een ander tekstnetwerk en veranker het in de cockpit waar het gemakkelijk te zien is.

Scherpstellen

Dat is het eigenlijk wel! Op dit punt zijn alle basiselementen van het spel klaar. Nu is het tijd om te testen. Je kunt het groottebereik voor de asteroïden, de vorm en grootte van de arena, de snelheid van het schip, de hoeveelheid munitie, de oplaadsnelheid en de cooldown wijzigen. Je kunt experimenteren met de manier waarop het schip omgaat. Als je wilt, en wat 3D-modelleervaardigheid hebt, kun je zelfs mijn programmeerkunst vervangen door echte activa en er een gepolijst spel van maken. Het belangrijkste is om veel te experimenteren en erachter te komen wat goed voor je voelt en comfortabel is voor testers (bij voorkeur testers die nieuw zijn in VR en nog geen ijzeren maag hebben ontwikkeld).

Als je het hele Unity-project wilt zien en ermee wilt rommelen, kun je het downloaden hier. Als je alleen mijn versie van de laatste game wilt spelen, kun je deze downloaden hier.

Je eigen demo's bouwen

Als je je eigen tutorial volgt en in de documenten duikt wanneer je iets vindt dat je niet begrijpt, zul je eindigen met een behoorlijk goede basis van het maken van eenvoudige VR-games in Unity. Als u verder wilt gaan, bent u hier goed toegerust voor.

Dat gezegd hebbende, VR-game-ontwikkeling is heel anders dan traditionele game-ontwikkeling, dus ik ga geven wat algemeen advies voor het ontwerpen van VR-ervaringen die comfortabel zijn en optimaal profiteren van de medium.

Beweging

Respecteer allereerst de beweging van het hoofd van de gebruiker. Schaal het niet, vervorm het niet, verander het gezichtsveld of knoei niet met de basis. Oculus en Valve hebben veel moeite gedaan om dit spul te verfijnen om mensen niet ziek te maken. Tenzij je wat perceptuele psychologen bij de hand hebt, ben je niet gekwalificeerd om ermee te knoeien. Niet! Pas ook op dat u deze nooit uitschakelt. Maak geen menu's zonder head-tracking. Niets maakt je sneller ziek dan een enorm voorwerp dat tien seconden of langer aan je hoofd blijft plakken!

Wees in dezelfde geest voorzichtig met beweging. De belangrijkste factor die mensen ziek maakt, is wanneer hun ogen beweging waarnemen die hun binnenoor niet waarneemt. Houd de beweging in het algemeen langzaam en gestaag. Versnellingen moeten onmiddellijk plaatsvinden en rotatie moet tot een minimum worden beperkt. Wanneer rotatie moet plaatsvinden, geef de gebruiker dan vaste referentiepunten in zijn perifere zicht. Als je kunt, bouw dan games die helemaal zonder beweging plaatsvinden. Er zijn VEEL coole dingen die je in een enkele kamer kunt doen, of kleine voorwerpen kunt gebruiken (denk na Real Time Strategy-spellen 4 Uitstekende realtime strategiespellen die je goedkoop kunt spelenHet realtime strategiegenre is tegenwoordig een van de hoofdbestanddelen in gaming. Andere genres, zoals first person shooters en rollenspellen, zijn doordrenkt met honderden verschillende titels, maar de realtime strategie houdt niet de ... Lees verder op de schaal van plastic legermannen), en het zal een stuk eenvoudiger zijn om deze ervaringen comfortabel en aangenaam te maken.

UI

Veel mensen willen, wanneer ze VR-content gaan ontwikkelen, automatisch dingen aan het hoofd van de gebruiker hechten, zoals militaire Heads Up Displays. Dit blijkt helaas niet zo goed te werken. Wanneer je ogen op iets ver weg in de wereld zijn gericht, worden objecten dicht bij je hoofd een onscherpe puinhoop van pixels. Bovendien zorgt het focussen op zeer nabije objecten voor vermoeide ogen.

Om dit te voorkomen, probeer je gebruikersinterface zoveel mogelijk ter wereld te brengen. Kijk voor inspiratie naar spellen als Dead Space. Je zult merken dat in AsteroidsVR, de cemo hierboven, de hele gebruikersinterface is verankerd in de cockpit. Omdat het zich in de ruimte om je heen bevindt, is alle gebruikersinterface logisch en comfortabel om naar te kijken.

Wees voorzichtig met tekst. Huidige VR-headsets hebben een vrij lage resolutie, vooral als je rekening houdt met hoeveel van je gezichtsveld ze beslaan. Dat betekent dat tekst behoorlijk moeilijk te lezen kan zijn. Probeer er zo min mogelijk op te vertrouwen. De tekst die u heeft, moet groot genoeg zijn om onder normale kijkomstandigheden goed leesbaar te zijn. Onthoud dat sommige van uw spelers oud of slechtziend kunnen zijn! Fout aan de kant van te groot.

Graphics

Onthoud dat VR erg intensief is. De DK2 moet draaien op 1080p, in 3D, op 75 fps. Zowel de consumenten-Rift als de HTC Vive zullen op nog hogere resoluties en framerates draaien. Als u deze framesnelheden niet haalt, leidt dit tot flikkerend dubbel zicht. Het is buitengewoon verontrustend en een enkele reis naar desoriëntatie en vermoeide ogen.

Daarom moet u veel voorzichtiger zijn met de prestaties dan u normaal zou doen. Dat betekent dat polytellingen laag worden gehouden en dure grafische effecten tot een minimum worden beperkt. Gebruik eenvoudige modellen, beperk het aantal lampen tot een minimum, schakel dynamische schaduwen uit en probeer zoveel mogelijk objecten hetzelfde materiaal te laten gebruiken. U moet ook objecten die niet veranderen of bewegen, markeren als "statisch" in de infovenster. Dat maakt het voor Unity gemakkelijker om ze samen te voegen en prestaties te besparen. Als je kunt, maak je deze beperkingen onderdeel van je game-ontwerp door een cartoonachtige esthetiek voor je game te kiezen. Over het algemeen, als je een visueel effect kunt elimineren zonder het spel te beschadigen, doe het dan.

De enige uitzondering op deze vuistregel is anti-aliasing. Aliasing (een gekarteld artefact veroorzaakt door de discrete aard van computergraphics) komt in elk oog anders voor, wat leidt tot een onaangename afbraak van het 3D-effect, wat oogvermoeidheid kan veroorzaken. Gebruik zoveel mogelijk anti-aliasing als je je kunt veroorloven (ik raad MSAA aan) en probeer texturen met hoogfrequente visuele details te vermijden (zoals gebladerte, fijne roosters of complexe texturen die ver weg zijn geplaatst).

Sommige visuele effecten passen over het algemeen ook slecht bij VR, zelfs als je ze kunt betalen.

  • Wees voorzichtig met nabewerkingseffecten zoals bloei, wat kan resulteren in hun eigen stereoverschillen.
  • Houd er ook rekening mee dat 3D sommige veelvoorkomende visuele cheats er extreem slecht uit laat zien. Normale kaarten, een hoofdbestanddeel van videogames, zien er volledig plat uit wanneer ze van dichtbij in VR worden bekeken. Billboard-sprites (van het soort dat gewoonlijk wordt gebruikt voor explosies) zien er ook plat uit en kunnen de onderdompeling echt doorbreken. Evenzo zien veel van de op sprite gebaseerde technieken die worden gebruikt om puin of vegetatie te maken er plat en verkeerd uit.
  • Wees tenslotte op uw hoede voor transparante objecten. Moderne rendering-engines hebben moeite om de diepte bij te houden wanneer u veel transparante objecten in dezelfde scène heeft. Dit wordt extreem schokkend in VR. Probeer het aantal transparante objecten tot een minimum te beperken en vermijd scenario's waarin u het ene transparante object door het andere kunt zien.

Houd dit allemaal in gedachten wanneer je kunstitems maakt, en het zal je in de regel veel pijn besparen.

Als je merkt dat je game na het uitschakelen van al deze grafische effecten er een beetje saai uitziet, probeer dan lichte kaarten en nep-omgevingsocclusie te gebruiken. Lichtkaarten bakken verlichting direct in een textuurlaag op de kaart, die er geweldig uitziet voor alles dat niet beweegt en dat veel diepte en stevigheid aan je wereld kan toevoegen. Overweeg voor dynamische objecten (zoals karakters) om "shadow blob" -texturen te gebruiken om omgevingsocclusie te creëren. Het is niet helemaal realistisch, maar het doet veel om ze in de wereld te verankeren, en het is extreem grafisch goedkoop!

Naarmate de tijd vordert, zijn dit soort hacks minder nodig, maar voor nu moet je er zoveel mogelijk van profiteren om prestaties te besparen.

Experimenteer vroeg en vaak

Het belangrijkste advies dat ik heb, is je vooroordelen los te laten. VR is niet precies wat we allemaal dachten dat het in de jaren 90 zou zijn. De realiteit heeft bewezen vele voordelen en beperkingen te hebben die niemand had kunnen voorzien. Wat geweldig klinkt op papier (zoals VR Halo) blijkt in de praktijk een desoriënterende, misselijkmakende puinhoop. Enkele van de best ontvangen VR-ervaringen Oculus Rift VR-simulaties die je moet zien om te gelovenJe hebt de Oculus Rift gezien, maar je hebt een aantal van de waanzinnige toepassingen niet gezien. Bekijk deze geweldige Oculus Rift-demo's van over de hele wereld. Lees verder zijn echt rare dingen geweest Job Simulator, een sandbox-spel dat zich afspeelt in een keuken.

VR is een totaal nieuw medium en niemand begrijpt de regels nog helemaal. In traditionele videogames weten we vrijwel hoe we een FPS, een RPG en een cover shooter moeten maken. Deze basisgenres zijn genageld. Er zijn best practices. Elke nieuwe game die wordt gemaakt, is een stapsgewijze verbetering, maar het is meestal geen nieuw genre. In VR zijn er niets MAAR nieuwe genres. De basis van het medium is nog niet eens uitgevonden. Niemand weet wat ze doen.

Dit is ongelooflijk spannend, maar het betekent wel dat je flexibel moet zijn. Als je een geweldig idee hebt, doe het dan! Direct! Laat een prototype zo snel mogelijk afmaken en kijk of het werkt. Maar wees bereid om het experiment te laten mislukken. Als je idee niet leuk is of je testers ziek maakt, gooi het dan weg en probeer iets nieuws.

Maak elke week of zelfs elke dag een nieuw spel totdat je goud bereikt. Hoe meer mislukte prototypes je maakt, hoe groter de kans dat je iets echt cools uitvindt. Maak rare spelletjes. Maken werkelijk rare spelletjes. Niemand weet wat wel en niet werkt, dus werp een breed net uit. Je zult misschien verrast zijn door wat geweldig blijkt te zijn.

Dus ga erop uit, maak wat spelletjes - en vooral veel plezier!

Andre, een schrijver en journalist gevestigd in het zuidwesten, blijft gegarandeerd functioneel tot 50 graden Celcius en is waterdicht tot een diepte van twaalf voet.