Unity

Unity on integreeritud loomevahend 3D-videomängude või muusuguse interaktiivse sisu, näiteks arhitektuurivisualisatsioonide või animatsioonide loomiseks. Unity arenduskeskkond jookseb operatsioonisüsteemidel Microsoft Windows ja Mac OS X ning temaga saab luua mänge Windowsile, Macile, Xbox 360-le, Playstation 3-le, Wiile, iPadile, iPhone'ile ja Androidi platvormile. Sellega saab luua brauserimänge, mis kasutavad Unity veebimängija tarkvaramoodulit. Neid toetavad Mac ja Windows, aga mitte Linux.

Unity koosneb redigeerimisprogrammist sisu loomiseks ja disainimiseks ning mängumootorist lõpp-produkti käivitamiseks. Unity meenutab programme Director, Blender (selle mängumootor), Virtools, Torque Game Builder ja Gamestudio, mis kasutavad samuti keskse loomismeetodina integreeritud graafilist keskkonda primaarse loomismeetodina.

Unity võitis Wall Street Journali 2010. aasta tehnoloogia innovatsiooni auhinna tarkvara kategoorias. 2009. aastal valis Gamasutra Unity Technologiesi aasta 5 parima mänge tootva ettevõtte hulka. Unity saavutas 2006 Apple'i disainiauhindade jagamisel teise koha graafika kategoorias Mac OS X-il.

Põhiomadused
 Integreeritud arenduskeskkond hierarhiliste, visuaalmonteerimisega, detailiseeritud omaduste inspektoritega ja otse mängu eelvaatega.
 Juurutamine mitmele platvormile:
 Kui Microsoft Windowsi või Mac OS X täitmisprogramm
 Veebis (Unity Web Playeri tarkvaramooduliga brauserites: Internet Explorer, Firefox, Safari, Mozilla Firefox, Netscape, Opera, Google Chrome ja Camino) Windowsil ja Mac OS X-ll.
 Kui Mac OS X Dashboard vidin
 Nintendo Wiile (nõuab lisalitsentsi)
 Kui iPhone/iPadi tarvik (nõuab lisalitsentsi)
 Google Androidile (nõuab lisalitsentsi)
 Microsoft Xbox 360-le (nõuab lisalitsentsi)
 Sony Playstation 3-le (nõuab lisalitsentsi)
 Unitysse laetud varad imporditakse automaatselt ja taasimporditakse, kui see vara uuendatakse. Unity toetab integreerimist programmidega: 3ds Max, Maya, Softimage, Blender, Modo, ZBrush, Cinema 4D, Cheetah3D, Photoshop ja Allegorithmic Substance.
 Graafikamootor kasutab Direct3D-d (Windows), OpenGL-i (Mac, Windows), OpenGL ES (iOS, Android) ning suletud API-sid (Wii).
 Unity toetab järgnevaid graafika visualiseerimismeetodeid: bump mapping, reflection mapping, parallax mapping, Screen Space Ambient Occlusion, dünaamilised varjud (shadow maps), tekstuurile renderlus ja täisekraan järeltöötlus efektid.
 ShaderLab keel varjutajate kasutamiseks. 
 Sisseehitatud tugi Nvidia PhysX füüsika mootorile.
 Mängu programmeerimine Mono kaudu. Mono on vabavara rakendus .NET Framework-ist. Programmeerijad saavad kasutada UnityScript, C# või Boo programeerimiskeelt.
 The Unity Asset Server
 Audiosüsteem ehitatud FMOD raamatukogule. Ogg Vorbis pakitud heli on toetatud.
 Video taasesitus kasutab Theora koodeksit.
 The Unity Asset Store – programmisisene varamu tuhandete Unity-valmis varadega: mudelitega, karakteritega, koodi, heli jne.

Litsentseerimine

Eksisteerib kaks põhi litsentsi: Unity ja Unity Pro; Pro versiooni eest tuleb maksta ja tavaline versioon on tasuta. Tasuta versioonis puuduvad: tekstuurile renderlus, occlusion culling, globaalne valgustus ja järeltöötlusefektid, ning võimalus töötada meeskonnaga interneti kaudu. Tasuta versiooniga kaasneb produktides vesimärk.

Mängu mootor
Mängu mootor on süsteem, mis on kavandatud videomängude loomiseks ja arendamiseks. Eksisteerib väga palju mängu mootoreid, mis on kavandatud töötama konsoolidel ja personaalarvutitel. Mängu mootor sisaldab tavaliselt renderdusmootorit 2D- või 3D-graafikaks, füüsikamootorit või kokkupõrke avastajat, heli, skriptimist, animatsioone, tehisintellekti, võrgundust, streamingut, mälu haldamist, threadingut, lokaliseerimise toetust ja stseeni graafikut (Stseeni graafik on andmestruktuur, mida kasutavad vektoripõhised graafikatöötlusrakendused ja tänapäeva arvutimängud).

Riistvara üldistus
Enamasti 3D-mootorid või renderdussüsteemid on mängu mootorites ehitatud graafika API-le (API on arvuti operatsioonisüsteemiga või rakendusprogrammiga määratud reeglistik, mille alusel rakendusprogramm kasutab operatsioonisüsteemi või teise rakendusprogrammi teenuseid) nagu näiteks Direct3D (Direct3D on põhiline DirectX-i alamprogramm. Direct3D on vajalik animatsiooni, graafika ja muude vajalike efektide kasutamiseks) või OpenGL, mis annavad tarkvaralise üldistuse graafikakaardist (GPU). DirectX-i teisi alamprogrammid, Simple DirectMEdia Layer(SDL), ja OpenAL on samuti kasutusel mängudes, kuna nad pakuvad riistvara-iseseisvat ligipääsu ülejäänud arvutiriistvarale nagu näiteks sisendseadmetele (hiir, klaviatuur ja juhtkang), võrgukaardile ja helikaardile. Enne riistvara-kiirendatud 3D-graafikat kasutati tarkvara renderdeid.

Unity puudused

DirectX 11

Unity mängumootoril puudus DirectX 11 tugi, kuigi DirectX 11 on mängutööstuses väga kiiresti populaarsust koguv tehnoloogia. Unity arendajad on aga teatanud, et sellega juba aktiivselt tegeletakse. Alates versioonist Unity4 on DirectX 11 tugi olemas.

PlayStation Vita

Unity mängumootoril puudub tugi varsti müüki tulevale PlayStation Vita konsoolile, samal ajal kui konkureeriv Unreal Engine 3 on juba teatanud, et nemad on vastava toe arendanud.

Tehisintellekti rakendused

Unity mootoril puudub senimaani igasugune tehisintellekti implementeerimise tugi mängukeskkondades. Unity 11 Keynote konverentsil aga teatati, et rajaleidmine (pathfinding) ja rahvamasside simulatsioon (crowd simulation) implementeeritakse järgmises ehk Unity 3.5 versioonis. Samuti on saadaval lai valik tehisintellekti võimalusi lisav kolmanda osapoole tarkvara, näiteks RAIN – AI Engine'i mootor.

Hävitatavad keskkonnad

Unity ei toeta seni mängus olevate 3D-objektide katkitegemist ehk hävitatavaid keskkondi mängumaailmas. Hoolimata sellest, et Unity toetab peaaegu kõiki Nvidia PhysX-i omadusi, puudub tugi APEX Destructioni tarkvarale. See on osa PhysX tarkvarast, mis määrab algoritmilised reeglid 3D-objektide katkitegemiseks mängija tegutsemise tagajärgede tõttu.

Unity mootor sisaldab siiski kooditeeki, mis võimaldab kasutajatel muuta kõigi mängu objektide kuju. Selle API abil on kolmandatel osapooltel võimalik luua kohandatud programme, mis tegelevad objektide hävitamise ja katkitegemisega. Näiteks pakub sellist võimalust Piecemaker – Mesh Desctruction Asseti tarkvarapakett.

Viited

Välislingid
 (Unity Ametlik lehekülg)
 Unity Foorum (ametlik Unity kommuun)
 Unity Insider (saksa Unity kommuun)
 design3, Unity 
 What is a Game Engine?
 DirectX website
 
 
 Unity Mängud

Tarkvara