[VR-Game] De Razer Hydra

Door Strykeforce op woensdag 14 mei 2014 21:55 - Reacties (5)
Categorie: Virtual Reality, Views: 2.848

In de vorige blog (link) heb ik geschreven dat ik zoveel mogelijk mijn voortgang met de Unreal Engine 4 (UE4) zou proberen bij te houden. We zijn alweer een aantal dagen verder, uiteindelijk lijkt het niet alsof er veel gedaan is maar ik probeer de updates zo klein mogelijk te houden om "walls of text" te vermijden. Deze blog post staat dan ook in het teken van de eerste stappen die ik heb genomen met de Razer Hydra controller in combinatie met UE4.

Om eerst even te beginnen met de controller, de Razer Hydra. Wanneer de controller werkt dan is het best wel een cool ding, hij reageert 1 op 1 met je bewegingen zonder enige merkbare vertraging. Echter werkt hij niet altijd naar behoren, ik heb namelijk vaak opstart problemen met de controller. 1 van de hydra's geeft bijvoorbeeld ineens aan dat deze naar een willekeurige kant wijst terwijl dat niet zo is. Het apparaat lijkt daarom een beetje last te hebben van kinderziektes, het magnetische veld dat het basis station uitzendt heeft nog wel eens last van tijdelijke storingen. Wanneer ik echter een lange tijd met de controller bezig ben lijken de problemen zich minder voor te doen en kan ik over het algemeen er goed mee werken.

De Unreal Engine 4 werkt echter als een trein en het is heerlijk om er mee te werken! Voordat ik echt ben begonnen heb ik wat video's bekeken over het Blueprint systeem op het YouTube kanaal van UE4. Het doel voor nu was om een werkend pistool in de engine te hebben dat ook echt iets kan afvuren. Het pistool moet vrij kunnen bewegen in de wereld via de Hydra controller(s) zodat ik dit later kan gebruiken in een potentiŽle game in Virtual Reality.

Gelukkig heeft een community member een plugin gemaakt voor de Razer Hydra, de plugin is nog niet helemaal af en is daarom nog in ontwikkeling. Er zitten namelijk nog wat foutjes in die het niet altijd even makkelijk maken. De rotatie van een controller staat nog niet 1 op 1 met de rotatie in de engine, de verschillende rotatie assen zijn door elkaar gehaald en dus was het even stoeien om het goed te krijgen. De plugin maakt het overigens alleen mogelijk om de hydra controller uit te lezen, de rest moet je zelf doen.

Verder ben ik ook positief verrast wat je allemaal wel niet kan doen met Blueprints. Het systeem is voor een programmeur gelukkig heel makkelijk om aan te wennen, veel methodieken en denkwijzen zijn ook van toepassingen op blueprints waardoor ik er snel mee bekend ben geworden en er dan nu ook goed mee overweg kan. Er is nog wel een hoop te leren!


Blueprint om het pistool te bewegen, links nog een rotzooitje en rechts de opgeruimde versie en de verder ingezoomde versie

Blueprint stelt me in staat om bijvoorbeeld op het speler-object een interface toe te voegen die het huidige wapen teruggeeft. Zodoende kan ik van buiten af het wapen opvragen om het vervolgens met de Hydra een rotatie en positie te geven. Ook kan er binnen een blueprint functions aangemaakt worden. Binnen een function kan je een herbruikbaar stuk blueprint zetten, net zoals je in programmeertalen methods hebt. Ook zijn er comments toe te voegen aan blokken binnen in blueprints om het nog overzichtelijker te maken. Veel overeenkomsten uiteindelijk met "normaal" programmeren dus, dat het allemaal visueel is zorgt voor een leuke afwisseling.


Een interface en een function

Het is me dan ook binnen een korte tijd gelukt om een werkend en beweegbaar pistool te maken in de engine zonder een regel code zoals hier onder te zien is (na 4 seconden reset ik de controller zodat deze gecalibreerd staat op het midden van het scherm). Ook nog even voor de duidelijkheid: er is geen geluid.


Ik zal me de komende tijd richten op een non-VR control-scheme voor het pistool, nog steeds wel met de hydra en misschien de optie voor muis en toetsenbord. Een vast doel heb ik niet, ik zal voor nu kijken hoe ver ik kan komen met een soort van "on-rails" shooter idee dat ik heb voor VR. Hier zullen genoeg elementen in zitten waardoor ik alvast goed bekend kan raken met de Unreal Engine 4. Aangezien dat het echte doel is voor nu.

Tot de volgende blog!, feedback en reacties zijn zeer welkom!

Volgende: It's happening!! 07-'14 It's happening!!
Volgende: [VR-Game] De aanloop 05-'14 [VR-Game] De aanloop

Reacties


Door Tweakers user Consigliere, donderdag 15 mei 2014 07:52

Heb er de ballen verstand van..

maar ziet er gaaf uit man !

Door Tweakers user Strykeforce, vrijdag 16 mei 2014 08:39

Consigliere schreef op donderdag 15 mei 2014 @ 07:52:
Heb er de ballen verstand van..

maar ziet er gaaf uit man !
Bedankt! Ik heb geprobeerd om niet te veel technische mumbo jumbo er in te zetten om het voor iedereen nog enigszins begrijpbaar te houden ;)

Door Tweakers user markdm, vrijdag 16 mei 2014 09:06

Hier heb je al een trouwe volger van je blog zitten! Ik ben erg benieuw wat je allemaal gaat doen en ik vind het een heel interessant onderwerp.

Door rob, vrijdag 16 mei 2014 10:58

Kinderziektes? Haha, volgensmij vergeet jij een belangrijk onderdeel bij de hydra - de HemisphereTrackingMode - met 2 controllers naar de basis pointen, dan calibratie starten, dan zou hij het echt 6-dof moeten doen.

Ik heb zelf een integratie geschreven voor GM: https://www.youtube.com/watch?v=PqIVxAtAMNI

Sourcecode; https://github.com/RobQuistNL/GMHydra/

Door Tweakers user Strykeforce, vrijdag 16 mei 2014 11:18

rob schreef op vrijdag 16 mei 2014 @ 10:58:
Kinderziektes? Haha, volgensmij vergeet jij een belangrijk onderdeel bij de hydra - de HemisphereTrackingMode - met 2 controllers naar de basis pointen, dan calibratie starten, dan zou hij het echt 6-dof moeten doen.
Ik snap je punt maar het probleem is dat de hydra ook na calibratie in hun eigen motioncreater 2 net zo goed nog gaat trippen zo nu en dan, ik heb dus waarschijnlijk last van iets dat stoort maar ik ben er nog niet achter wat daarom noem ik de hydra nog niet 100% stabiel, opnieuw calibreren maakt op dat moment ook niks meer uit. Als ik dit elke dag heb is het naar mijn mening iets wat verbeterd moet worden in hun volgende versie (de STEM conroller), als dit een beetje mainstream wordt wil je niet dat iedereen het ding retour stuurt omdat er iets anders de controller verstoord.

Verder ben ik op dit moment ook nog afhankelijk van een plugin waarvan geen source code beschikbaar is en ook nog de nodige fouten in zitten (waar aan gewerkt wordt). Het is allemaal nog even niet optimaal ;)

Reageren is niet meer mogelijk