Mine sisu juurde

Unity

Allikas: Vikipeedia
Redaktsioon seisuga 15. märts 2013, kell 01:35 kasutajalt Legobot (arutelu | kaastöö) (Robot: muudetud 16 intervikilinki, mis on nüüd andmekogus Wikidata)
 See artikkel räägib loomevahendist; kosmosejaama mooduli kohta vaata artiklit Unity (moodul)

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ängu mootorist 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 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:
  1. Kui Microsoft Windowsi või Mac OS X täitmisprogramm
  2. Veebis (Unity Web Playeri tarkvaramooduliga brauserites: Internet Explorer, Firefox, Safari, Mozilla, Netscape, Opera, Google Chrome ja Camino) Windowsil ja Mac OS X-ll.
  3. Kui Mac OS X Dashboard vidin
  4. Nintendo Wiile (nõuab lisalitsentsi)
  5. Kui iPhone/iPadi tarvik (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 keelt.
  • 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 renderlus mootorit 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 renderlussü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 renderdajaid.

Unity puudused

DirectX 11

Unity mängumootoril puudus DirectX 11 tugi[1], kuigi DirectX 11 on mängutööstuses väga kiiresti populaarsust koguv tehnoloogia. Unity arendajad on aga teatanud, et sellega juba aktiivselt tegeletakse[2]. 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. [3]

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. [4] Samuti on saadaval lai valik tehisintellekti võimalusi lisav kolmanda osapoole tarkvara, näiteks RAIN – AI Engine mootor.

Hävitatavad keskkonnad

Unity ei toeta hetkel mängus olevate 3D objektide “katkitegemist” ehk hävitatavaid keskkondi mängumaailmas. [5] Hoolimata sellest, et Unity toetab peaaegu kõiki Nvidia PhysX featuure, puudub tugi APEX Destruction tarkvarale. See on osa PhysX tarkvarast, mis defineerib algoritmilised reeglid 3D objektide katkitegemiseks mängija tegutsemise tagajärgede tõttu. Siiski sisaldab Unity mootor 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. [6] Näiteks pakub sellist võimalust Piecemaker – Mesh Desctruction Asset tarkvarapakett.

Viited

  1. "Does Unity support DX11? Can it compare to BF Bad Company 2?".
  2. "NinjaCamp III: Direct3D 11".
  3. "Platforms". Vaadatud 11/15/11. {{cite web}}: eiran teksti "Unreal Technology" (juhend); kontrolli kuupäeva väärtust: |accessdate= (juhend)
  4. "UNITY: Unite 11". Vaadatud 11/16/11. {{cite web}}: kontrolli kuupäeva väärtust: |accessdate= (juhend)
  5. "Will Unity3D also be using APEX ?". Vaadatud 11/15/11. {{cite web}}: kontrolli kuupäeva väärtust: |accessdate= (juhend)
  6. "Unity Script Reference – Mesh". Vaadatud 11/15/11. {{cite web}}: kontrolli kuupäeva väärtust: |accessdate= (juhend)

Välislingid