Antti Kuusisto Unity Cluster Rendering -ominaisuuden betatestaus ja käyttöönotto SeAMKin CAVEssa Opinnäytetyö Kevät 2015 SeAMK Tekniikka Tietotekniikka
2 SEINÄJOEN AMMATTIKORKEAKOULU Opinnäytetyön tiivistelmä Koulutusyksikkö: Tekniikan yksikkö Tutkinto-ohjelma: Tietotekniikka Suuntautumisvaihtoehto: Ohjelmistotuotanto Tekijä: Antti Kuusisto Työn nimi: Unity Cluster Rendering -ominaisuuden betatestaus ja käyttöönotto SeAMKin CAVEssa. Ohjaaja: Petteri Mäkelä Vuosi: 2015 Sivumäärä: 43 Liitteiden lukumäärä: 2 Opinnäytetyön tutkimustyövaihe suoritettiin työharjoittelun aikana Seinäjoen ammattikorkeakoulun Tekniikan yksikön virtuaalitekniikan laboratoriossa. Työn tarkoituksena oli betatestata ja ottaa käyttöön Unity Technologiesin Unity Cluster Rendering -ominaisuus virtuaalitekniikan laboratoriossa CAVEssa. Työn innoittajana on Asmo Jussilan opinnäytetyö "Unity-pelimoottorin hyödyntäminen CAVEjärjestelmässä", mutta ei vaadi tutustumista Jussilan opinnäytetyöhön. Työ esittelee alussa SeAMKin CAVEssa käytettävän laitteiston ja ohjelmiston jatkaen siitä Unityn esittelyyn. Tämän jälkeen käydään läpi Unity Cluster Rendering -ominaisuuden betatestaus ja käyttöönotto, joka koostui neljästä välivaiheesta. Tutkimustyövaiheen jälkeen pohditaan tuloksia ja tulevaisuutta. Lopussa on vielä yhteenveto. Tutkimustyövaiheessa Unity-pelimoottori saatiin otettua käyttöön SeAMKin CAVEjärjestelmässä, vaikka joitain pienempiä ongelmia ei pystyttykään ratkaisemaan. SeAMK ja opinnäytetyön tekijä kirjoittivat asiasta salassapitosopimuksen. Tästä syystä tämän opinnäytetyön julkisesta versiosta on poistettu osa kappaleista. Avainsanat: CAVE, Unity, paikannus, Stereoskopia, virtuaalitodellisuus Salaisuus: Osa tästä työstä on julistettu salaiseksi.
3 SEINÄJOKI UNIVERSITY OF APPLIED SCIENCES Thesis abstract Faculty: School of Technology Degree programme: Information Technology Specialisation: Software Engineering Author: Antti Kuusisto Title of thesis: Beta testing and deployment of the Unity Cluster Rendering -feature in the CAVE at SeAMK. Supervisor: Petteri Mäkelä Year: 2015 Number of pages: 43 Number of appendices: 2 The research period of this thesis was performed during an internship in the laboratory of virtual technology at Seinäjoki University of Applied Sciences. The purpose of this thesis was to beta test and deploy Unity Techonlogies Unity Cluster Rendering -feature in the CAVE at the laboratory of virtual technology. Inspiration for this thesis started from Asmo Jussila s thesis Utilizing Unity game engine in the CAVE-system. At the beginning of this thesis SeAMK s CAVE hardware, software and Unity are introduced. After that the thesis focuses on beta testing and deploying the Unity Cluster Rendering -feature. The deployment includes four intermediate phases. After the deployment research results are examined and future is planned. In the end there is a summary. Unity game engine was able to function in the CAVE at SeAMK, even though some minor problems could not be solved. Confidentiality agreement concerning the Unity Cluster Rendering -feature was written. That is the reason why some parts of this thesis have been removed from the public version. Keywords: CAVE, Unity, tracking, stereoscopy, virtual reality Secrecy: Part of this thesis is declared secret.
4 SISÄLTÖ Opinnäytetyön tiivistelmä... 2 Thesis abstract... 3 SISÄLTÖ... 4 Kuvioluettelo... 6 Käytetyt termit ja lyhenteet... 7 1 JOHDANTO... 10 1.1 Työn tausta... 10 1.2 Työn tavoite... 10 1.3 Työn rakenne... 11 1.4 Seinäjoen ammattikorkeakoulu - SeAMK... 11 2 CAVE... 12 2.1 SeAMKin CAVE... 12 2.1.1 Projektorit... 13 2.1.2 Peilit ja akryylilevyt... 13 2.1.3 Paikannuslaitteisto... 14 2.1.4 Äänilaitteisto... 14 2.1.5 Tietokoneet... 14 2.1.6 Stereolasit ja ohjainlaitteet... 15 2.1.7 Ohjelmistot ja kirjastot... 15 3 UNITY... 17 3.1 Unity yleisesti... 17 3.2 Unity-pelimoottori... 17 3.2.1 Editori... 17 3.2.2 Grafiikka... 18 3.2.3 Fysiikka... 18 3.2.4 Äänet... 18 3.2.5 Animointi... 18 3.2.6 Skriptaus... 19 3.2.7 Käyttöliittymän luonti... 19 3.2.8 Tekoäly... 19
5 3.3 Unityn lisenssointi... 19 4 UNITY CLUSTER RENDERING -OMINAISUUDEN KÄYTTÖÖNOTTO SEAMKIN CAVESSA... 21 5 POHDINTA... 22 6 YHTEENVETO... 23 LÄHTEET... 24 LIITTEET... 26
6 Kuvioluettelo Kuvio 1. SeAMKin CAVE-järjestelmä... 13
7 Käytetyt termit ja lyhenteet Alustariippumaton Asset Bake lighting Alustariippumaton ohjelmisto on ohjelmisto, joka ei ole sidoksissa vain tiettyyn laitteistoon tai käyttöjärjestelmään. Unityssä Asset on termi kaikelle sille mistä Unity-projekti koostuu, kuten esimerkiksi 3D-mallit, tekstuurit, kooditiedostot, videota tai äänet. Valaistuksen tai varjostuksen lisääminen jo valmiina olevaan tekstuuriin niin ettei alkuperäistä valonlähdettä tarvita. Bat-komentotiedosto Komentotiedosto Microsoft Windowsin DOSkomentotulkille. Beta DLL-tiedosto Fysiikkamoottori Immersio Klusteri Ohjelmistokehityksessä beta on testausvaihe sovellukselle, joka ei ole vielä edennyt kuluttajaversioon. Betatestaus voi olla julkinen tai rajattu. DLL eli Dynamic Link Library on Microsoftin täytäntöön ottama jaettu komentokirjasto, jonka avulla eri ohjelmat pystyvät käyttämään samoja ohjelmointikomentoja. Fysiikkamoottori on ohjelmisto, joka simuloi virtuaalisessa maailmassa tai peleissä kappaleiden putoamista, törmäyksiä tai muuta vastaavaa fyysistä vuorovaikutusta. Immersiolla tarkoitetaan voimakasta eläytymistä tai "uppoutumista" virtuaaliseen maailmaan. Klusteri tarkoittaa rypästä tai joukkoa samanlaisia asioita. Tässä opinnäytetyössä CAVEn tietokoneet ovat ryppäässä ja tätä rypästä kutsutaan klusteriksi.
8 Käynnistysparametri Parametri, joka asetetaan käynnistettävän tiedoston ominaisuuksiin. Parametrilla voidaan asettaa käynnistettävä tiedosto käynnistymään ennalta määrätyllä tavalla. Käyttöliittymä Markkeri Master-tietokone Masteripöytä Node-tietokone Optisuus Pelillistäminen Renderointi Käyttöliittymällä tarkoitetaan sitä ohjelmiston osaa, jonka käyttäjä näkee tai niitä laitteita, millä käyttäjä käyttää ohjelmistoa. Seurantatunnus, jonka liikettä paikannuslaitteisto seuraa ja analysoi. Tässä opinnäytetyössä markkereina käytettiin pieniä valoa heijastavia palloja. Tietokone, joka käskyttää eri node-tietokoneita, lähettää äänet masteripöydälle, sekä ottaa vastaan ja välittää ohjainlaitteiden ohjaustietoja ja paikannusdataa. Masterointi on äänen muokkaamista tai viimeistelyä ennen kuin se lähetetään soitettavaksi. Masteripöytä on tarkoitettu masterointiin. Tietokone, joka lähettää kuvaa yhdelle CAVEn projektoreista. Valo-oppia kutsutaan optiikaksi. Tässä opinnäytetyössä paikannuskamerat ovat optisia. Ne käyttävät valon heijastumista hyväkseen tunnistaessaan paikannettavia kohteita. Pelillistäminen tarkoittaa pelattavuuden tai pelaamisen elementtien tuomista eri ympäristöihin. Pelillistämisen avulla ympäristöistä saadaan mielenkiintoisempia. Pelillisyys voidaan ajatella myös leikkisyytenä. Tämän opinnäytetyön yhteydessä renderointi tarkoittaa 3D-mallin piirtämistä näytettävään muotoon. Tässä opinnäytetyössä renderoinnin hoitaa tietokoneen grafiikkakortti.
9 Skene Tässä opinnäytetyössä skenellä tarkoitetaan Unityeditorin Scene-ikkunassa näkyvää aseteltua 3D-näkymää. Skriptaus Stereoskopia Tekstuuri Tilakone VRPN.unitypackage Skriptaus on koodaustyyli, joka koostuu yleensä pienistä ja nopeasti tehdyistä kooditiedostoista. Tekniikka, jolla kahdesta kaksiulotteisesta kuvasta saadaan luotua kolmiulotteinen ihmisen aivoissa. Kaksiulotteinen kuva, jota käytetään 3D-malleissa objektin pintakuviointiin. Tilakone on järjestelmä, joka voidaan kuvata erilaisina tiloina. Tässä opinnäytetyössä animoinnin eri vaiheet ovat tiloja. Virtual Reality Peripheral Network on University of North Carolina at Chapel Hill -yliopistossa kehitetty avoin, laiteriippumaton ja verkossa näkyvä järjestelmä virtuaalitodellisuuden oheislaitteille, joita käytetään erilaisissa virtuaalitodellisuuden sovelluksissa. Unityn tiedostomuoto, joka tuo toiminnallisuuksia tai assetteja Unity-projektiin.
10 1 JOHDANTO 1.1 Työn tausta Tämä opinnäytetyö on jatkoa tutkimustyölle, joka tehtiin työharjoittelun aikana Seinäjoen ammattikorkeakoulun alaisuudessa syksyllä 2014. Työharjoittelu suoritettiin SeAMKin virtuaalitekniikan laboratoriossa. Työn taustalla on tekijän mielenkiinto pelikehittämistä, pelillistämistä ja Unity-pelimoottoria kohtaan. Työn innoittajana on Asmo Jussilan opinnäytetyö Unity-pelimoottorin hyödyntäminen CAVE-järjestelmässä. Tutkimuskohteen valintaan on vaikuttanut myös mahdollisuus päästä Unity Technologiesin suljettuun betatestausryhmään. 1.2 Työn tavoite Tutkimustyön päätavoitteena on ottaa Unity-pelimoottori käyttöön SeAMKin CA- VEssa hyödyntäen Unity Technologiesin omia työkaluja. Tutkimustyöllä on kaksi sivutavoitetta. SeAMK harkitsee Unity-hankintaa. Esimmäisenä sivutavoitteena on luoda näyttävä esittelydemo perusteluksi Unity-hankinalle. Toisena sivutavoitteena on tehdä tuleville opiskelijoille Unity-projektipohja, joka olisi helppo liittää opiskelijoiden omaan Unity-projektiin. Unity-pelimoottori antaisi Seinäjoen ammattikorkeakoululle uusia CAVEn käyttömahdollisuuksia, joita ei ole ennen voitu toteuttaa, ainakaan yhtä helposti. Näihin kuuluisi esimerkiksi reaaliaikainen fysiikanmallinnus, interaktiivinen käyttöympäristö ja edistynyt grafiikka. Näitä ominaisuuksia voitaisiin hyödyntää vaikkapa virtuaalisia oppimisympäristöjä tehtäessä. Unity Technologiesin työkalut olivat tutkimushetkellä betatestauksessa ja työn tekijä on kirjoittanut niistä myös salassapitosopimuksen.
11 1.3 Työn rakenne Työn toisessa luvussa kerrotaan yleisesti mitä CAVE tarkoittaa, perehtyen tarkemmin Seinäjoen ammattikorkeakoulun virtuaalitekniikan laboratoriossa sijaitsevaan CAVEen. Kolmannessa luvussa esitellään Unity Technologiesin Unitypelimoottori. Neljäs luku keskittyy Unity Cluster Rendering -ominaisuuden käyttöönottoon. Viidennessä luvussa pohditaan työn tuloksia ja tulevaisuutta. Kuudennessa luvussa nidotaan kaikki asiat yhteen. 1.4 Seinäjoen ammattikorkeakoulu - SeAMK SeAMK on noin 4500 opiskelijan ammattikorkeakoulu, josta valmistuu vuosittain noin 700-800 tutkintoa. Henkilökuntaa SeAMKissa on noin 400. (SeAMK 2015.) SeAMKin tavoitteena on tutkimus-, kehitys- ja innovaatiotoiminnan lisääminen. Erilaisten tutkimus- ja kehittämishankkeiden vuotuinen kokonaisarvo on yli 5 miljoonaa euroa. (SeAMK 2015.) SeAMKin ylläpitäjänä on Seinäjoen Ammattikorkeakoulu Oy (SeAMK 2015).
12 2 CAVE Virtual Reality, lyhennettynä VR, eli virtuaalitodellisuuden ensimmäiset askeleet otti Morton Heiligin Sensorama-laitteellaan 1950-luvulla. Sensorama toi elokuva- ja äänikokemukseen erilaisia aistimuksia kuten värinää, tuulta tai hajuja. Heilig myös patentoi ensimmäisenä päähän puettavan näyttölaitteen seuraavalla vuosikymmenellä. 1970-luvulla, tietokonegrafiikan syntymisen aikaan, David Evans ja Ivan Sutherland kehittivät tietojärjestelmiä simulaatiokäyttöön. 1990-luvulla Illinois n yliopistossa kehitettiin näyttölaite, joka ei ollut enää päähän puettava. Vuonna 1992 julkistettiin myös CAVE eli Cave Automated Virtual Environment. (Hellman 2014.) CAVE on immersiivinen, sisään astuttava näyttöhuone, jonka seinille, kuin myös lattiaan ja kattoon, heijastetaan stereoskooppista kuvaa. CAVEn käyttäjä paikannetaan erilaisten paikannustekniikoiden avulla ja paikannusdataa hyödynnetään esimerkiksi kuvan muokkaamiseen katsojan perspektiiviin. Käyttäjän liikkumista ohjataan erilaisilla ohjainlaitteilla. (Hellman 2014.) 2.1 SeAMKin CAVE Suomen ainut viisiseinäinen CAVE sijaitsee SeAMKissa. SeAMKin CAVE on rakennettu vuonna 2005 ja sitä on kehitetty siitä lähtien. Vuosien varrella SeAMKin CAVEa on esitelty reilut tuhat kertaa yli 10 000 kävijälle. (Hellman 2015.) SeAMKin CAVE-järjestelmä on esiteltynä kuviossa 1.
13 mikseripöytä Tieto Master-koneelta viidelle eri node-koneelle synkkauksen avulla Node 1 -kone kaiutin 1 ääni jaetaan kahdeksalle eri kaiuttimelle kaiutin 8 Node 5 -kone Paikannus-kone paikannus-kuva lähetetään Paikannus-koneelle CAVE kamera 1 kamera 12 stereokuvan lähetys projektorille ääni mikseripöydälle projektori 1 projektori 5 analysoitu paikannus-data Master-koneelle CAVEn käyttäjä PS Move Käyttäjä käyttää oheislaitteita stereolasit Ohjaustietoja Master-koneelle Master-kone 12 kameraa kuvaavat oheislaitteiden markkereita paikannusta varten Kuvio 1. SeAMKin CAVE-järjestelmä 2.1.1 Projektorit Stereokuvan esittämiseen käytetään Christie Digital Systems, Inc:n Mirage 4000 DLP -projektoreita. Projektorit pystyvät 1280 x 1024 -resoluution tarkkuuteen. Projektoreita on käytössä viisi ja niistä jokaista ohjaa oma node-tietokone. (Hellman 2015.) 2.1.2 Peilit ja akryylilevyt Projektorien kuva heijastetaan peilien kautta akryylilevyille, jotka toimivat projektiopintoina. Peilit ovat pintapeilejä, ja koska heijastus hoidetaan taustaprojektiona, on niiden tarkoitus säästää myös tilaa. Peilejä on yhtä monta kuin on projektoreitakin. (Hellman 2015.)
14 Projektiopinnat ovat leveydeltään 3,0 metriä ja pituudeltaan 2,4 metriä, eli kuvasuhteeltaan 5:4. Projektiopintoja on viisi ja ne on aseteltu lähes kuutioksi niin, että yksi sivu on auki. Lattiaprojektio toteutetaan alapuolelta ja projektiopinnan alla on lasilevy, joka on 50 mm paksu. Lasilevyn kestää SeAMKin CAVEn käyttäjien painon päällään. (Hellman 2015.) 2.1.3 Paikannuslaitteisto Paikannukseen käytetään 12 NaturalPoint OptiTrack V100:R2 -kameraa. Kamerat on sijoitettu SeAMKin CAVE-tilan yläreunoille, niin että ne näkevät mahdollisimman hyvin käyttäjän liikkumisalueelle. (Hellman 2015.) Kamerat tunnistavat markkereita, jotka ovat halkaisijaltaan noin 11 mm:n kokoisia heijastavia palloja. Markkereita voidaan kiinnittää eri laitteisiin, kuten esimerkiksi stereolaseihin. Näin markkereiden sijainnin avulla voidaan tunnistaa laitteen paikka ja kääntökulmat oikeassa maailmassa. (Hellman 2015.) Paikannusdatan analysointiin on valjastettu oma tietokone. 2.1.4 Äänilaitteisto Master-tietokone lähettää äänen mikseripöydälle, joka jakaa äänen kahdeksalle eri kaiuttimelle ja kahdelle eri bassokaiuttimelle. Mikseripöytänä käytetään Yamahan valmistamaa O1V96-mallia, jossa on 16 kanavaa. Kaiuttimet ovat JBL:n valmistamat Control 29AV -mallin kaksitiekauttimet. Toinen kaiuttimista on tuuman ja toinen kahdeksan tuumaa. (Hellman 2015.) 2.1.5 Tietokoneet SeAMKin CAVE-järjestelmä tarvitsee toimiakseen seitsemää eri tietokonetta. Jokaista SeAMKin CAVEn projektoria ohjaa yksi tietokone eli yhteensä viisi nodetietokonetta. Node-tietokoneita ohjaa master-tietokone. Master-tietokone hoitaa
15 myös äänien lähettämisen mikseripöydälle ja ohjainlaitteiden datan vastaanottamisen, sekä paikannusdatan vastaanoton paikannus-tietokoneelta. (Hellman 2015.) Master-tietokone ja node-tietokoneet ovat laitteistoltaan samanlaiset. Niiden pohjana on käytetty Fujitsun Celsius R670 -mallia, joissa on 3,3 GHz:n Intel Xeon x5680 -prosessori. Prosessori on kuusiytiminen ja se toimii 12 säikeellä. Keskusmuistia on 12 Gt sekä kiintolevytilaa 500 Gt. Grafiikkakorttina käytetään PNY:n ja NVIDIA:n valmistamaa Quadro 6000 -mallia, johon on kytketty erillinen NVIDIA G- sync -kortti näytönohjainten keskinäiseen synkronointiin. (Hellman 2015.) Paikannus-tietokoneessa on käytetty kotelona Fujitsun Celsius W410 -mallia. Prosessorina toimii Intelin Core i7 2600 3.4 GHz. Prosessorissa on neljä ydintä ja kahdeksan säettä. Keskusmuistia on 12 GB sekä kiintolevytilaa 500 GB. Grafiikkakorttina käytetään ATI:n valmistamaan FirePro V3800 -korttia. (Hellman 2015.) 2.1.6 Stereolasit ja ohjainlaitteet Kolmiulotteisuuden näyttämiseen käytetään 15 RealD:n valmistamia CrystalEyes 4s -stereolaseja. Laseista kahdet ovat paikannetut. Ohjainlaitteena käytetään yleensä Sony Playstationin Moven Navigation Controller -ohjainta, joka on myös paikannettu. Käytössä on myös tavallinen konsolipeliohjain ja Nintendo Wii Balance Board -tasapainolauta. (Hellman 2015.) 2.1.7 Ohjelmistot ja kirjastot Visualisoimiseen käytetään seuraavia ohjelmistoja: TreeC Technology VR4MAX Extreme, Siemens PLM Teamcenter Visualization Mockup, Mechdyne CAVElib -ohjelmointikirjastoa ja Googlen Earth Liquid Galaxy. Varmimmin 3D-malli voidaan tuoda virtuaalitilaan käyttämällä ja muokkaamalla se Autodeskin 3ds Max -ohjelmistolla. (Hellman 2015.) Paikannusdatan lukemiseen ja analysoimiseen kameroilta käytetään OptiTrack Motive -ohjelmistoa. Motive-ohjemisto myös lähettää paikannusdatan master-
16 tietokoneelle. Paikannusdatan lukemiseen master-tietokoneelta käytetään Mechdynen valmistamaan TrackD-ohjelmistoa. (Hellman 2015.) Playstation Move ja Playstation 3 Controller on otettu käyttöön Better DS3 -ohjelmiston avulla. Projektorien yhtäaikainen käynnistys ja sammutus hoidetaan master-tietokoneelta Christie Digitalin omalla Remote Control -ohjelmistolla. (Hellman 2015.) SeAMKin CAVEssa on käytössä laaja valikoima Dosch Designin 3D-mallikirjastoja ja Sound Idealsin äänikirjastoja (Hellman 2015).
17 3 UNITY 3.1 Unity yleisesti Unity on Unity Technologiesin kehittämä työkalujen ja palveluiden kokonaisuus, joka on suunniteltu alustariippumattomien pelien ja interaktiivisten sovellusten tuottamiseen. Unity-ekosysteemi on kaikkien Unity-pelimoottorin käyttäjien käytössä. (Unity Technologies 2015b.) 3.2 Unity-pelimoottori Unity-pelimoottori on tehokas ja nopea pelinkehitysympäristö, joka tarjoaa valmiin paketin työkaluja interaktiivisen 3D- ja 2D-sisällön tuottamiseen. Sen kehitys aloitettiin vuonna 2001. (Unity Technologies 2015b.) Unity-pelimoottori hallitsee työkalujen markkinoita pelikehittäjien keskuudessa. Vision Mobilen, vuonna 2014 kolmanneksella, tehdyn tutkimuksen mukaan 47 % pelikehittäjistä on käyttänyt Unity-pelimoottoria. (Vision Mobile 2015.) 3.2.1 Editori Unity-pelimoottorin editorin avulla kaikki muut pelikehityksen osa-alueet nidotaan yhteen toimivaksi kokonaisuudeksi. Editori mahdollistaa kaksi- tai kolmiulotteisten sovellusten suunnittelun. Editorin sisältä pääsee käsiksi Unityn omaan kauppaan, josta löytyy laaja valikoima niin ilmaisia kuin maksullisiakin assetteja. Valmiin ohjelman kääntäminen eri alustoille on tehty helppokäyttöiseksi, eikä vaadi välttämättä koodimuutoksia. (Unity Technologies 2015c.)
18 3.2.2 Grafiikka Unity-pelimoottori tukee Windows DirectX 11 -rajapintaa. Tämä mahdollistaa laadukkaan renderoinnin erilaisten valojen, varjostimien, erikoisefektien, partikkelien ja materiaalien avulla. Suorituskykyä parantaa bake lighting -ominaisuus ja Unity-pelimoottorin tapa renderoida vain se, mitä käyttäjälle kuuluu näyttää. (Unity Technologies 2015f.) 3.2.3 Fysiikka Fysiikkamallinnuksen Unity-pelimoottorissa hoitaa NVIDIA PhysX -fysiikkamoottori. Unity-pelimoottorin fysiikkamallinnuksessa voidaan valita käytetäänkö kaksi- vai kolmiulotteista mallinnusta. Tämä mahdollistaa kevyen mallinnuksen 2D-maailmassa sekä laadukkaan että realistisen mallinnuksen 3Dmaailmassa. (Unity Technologies 2015h.) 3.2.4 Äänet Unity-pelimoottoriin on rakennettu toiminnollisuudet äänien toistoon. Äänitiedostoja ei luoda Unity-pelimoottorin sisällä, mutta niitä voidaan tarvittaessa muokata. (Unity Technologies 2015e.) 3.2.5 Animointi Unity-pelimoottori tukee niin ihmisen kuin muunkin hahmon animointia. Animaatiot voidaan toteuttaa suoraan Unity-pelimoottorissa tai tuoda erillisistä animontiohjelmistoista, kuten Autodesk 3ds Max. Animaatioita kontrolloidaan tilakoneiden avulla ja monia animaatioleikkeitä voidaan toistaa yhtä aikaa hyödyntäen käänteiskinematiikkaa. (Unity Technologies 2015d.)
19 3.2.6 Skriptaus Unity-pelimoottorissa skriptaus voidaan toteuttaa kolmella eri kielellä: C#, JavaScript tai Boo. Lisäksi Unity-pelimoottori tukee ajonaikaisia DLL-kirjastoja, jotka voidaan ohjelmoida ainakin seuraavilla kielillä: C, C++ tai Objective-C. Unityn mukana tulee MonoDevelop-kääntäjä, jonka avulla koodia voidaan muokata tai esim. käydä läpi askel kerrallaan tai tutkia muuttujien arvoja ajonaikaisesti. Unityeditorissa on käytössä myös oma ikkuna, josta virheet voidaan myös lukea. (Unity Technologies 2015i.) 3.2.7 Käyttöliittymän luonti Unity-pelimoottorin versiossa 4.6 tuli mukana uusia työkaluja käyttöliittymän luontiin. Uusien, helppokäyttöisten, työkalujen avulla käyttöliittymän pystyy tekemään optimoidumman, joustavamman ja nopeamman. Ankkuroinnin ja sulavamman koon muuttamisen avulla käyttöliittymät saadaan toimimaan oikein monella eri alustalla. (Unity Technologies 2015j.) 3.2.8 Tekoäly Unity-pelimoottoriin on sisäänrakennettu pathfinding-ominaisuus eli lyhimmän polun etsijä. Pathfinding-ominaisuus käyttää ajonaikana hyväkseen NavMesh-dataa, jonka avulla hahmot löytävät perille myös muuttuvassa maailmassa. (Unity Technologies 2015g.) 3.3 Unityn lisenssointi Lisensointivaihtoehtoja on kaksi: Unity ja Unity Pro. Unity-versio on ilmainen ja se on tarkoitettu yksityiseen ja vähäiseen kaupalliseen tarkoitukseen. Unity Pro -versio on maksullinen, eikä siinä kaupallista kattoa ole rajoitettu. Unity Pro -versiosta voi ladata 30 päivän kokeiluversion. Unity Pro -versiossa on enemmän ominaisuuksia verrattuna Unity-versioon. Opinnäytetyön kirjoitushetkellä pelimoot-
20 torista on saatavilla ohjelmistoversio neljä, mutta ohjelmistoversio viisi on jo Unity Pro -version omistajilla betatestauksessa. Tämän opinnäytetyön tutkimusvaiheessa käytettiin Unity Technoligisilta saatua erillistä suljetun betan lisenssiavainta, joka mahdollisti Unity Cluster Rendering -ominaisuuden käytön. (Unity Technologies 2015a.)
21 4 UNITY CLUSTER RENDERING -OMINAISUUDEN KÄYTTÖÖNOTTO SEAMKIN CAVESSA Tämä kappale on poistettu työn julkisesta versiosta.
22 5 POHDINTA Tämä kappale on poistettu työn julkisesta versiosta.
23 6 YHTEENVETO Tämä kappale on poistettu työn julkisesta versiosta.
24 LÄHTEET Mendiburu, B. 2009. 3D Movie Making: Stereoscopic Digital Cinema from Script to Screen. Amerikka, 11 23. Hellman, T. 2014. Virtuaalitodellisuus ja 3D-mallinnustekniikat opetuksen aallonharjalla. [Verkkosivu]. Seinäjoki: Seinäjoen Ammattikorkeakoulu Oy. [Viitattu 7.4.2015]. Saatavana: http://www.edimensio.fi/opetusvinkit_ja_linkit/virtuaalitodellisuus Hellman, T. 2015. Tekniikkaa. [Verkkosivu]. Seinäjoki: Seinäjoen Ammattikorkeakoulu Oy. [Viitattu 7.4.2015]. Saatavana: http://www.seamk.fi/fi/osaaminen/toimintaymparisto/tekniikanlaboratoriot/virtuaalitekniikan-laboratorio/tekniikkaa Microsoft. 2015. Tietojen synkronoiminen. [Verkkosivu]. Suomi. [Viitattu 7.4.2015]. Saatavana: http://windows.microsoft.com/fi-fi/windows-vista/how-to-keep-yourinformation-in-sync SeAMK. 2014. SeAMK Info. [Verkkosivu]. Seinäjoki: Seinäjoen Ammattikorkeakoulu Oy. [Viitattu 7.4.2015]. Saatavana: http://www.seamk.fi/fi/seamk-info Tekniikan sanastokeskus. 2002. Paikannussanasto. [Verkkojulkaisu]. Helsinki: Tekniikan sanastokeskus. [Viitattu 7.4.2015]. Saatavana: http://www.tek.fi/ci/teknologia/teknologiastrategiat_2007.pdf Unity Technologies. 2015. Get Unity. [Verkkosivu]. California: Company. [Viitattu 7.4.2015]. Saatavana: http://unity3d.com/get-unity Unity Technologies. 2015. Unity. [Verkkosivu]. California: Company. [Viitattu 7.4.2015]. Saatavana: http://unity3d.com/unity Unity Technologies. 2015. Unity-editor. [Verkkosivu]. California: Company. [Viitattu 7.4.2015]. Saatavana: http://unity3d.com/unity/editor Unity Technologies. 2015. Unity Manual Animation. [Verkkosivu]. California: Company. [Viitattu 7.4.2015]. Saatavana: http://docs.unity3d.com/manual/animationsection.html Unity Technologies. 2015. Unity Manual Audio. [Verkkosivu]. California: Company. [Viitattu 7.4.2015]. Saatavana: http://docs.unity3d.com/manual/audio.html Unity Technologies. 2015. Unity Manual Graphics. [Verkkosivu]. California: Company. [Viitattu 7.4.2015]. Saatavana: http://docs.unity3d.com/manual/graphics.html
25 Unity Technologies. 2015. Unity Manual Navigation and Pathfinding. [Verkkosivu]. California: Company. [Viitattu 7.4.2015]. Saatavana: http://docs.unity3d.com/manual/navigation.html Unity Technologies. 2015. Unity Manual Physics. [Verkkosivu]. California: Company. [Viitattu 7.4.2015]. Saatavana: http://docs.unity3d.com/manual/physicssection.html Unity Technologies. 2015. Unity Manual Scripting. [Verkkosivu]. California: Company. [Viitattu 7.4.2015]. Saatavana: http://docs.unity3d.com/manual/scriptingsection.html Unity Technologies. 2015. Unity Manual UI. [Verkkosivu]. California: Company. [Viitattu 7.4.2015]. Saatavana: http://docs.unity3d.com/manual/uisystem.html Vision Mobile. 2015. Developer Q3 2014: State of the developer nation. [Verkkosivu]. London: Company. [Viitattu 7.4.2015]. Saatavana: http://www.visionmobile.com/product/developer-economics-q3-2014/
26 LIITTEET Liite 1. PsTools-komentotulkin käyttö CAVEn klusterikoneilla Liite 2. Unityn Cluster-toiminnon käyttöönotto CAVEssa
1(1) LIITE 1. PsTools-komentotulkin käyttö CAVEn klusterikoneilla Tämä liite on poistettu työn julkisesta versiosta. LIITE 2. Unity Cluster-toiminnon käyttöönotto CAVEssa Tämä liite on poistettu työn julkisesta versiosta.