Devaaja avautuu: miten Fillarilla VR-sovellus tehtiin?

”Kehitys on nyt huimaa ja monet hankalasti toteutettavat asiat helpottuvat koko ajan.”

Kari-Pekka Lammi, kehittäjä, Leonidas Oy

Toteutimme Liikenneturvan Fillarilla-konseptiin yhdessä Rakka Creativen kanssa VR-sovelluksen, joka perustuu pelilliseen 360-videoon ja siihen merkittyihin hotspotteihin. Sovelluksen avulla 3.-6. -luokkalaiset opettelevat turvallista liikennekäyttäytymistä syksystä 2017 alkaen. VR-kehittäjämme Kari-Pekka Lammi kertoo, mitä hän projektin aikana on oppinut.

Harri: Sovelluksesta tehtiin kaksi versiota: Educa-messuilla tammikuussa 2017 esitelty messuversio sekä opetuskäyttöön päätyvä versio. Mitä opit projektista?

Kari-Pekka: Fillarilla tehtiin Samsung GearVR -laitteelle, jolloin saimme siitä kannettavan ja helposti messuille mukaan otettavan. Vive olisi vaatinut majakat ja tietokoneen. Projektin aikana tuli tutustuttua Oculuksen SDK:hon, millä tämä on tehty Gearille, ja opin, millaisia interaktioita Gearilla pystyy tekemään.

Fillarilla pohjautui hyvin paljon HMD:n kallistumaan. Se kertoo, mihin suuntaan käyttäjä katselee, mutta koska vielä puuttuu silmien seuranta, se ei kerro katseen kohdetta tarkasti. Arvioimme gyroskoopin avustuksella, mihin suuntaan katsotaan, eli missä kallistumassa puhelin tällä hetkellä on.

Periaatteessa käyttöliittymässä on yksinkertainen tapa aktivoida nappeja katseella. Siinä on tähtäin keskellä ja pystyt aktivoimaan hotspotteja pitämällä pään paikoillaan hotspotin kohdalla pari sekuntia. Tämän perusteella mittaamme, onko tiettyyn suuntaan katsottu riittävän pitkään, huomattu autoja tai mahdollisia muita liikenteen vaaratekijöitä.

Tulevaisuudessa, mitä nyt olen Foven eye trackingiä ja vastaavia kokeillut, niin saamme aikanaan vielä silmien liikkeet mukaan eli silmiä sulkemalla ja avaamalla voidaan tuoda lisää toiminnallisuuksia hands free -käyttöliittymään. Hienoja asioita on tulossa, ja innolla testaan, miten ne lähtevät toimimaan. Uskoisin, että tulevaisuudessa voimme katseella, silmien liikkeellä, pään kallistumisella ja äänellä saada paljonkin aikaan.

Oma hotspot-editori

Harri: Hotspotit on 360-videon päälle määriteltyjä alueita. Aluksi ne tehtiin koodin puolella, jossa katsottiin, että kun video on tietyssä kohdassa, niin katsottu alue aktivoitui. Loppua kohden teit siihen vielä Vivellä toimivan hotspot-editorin eli työkalun määrittämistä varten.

Kari-Pekka: Kun aloitin työt, tilanne oli hieman toisenlainen. Kehitys on nyt huimaa ja meillä on aika puolellamme. Monet vaikeat ja hankalasti toteutettavat asiat helpottuvat koko ajan. Kun Fillarillaa ruvettiin kehittämään, käytössäni oli ilmainen Unityn assetti, joka hyvin monella devaajalla taitaa ollakin.

Unitylle on kohta tulossa oma videoplayerinsä, jonka pitäisi tulla myös ilmaiseen versioon mukaan. Odotan sitä innolla. Ongelma oli siinä, että ilmaisversiossa ei ollut mitään hyvää tapaa pyörittää videota, joten jouduin käyttämään assettia, hyvää ja halpaa Easy Movie Texturea. Ongelma assetissa oli se, että kun yritin Unity-editorissa katsoa videota, se ei toiminut. Se piti aina kääntää ensin puhelimelle, että näin sen pyörivän. Muuten näin pelkkää mustaa. Tämä herätti haasteen, että miten saan hotspotit paikalleen. Aivan ensimmäisen demon Fillarillasta tein aivan sokkona, kolmessa päivässä. Se oli Proof of Concept -käyttöön tehty demo, eikä ihan niin tarkkaa, mutta saanen sanoa, että kyllä hatutti, kun aina joutui kääntämään paketin valmiiksi ja testaamaan, jaa tämä on vieläkin vinossa ja laitetaanpa tuonnepäin.

Minun oli tehtävä työkalu, johon käytin Viveä. Tällä työkalulla viimeistelin Fillarillan. Sillä pystyin luomaan itse hotspotit paikalleen, säätelemään niiden koon ja hieromaan ne oikein kunnolla paikoilleen ajoituksen kanssa ja edestakaisin, ja kun olin tyytyväinen, sijoitin ne lopputuotteeseen.

Harri: Kyseinen assetti ei toiminut GearVR:llä, ainoastaan Vivellä?

Kari-Pekka: Ajon aikana toimi nimenomaan Vivellä, ja video pyöri oikein, ja näin sen HMD:ssä. Nyt kun vaihdoimme assetin AV Prohon, niin video alkoi näkyä myös editorissa. Nyt avautui mahdollisuus myös Unityn omassa editorissa käyttää niitä samoja työkaluja ja hieroa hotspotti paikalleen. Työ helpottui ja oma työkalu ei ollut enää niin kriittinen tässä vaiheessa.

Unity, Easy Movie Texture ja AV Pro

Harri: Assettien hintaero?

Kari-Pekka: Easy Movie Texture oli halpa, 50 euroa, ja sitä voi vähän köyhemmällekin suositella. Se on palvellut hyvin ja jos on kiire devaamaan, niin sen voi kyllä hankkia. Tulevaisuudessa, jos Unitylle tulee oma movie player, niin voi olla, että näiden assettien aika on sitten ohi. Tulee natiivituki ja olen ainakin tyytyväinen, että 4K-videot tulee siihen mukaan, niin tämäkin muuttuu helpoksi. Mutta AV Pro on huomattavasti kalliimpi, taisi olla 450 euroa. Se oli silloin jo palkintoja saanut ammattilaisväline ja toimi nimenomaan editorissa.

Aika on rahaa, ja jos pitää kehittää jotain, niin kannattaa aina katsoa, mitä on tehty jo valmiiksi. Kannattaa miettiä Unity-lisenssiä ja assettikauppoja. Jos joku on tehnyt jo melkein sen, mitä tarvitset, niin ei ole todellakaan viisasta kehittää pyörää uusiksi, vaan ennemmin maksaa jopa huomattava hinta isotöisestä osuudesta, mikä tulee valmiina.

Unity-lisenssin nyrkkisääntö on, että voit tehdä sillä lähes mitä tahansa, mutta et voi kopioida sitä ja laittaa takaisin myyntiin omana assettinasi. Kun lataat jotain Unity-kaupasta, voit olla varma, että sinulla on lupa käyttää sitä. Unityllä on myös tarkat kriteerit, että mitä assetti saa sisältää, eli voit olla varma, että siellä ei ole takaovia, viruksia tai mitään muutakaan laitonta tai sellaista, mikä voisi aiheuttaa sinulle ongelmia.

Tätä ominaisuutta kannattaa ehdottomasti käyttää, koska sillä pystyy suht halvalla, nopeasti ja pienelläkin henkilömäärällä saamaan todella vaikuttavan näköistä aikaan. Tämä on ehdottomasti työkalun parhaimpia puolia ja sai minut innostumaan.

Sulje taustaprosessit!

Harri: Mitä opit 360-videoformaatista tai laitteiden tehosta?

Kari-Pekka: Niissä on rajoituksia. Easy Movie Texture tuki vain mp4:sta, joka oli yksi syy, miksi vaihdoimme AV Prohon. AV Prolla on myös paljon laajempi tuki useammalle alustalle. Ja kun kyseessä on VR-laitteet akuilla eli GearVR-laitteet, niin kannattaa aina muistaa, että mitä isompi, hienompi ja raskaampi video, niin se näkyy suorituskyvyssä ja kulutuksessa. Välillä joutuu vähän tasapainoilemaan ja tekemään kompromisseja, että mikä on lopputuotteen kannalta järkevin vaihtoehto. Nyt laitteet pystyvät jo hyvin mielekkäästi tarjoamaan alustan, millä voi vaarallisiakin asioita opetella turvallisesti, kuten liikennekäyttäytymistä.

Harri: Olemme soittaneet Leonidaksen playerillä useita tunteja pitkiäkin videoita ja huomanneet, että tätä laitteiden perisyntiä eli kuumenemista ei ole tapahtunut. Olemme voineet toistaa useamman tunnin ja akku on kestänyt hyvin. Mitä tässä on hyvä ottaa huomioon?

Kari-Pekka: Joo, testausten mukaan ideaalitapauksessa se taisi pyöriä yhdellä latauksella jopa 4,5 tuntia ja se on huima tulos. Olen ollut myös tilanteessa, jossa Leonidaksen Player on ylikuumentunut. Silloin selvisi, että siellä oli tausta-ajona kamera tai muista vastaavia taustaprosesseja päällä.

Yleensä demotessa on hyvä olla useampi laite mukana ylikuumenemisen varalta, niin pystyy lennossa vaihtamaan toiseen. Kun laitteita vaihtelee, niin siinä voi jäädä jokin sovellus tai juuri se kamera päälle, tai sitten on päivityksiä menossa. Varsinkin nettiyhteydessä kaikki on mahdollista, ja silloin akku kuluu nopeammin. Oculus itse voi tylysti ilmoittaa, että nyt päivitykset ovat valmiina asennettavaksi ja esitys päättyy siihen.

Kultainen neuvo kaikille, jotka käyttävät messuilla Gear VR:ää, että ota nettiyhteys pois. Se lisää liikaa muuttujia.

Lue edellinen postaus: Miltä tuntuu lentää vihaisten lintujen mukana?

Kuuntele koko tarina Ballmerin Piikistä: EPISODE #17: Kokemuksia Unitysta VR-kokemusten luonnissa

 

 

Johanna Kalliomäki