|  |  |
| --- | --- |
|  |  *See artikkel räägib loomevahendist; Lõuna-Sudaani osariigi kohta vaata artiklit Unity (Lõuna-Sudaan); kosmosejaama mooduli kohta vaata artiklit Unity (moodul); kasutajaliidese kohta vaata artiklit Unity (kasutajaliides)* |

---

**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õpptoote 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 Technologies aasta viie parima mänge tootva ettevõtte hulka Unity. Unity sai 2006. aasta Apple'i disainiauhinna – 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:

1. Microsoft Windowsi või Mac OS X-i täitmisprogrammile
2. Veebis (Unity Web Playeri tarkvaramooduliga brauserites: Internet Explorer, Firefox, Safari, Mozilla Firefox, Netscape, Opera, Google Chrome ja Camino) Windowsil ja Mac OS X-ll.
3. Mac OS X Dashboard vidinatele
4. Nintendo Wiile (nõuab lisalitsentsi)
5. iPhone'i/iPadi tarvikule (nõuab lisalitsentsi)
6. Google Androidile (nõuab lisalitsentsi)
7. Microsoft Xbox 360-le (nõuab lisalitsentsi)
8. 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 programmeerimiskeelt.
* 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.

Litsentsimine
-------------

Põhilitsentse on kaks: Unity ja Unity Pro; Pro versiooni eest tuleb maksta ja tavaline versioon on tasuta. Tasuta versioonis puuduvad tekstuurile renderlus, *occlusion culling*, globaalne valgustus, 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. Konsoolidel ja personaalarbutitel töötama kavandatud mängu mootoreid on väga palju. See 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 on 3D-mootorid või renderdussüsteemid 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 või OpenGL, mis annavad tarkvaralise üldistuse graafikakaardist (GPU). DirectX-i teised alamprogrammid nagu Simple DirectMEdia Layer(SDL), ja OpenAL on ka 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 tegeletakse aktiivselt. 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 on vastava toe arendanud.

### Tehisintellekti rakendused

Unity mootoril puudub hetkel igasugune tehisintellekti implementeerimise tugi mängukeskkondades. Unity 11 Keynote konverentsil 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 lõhkumist ehk hävitatavaid keskkondi mängumaailmas. Vaatamata sellele, et Unity toetab peaaegu kõiki Nvidia PhysX-i omadusi, puudub tugi APEX Destructioni tarkvarale. See on osa PhysX-i tarkvarast, mis määrab algoritmilised reeglid 3D-objektide lõhkumiseks 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 lubavad objektide hävitamist ja lõhkumist, sellist võimalust pakub näiteksPiecemaker – Mesh Desctruction Asseti tarkvarapakett.

Viited
------

1. ↑  "Does Unity support DX11? Can it compare to BF Bad Company 2?".
2. ↑  "NinjaCamp III: Direct3D 11".
3. ↑  "Platforms". Originaali arhiivikoopia seisuga 27. detsember 2011. Vaadatud 15. november 2011. `{{cite web}}`: eiran teksti "Unreal Technology" (juhend)
4. ↑  "UNITY: Unite 11". Originaali arhiivikoopia seisuga 31. detsember 2011. Vaadatud 16. november 2011.
5. ↑  "Will Unity3D also be using APEX ?". Vaadatud 15. november 2011.
6. ↑  "Unity Script Reference – Mesh". Originaali arhiivikoopia seisuga 27. detsember 2011. Vaadatud 15. november 2011.

Välislingid
-----------

* (Unity Ametlik lehekülg)
* Unity Foorum (ametlik Unity kommuun)
* Unity Insider (saksa Unity kommuun)
* design3, Unity autoriseeritud väljatreenimise partner
* What is a Game Engine?
* DirectX website
* 
* 
* Unity Mängud