1. KAUNO TECHNOLOGIJOS UNIVERSITETAS
INFORMATIKOS FAKULTETAS
DARBAS SU UNITY VARIKLIUKU, JO GALIMYBĖS
Darbas Grupėje
Darbą atliko:
Martynas Diedonis,
Simonas Penkinas,
Tomas Kučinskas,
Martynas Mitka,
Liudas Butkus
KAUNAS, 2015
2. Terabaitai
2
Turinys
1. Įvadas.................................................................................................................................3
2. Vartotojo sąsaja (Martynas Mitka) ................................................................................4
Vartotojo supažindinimas su programa .........................................................................4
Minimalistinė, švari aplinka...........................................................................................5
Tinkamai ir trumpai pavadinti funkciniai mygtukai ......................................................5
Funkcijų / informacijos grupavimas ..............................................................................6
Valdymas turi būti intuityvus.........................................................................................6
Programa turi būti lengvai pasiekiama...........................................................................7
Pasiruošti vartotojų klaidoms.........................................................................................7
Sekti vartotojų apsiliepimus...........................................................................................7
3. Integruotos sistemos (Simonas Penkinas) .....................................................................8
Fizika..............................................................................................................................8
Audio..............................................................................................................................9
4. Platformos ant kurių veikia Unity (Martynas Diedonis).............................................10
Mono kūrimo platforma...............................................................................................10
Grafikos, fizikos...........................................................................................................10
Nuo platformos priklausanti kompiliacija(Platform dependent compilation) .............10
Shaders.........................................................................................................................10
5. Programavimas įvairiomis kalbomis (Liudas Butkus).................................................11
6. Efektai..............................................................................................................................12
7. Greitis ir stabilumas.........................................................................................................13
8. Išvados .............................................................................................................................14
4. Terabaitai
4
2. Vartotojo sąsaja (Martynas Mitka )
Žaidimo kūrimo platformos pamatinis tikslas visada turėtų išlikti vienodas - supaprastinti ir
pagreitinti kūrėjų darbą, bei užtikrinti gerą galutinio produkto veikimą. Dėl šios priežasties platformų
kūrėjai nenorėdami prarasti konkurencingumo su kiekviena versija stengiasi optimizuoti savo
produktus, pridėti papildomų funkcijų, bei žinoma tuo pačiu metu stengtis, kad visa tai vartotojui būtų
pateiktą patogiai ir aiškiai. Nors dažniausia viešai išafišuojami pirmieji punktai susyja su platformos
galimybėmis, tačiau būtent pastarasis ( vartotojo sąsajos ) aspektas lemia platformos sėkmę. Kad ir
kokia puiki platforma bebūtų, niekas ja nesinaudos, jei tai daryti bus ypatingai sudėtinga. Šioje srityje
labai sėkmingai dirba Unity komanda, su tokio pačio pavadinimo nemokama žaidimų kūrimų
platforma. Vienas pagrindinių šios platformos pranašumu prieš kitas yra būtent sugebėjimas tinkamai
pateikti produktą ir įrankius visiems suprantamu būdu ir taip supaprastinti kūrėjų darbą.
Dažnai gera vartotoja sąsaja tampa tada, kai ne tik puikiai išpildoma viena ar kita
rekomendacija, o tada, kai visa programa veikia dinamiškai, jos valdymas natūraliai įsilieją į darbą,
tampa nepastebimas ir ji pati nesukelia papildomu sunkumų vartotojui. Šis tikslas gali būti
pasiekiamas protingai įgyvendinat viešojoje erdvėje jau labai aiškiai suformuotus patrauklios
vartotojo sąsajos, angliškai -„user interface“ (vėliau tiesiog UI) principus, pagal kuriuos ir nagrinėsiu
Unity UI sistemą. Stengsiuosi panagrinėti kiekvieną aspektą atskirai ir savo pastebėjimais įvertinti ar
šių principų laikomasi, galbūt Unity komanda sugalvojo dar profesionalesnių būtų juos realizuoti.
Taigi štai šie principai, kuriais vadovaujantis pagal viešojoje erdvėje prieinamus šaltinius galima
sukurti puikią UI sistemą:
Vartotojo supažindinimas su programa
Šioje srityje Unity komanda atrodo bene stipriausia, neminint to, kad šį platformą turi
milžinišką bendruomene, kuri noriai dalinasi savo patirtimi, jos kokybiška mokymo sistemą leidžia
labai patogiai ir greitai susipažinti su žaidimo platforma. Pradedantiesiems skirta ypač daug dėmesio,
jiems sukurta ištisa mokymo programa video formatu youtube svetainėje, kurioje pradedantysis yra
5. Terabaitai
5
supažindinamas su pagrindinėmis funkcijomis, palaipsniui einama prie sudėtingesnių dalykų.
Lygiagrečiai yra pateikiami baziniai modeliai, su kuriais Unity leidžia lengvai ir nemokamai
eksperimentuoti vartotojams ir taip praktiniu būdu greičiau ir giliau įsisavinti informaciją. Norintiems
gilintis į labiau specifinius dalykus yra pateikiamos nuorodos į šaltinius kuriuose jie gali gauti daugiau
žinių. Vartotojas nuo pat pradžių neišsigąsta galybės aplink esančių įrankių, nes visada žino kur gali
gauti papildomos informacijos. Vartotojo apmokymo srityje Unity kartelę iškėlusi tikrai aukštai, tokią
gerą apmokymų sistemą pateikti sugeba tik vienetiniai produktai, todėl tai yra didelė UI sistemos
pasisekimo priežastis
Minimalistinė, švari aplinka
Kiekvienas darbo langas turi būti lengvai skaitomas ir neapkrautas papildomomis dėtelėmis,
kurios smarkiai vargina ir blaško vartotoją. Todėl patartina visuose languose išlaikyti minimalistinį
stilių. Kadangi Unity UI sistemoje esama didelis kiekis skirtingų pasirenkamųjų funkcijų, visiško
minimalizmo tikėtis negalima. Tačiau nepasakyčiau, kad principas liko neišpildytas visai. Atsisakyta
papildomų ornamentinių detalių, įrankių bei papildomų langų kombinacijas galima susidėlioti
visiškai rankiniu būdu, pagal kiekvieno poreikius. Tai suteikia vartotojui galimybę susikurti būtent
jam patogią aplinka, neapkraunant ekrano dėmesnį blaškančiais langais. Sveikintina ir tai, jog spalvų
gama pagrindinėje temoje susideda iš kontrastingu ir blankesnių atspalvių, kas platformai ir suteikia
lengvumo jausmą ir iš dalies kompensuoja tą triukšmą, kurį mūsų akims suteikia nemažas kiekis
mygtukų.
Tinkamai ir trumpai pavadinti funkciniai mygtukai
Vartotojo sąsajoje nemaža dalis informacijos perduodama ne tik vaizdais, bet ir tekstu. Todėl
būtina atsižvelgti, kad kiekvienas mygtukas būtų pavadintas prasmingai ir visiems suprantamai.
Kadangi dauguma komandų šioje platformoje yra gan standartiškos, tai kūrėjams nereikėjo ilgai
kvaršinti sau galvos, o jei ir reikėjo tai jų darbas nenuėjo veltui. Dažnas vartotojas mestelėjęs akį į
mygtuką iškart supranta kokia jo paskirtis, o jei ir iškylą klausimų, tai visada galima pritraukus savo
pelytės žymekli prie mygtuko ir išvysti platesnį paaiškinimą su pavyzdžiais. Taigi Unity
pasinaudodama standartinių kitų platformų pavydžių puikiai pritaikė šį principą savo platformoje.
6. Terabaitai
6
Funkcijų / informacijos grupavimas
Bet kokiam žmogui visą informacija įsisavinti daug lengviau, kai ji suskirstoma į tam tikras
grupes, dažniausia pagal panašią ypatybę ar logine seką. Todėl, kad vartotojo sąsaja būtų efektyvi
svarbu visas platformos funkcijas suskirstyti į tam tikrus blokus, kad vartotojui būtų kuo paprasčiau
orientuotis ir naviguoti platformos viduje tarp skirtingų savo prasme funkcijų. Unity šioje srityje
įgyvendino gan inovatorišką idėją ne tik visą informaciją tvarkingai ir pagal gan aiškias logines
prasmes sugrupuoti blokais, langais, bet ir kurti atskirus tokių blogų modulius, kurie gali būti
prijungti pasirinktinai pagal kūrėjo norus. Tai sutaupo
daug laiko, kai kuriamos standartinės žaidimų scenos,
nes pasirinkus visą modulį iš platformos patogioje vietoje
atkeliami visi potencialiai vartotojui reikalingi įrankiai.
Tarkim, kai dirbama su scenos fonu, galima vienu metu
pasirinkti tekstūrą, ją apdoroti su vietoje esančiais
įrankiais, pakeisti tekstūros atspalvį, matomumą. Žodžių
visi potencialiai reikalingi įrankiai yra pateikiami
viename funkcijų bloke, ir vartotojui nereikia ieškoti
kiekvieno įrankio atskirai. Tai užtikrina patogų vartotojo
darbą ir prideda didelį pliusą šiai žaidimų platformai.
Valdymas turi būti intuityvus
Vartotojui daug patogiau dirbti su programa kuri yra panaši į kitas, jau egzistuojančias
programas. Būtent dėl to dauguma šių laikų vartotojų sąsajos sistemų iš pirmo žvilgsnio yra
tarpusavyje labai panašios. Ne išimtis ir Unity UI sistema, kuri turi standartinio („Tab“) stiliaus
įrankių juostą. Naudotojui intuityviai bus aišku, kaip išsaugoti ar atsidaryti failą. Unity taip pat
neblogai išvystė ir „drag and drop“ sistemą. Pradedant nuo tiesioginio modelio įkelimo į žaidimo
kurimo scena, modelių transformacijų atlikimo iki darbo langų kilnojimo iš vienos pozicijos į kitą.
7. Terabaitai
7
Programa turi būti lengvai pasiekiama
Gan paprasta, bet svarbi detalė. Neatkreipus į tai dėmesio, galima gan skaudžiai nudegti. Kiek
vartotojų kantybės galėtų atimti, tai jog kiekvieną kartą naudojantis programą reikėtų paspausti
dešimt skirtingų mygtukų. Mes mėgstame paprastuma ir greituma, nors tai gal ir teužimtų kelias
papildomas sekundes. Unity ėmesi gan gudrios strategijos šioje dalyje, tačiau naudojantis programa
vis tiek pastebėtume šiek tiek nesklandumu šioje sirtyje. Pagrinde norint patekti į norimą projektą
užtenka spustelti kelis kartus ir tu jau norimame žaidimi projekte, visas papildomos parinktys, jei
tokių reikia jau galima rasti ieškant rankiniu būdu. Tačiau, kai atsiranda platformos atnaujinimai ar
skelbiama reklaminio pobudžio informacija ši procedura gali šiek tiek suerzinti, nes atsiranda keli
papildomi langai.
Pasiruošti vartotojų klaidoms
Kartais visiems, o dažniausia naujokams pasitaiko atveju, kai netyčia ar iš nežinojimo
pradanginame duomenis ar failus su kuriais dirbame. Tokios klaidoms išvengti kuriamos papildomos
apsaugos sistemos. Viena paprasčiausiu, tai papildomas langas kuris aiškiai paklausia ar tikrai norime
atlikti vienokius ar kitokius pakeitimus. Kas ypatinga Unity žaidimų platformoje, tai jog šie
apribojimai apgalvoti labai gerai, išvengta daug vartotojo loginių klaidų, yra būdas viska perstatyti į
„default“ reikšmes. Pavyzdžiui, jei vartotojas dirba su vieno tipo modeliais sistema neleis pritaikyti
kito tipo savybių. Dar vienas didesnių pliusų, tai jog yra galimybė automatiškai saugoti projektus
virtualiame projekte, taigi sumažėja duomenų praradimo rizika. Tačiau, kad ir kokie apribojimai
galioje šioje platformoje, tai jokiu būdu nevaržo kūrėjo laisvės, tiesiog palengvina komunikavimą su
platforma.
Sekti vartotojų apsiliepimus
Svarbi tobulėjimo dalis yra pastovus trūkumų ieškojimas ir šalinimas. Tam
pasitelkiami testuotojai, tačiau naudingiausi atsiliepimai būna ir pačių vartotojų.
Būtent dėl šios priežasties Unity turi gerą klientų aptarnavimo ir atsiliepimų
rinkimų sistemą, kuri glaudžiai susėjusi su žaidimo kūrimo platforma.
Kiekvienas gali patogiai ir greit parašyti savo apsiliepimas, klaidų pastebėjimus
ar nusiskendimus, kad platforma galėtų būti toliau tobulinama. Abipusė nauda
visada gerai, todėl toks Unity strategijos kūrimas yra pagirtinas.
8. Terabaitai
8
3. Integruotos sistemos (Simonas Penkinas)
Fizika
Norint suteikti žaidimui didesnį realumo jausmą, objektas žaidime turi tinkamai įsibegėti, turi
būti veikiamas susidūrimų, žemės traukos ir kitų jėgų. Programoje „Unity“ esantys fizikos varikliukai
suteikia komponentus, kurie sukuria fizinę imitaciją. Įrašius kelis parametrus, sukuriamas pasyvus
objektas, kuris elgiasi realistiškai – yra veikiamas susidūrimų ir kritimų, bet pats objektas
spontaniškai nejuda. Redaguojant objekto parametrus, galima objektui suteikti dinamiką, panašią į
automobilio arba net judančios šluostės.
„Unity“ egzistuoja du fizikos varikliukai. Vienas yra trijų dimensijų fizikai, o kitas – dviejų.
Pagrindinė idėja yra ta pati, tik jie įgyvendinami su skirtingom detalėm. Pavyzdžiui, „Unity“ yra
įtaisytas Rigidbody (standusis komponentas) ir Rigidbody 2D.
Rigidbody (angl. standusis komponentas) yra pagrindinė detalė, kuri suteikia fizinį
funkcionavimą objektui. Sukurtas standusis objektas iš karto paklus gravitacjos jėgai. Jeigu yra vienas
ar daugiau Collider (susidūrimo komponentų) tada standusis objektas bus veikiamas susidūrimų.
Rigidbody yra judinamas dviejų dimensijų fizikos varikliuko. Tai yra daroma veikiant objektą
kokia nors jėga, kuri verčia patį objektą pasisukti ar pakeisti poziciją.
Rigidbody turi savybę, kuri leidžia objektui pereiti į „miego“ būseną, kai jis juda mažesniu nei
nustatytu minimaliu linijiniu ar sukamuoju greičiu. Tada varikliukas supras, kad objektas nejuda. Kitą
kartą objektas pajudės, kai jį paveiks susidūrimas ar jėga. „Miego“ būsenoje esančiam objektui bus
skirta mažiau procesoriaus darbo iki tol, kol objektas bus „pažadintas“.
Collider (angl. susidūrimo komponentai) nusako objekto formą dėl fizinio susidūrimo tikslų.
Žaidime šis komponentas nebūtinai turi būti tos pačios formos kaip ir pats objektas. Net atvirkščiai –
suapvalinimas yra efektyvesnis žaidimo metu.
Paprasčiausi (ir mažiausiai procesoriaus darbo reikalaujantys) Collider komponentai vadinami
primityviaisiais. Trijose dimensijose jie yra: Box (dėžės), Sphere (sferos), Capsule (kapsulės).
Dviejose dimensijose yra naudojami: Box 2D ir Circle (apskritimo). Į objektą galima jų įdėti neribotą
skaičių, norint sukurti sudėtinius susidūrimo komponentus.
Kruopščiai dėliojant Collider galima gan gerai sukurti objekto formą ir neapkrauti procesoriaus
darbo. Tačiau, norint gauti dar didesnį tikslumą galima objektui suteikti Mesh Colliders (tinklelinius
9. Terabaitai
9
susidūrimo objektus) trijose dimensijose, o dviejose dimensijose – Polygon Collider 2D. Šie Collider
komponentai apkraus procesorių žymiai didesniu darbu.
Galima sujungti du Rigidbody objektus naudojant Joint (jungtį). Jų yra 2 rūšys: Hinge (ašinis)
leidžia objektams suktis aplink jungtį, o Spring išlaiko objektus atskirais bet leidžia tarp jų sukurti
nedidelį, slankiojantį atstumą. Jiems galima nustatyti jėgos ribą, kurią viršijus, jungtis trūks, arba
galima priversti objektus suktis aplink jungtį.
Audio
Žaidimas negali būti be garso, nesvarbu, ar tai fono muzika ar garso effektai. „Unity“ audio
sistema yra lankti ir galinga. Ji gali atkurti daugelį standartinių audio formatų ir gali atkurti garsus
3D erdvėje tokius kaip aidas. „Unity“ taip pat gali įrašyti garsus. „Unity“ taip pat leidžia naudoti
trečios šalies įskiepius.
Norint skleisti iš objekto garsą, reikia prie objekto sukurti Audio Source (garso šaltinį). Tuomet
jo skleidžiami garsai yra įrašomi Audio Listener (garso imtuvo), kuris yra pritvirtintas prie kito
objekto. Tarp jų susidariusį atstumą gali panaudoti kuriant Doplerio efekto simuliaciją sustiprintam
realumo jausmui.
10. Terabaitai
10
4. Platformos ant kurių veikia Unity (Martynas Diedonis)
iOS Android, Windows Phone, BlackBerry, Windows, Windows Store Apps, Mac OS X,
Linux, PS 3, Xbox 360, Wii U, PS 4, Xbox One, Tizen, SamsungTV, PS Vita, Gear VR, Oculus
Rift, WebGL.
Mono kūrimo platforma
Mono yra laisvai naudojama kūrimo platforma, kuri leidžia kurti cross-platform programas C#
kalba. Ji buvo sukurta .NET Framework pagrindu. Mono sudaro C# kompiliatorius, Mono Runtime,
ji implementuoja Common Language Infrastructure(CLI), pagrindines klasių bibliotekas(Base Class
Library), Mono Class Library tai sudaro Gtk+, zip failų, LDAP, OpenGL ir daug kitų klasių.
Mono yra labai populiarus, rasi be galo daug pamokų, knygų, tinklapių. Taip pat an Mono
kūrimo platforma automatiškai skirsto atmintį, paskirsto darbą per kelis procesorius.
Grafikos, fizikos
Unity palaikančios grafikos aplikacijų programavimo sąsajos(API): OpenGL, OpenGL,
WebGL, Metal ir DirectX ir kiekviena iš jų yra skirta tam tikroms platformoms.
OpenGL yra pagrinde naudojama MacOS X ir kituose iOS prietaisuose, taip pat gali būti
naudojamas ir Linux, Windows platformoms.
OpenGL pagrinde skirtas mobiliesiems prietaisams, populiariausi būtų Android.
WebGL yra skirtas tinklapiams skirtų žaidimų kūrimui, kuris pašalina reikalavimą turėti Flash
ir Unity web player.
Metal yra naujas Apple grafinis API, tinkantis iOS prietaisams.
DirectX yra Microsoft kurtas grafinis API, kuris tinka Windows, Windows Phone ir Xbox.
Unity pastiki tik vieninteliu įrankiu, kuriant fizikas žaidimuose Nvidia PhysX, kuris palaiko
visas anksčiau išvardintas platformas.
Nuo platformos priklausanti kompiliacija(Platform dependent compilation)
Unity variklis turi labai naudingą funkciją, kuri leidžia tam tikras kodo dalis leisti kompiliuoti
tik tam tikroms platformoms. Ši komanda gali veikti ant visų Unity palaikomų platformų. Dažnai
iškylantis klausimas yra: Ar parašytas kodas Platform dependent compilation kodas yra matomas
kitose platformose? Ne, bet priklauso nuo programavimo kalbos ar klasės egzistuos. Unityscript
sukurią tuščia klasę, o C# ne.
Shaders
Unity taip pat sugeba sukūrtus šešėliuoklius naudoti ant kitų platformų, kur shader kalba
visiškai skiriasi. Yra 2 populiariausios shader kalbos: HLSL ir GLSL. HLSL yra pagrinde naudojama
su Direct3D, Xbox 360 ir Playstation 3. GLSL yra naudojama mobiliuosiuose įrenginuose(OpenGL
ES 2.0), Mac OSX(OpenGL) ir WebGL. Unity variklyje pagrinde yra naudojama HLSL kalba, Unity
sugeba konvertuoti HLSL į GLSL. Seniau šis būdas buvo labai neoptimizuotas, bet buvo sukurti
kompiliatoriai, kurie optimizuodavo konvertuotą GLSL kodą.
11. Terabaitai
11
5. Programavimas įvairiomis kalbomis (Liudas Butkus)
Norint panaduoti visas Unity variklio
galimybes būtina mokėti programuoti viena iš
palaikomų programavimo kalbų: C#, UnityScript
arba Boo.
Pagal populiarumą jos išsidėsčiusios štai
taip. Net 80,4% Unity vartotojų naudoja C#,
18,9% vartotojų naudoja UnityScript ir 0,44%
vartotojų naudoja Boo.
C# tai C kalbų grupės kalba plačiai
naudojama visame pasaulyje, todėl ji ir yra pati
populiariausia.
UnityScript tai JavaScript atmaina
pritaikyta darbui su Unity, JavaScript taipogi yra labai populiari programavimo kalba naudojama
internetinių puslapių kūrime, bet mano nuomone, kadangi Unity nenaudoja bendros JavaScript
kalbos, o naudoja jos atmainą UnityScript, tai ir jos populiarumas nėra labai didelis.
Boo tai programavimo kalba apie kuria jūs tikriausiai nieko nesate girdėję, tai atsispindi ir jos
populiarumo procente. Ji sintaksiškai yra panaši į geriau žinomą Python programavimo kalbą.
Dėl mažo Boo kalbos populiarumo Unity komanda nustojo kurti jai skirtą mokomąją medžiagą.
Taigi kurią programavimo kalbą pasirinkti? Jeigu jau esate programavę C kalbų grupės kalba
(C, C++,etc.) tai C# bus jums artimiausia. Jeigu esate susidūrę su puslapių kūrimu ir JavaScript
kodais, tai manau nebus sunku idėjus šiek tiek laiko išmokti UnityScript niaunsus. Na o jeigu
mėgstate iššūkius ir norite išmokti dar vieną programavimo kalbą tai mokykitės Boo.
Betkokiu atvėju jums bus prieinamos visos Unity variklio galimybės.
12. Terabaitai
12
6. Efektai
(Tomas Kučinskas)
Unity varikliukas atvaizduoja objektus jiems priskirdamas medžiagas(Material),
šešėliuokles(Shaders) ir tekstūras. Šios trys sąvokos yra glaudžiai susijusios.
Medžiagos tai yra objektai, kurie nurodo varikliukui, kaip objektas
turėtų būti piešiamas. Jame sudėtos modeliui priklausančios tekstūros,
spalvos ir kiti parametrai. Šių parinkčių skaičius priklauso nuo medžiagos
šešėliuoklės.
Šešėliuoklės tai mažos programos, kurios apdirba smulkius grafikos
elementųs pritaikydamos matematinius algoritmus. Šie kodai gali keisti modelio
taškų padėtį, ekrano pikselių spalvą, modelio primityvų(trikampių) padėtį,
pragerinti modelio detalumą ir t.t.
Tekstūros yra paveiksliukai, siunčiami į šešėliuoklę. Šie objektai gali
nuspalvoti objektą nemonotonišku užpildu, nurodyti ypatingas modelio
vietas(švytinčios, atspindžios vietos) arba gali būti panaudoti netradiciniais
būdais.
Unity varikliukas turi standartinių efektų biblioteką. Joje galima
rasti nuo paprastų efektų, skirtų modeliams atvaizduoti iki ekrano
efektų. Neradęs tinkamo efekto, programos kūrėjas gali parašyti savo
efektą. Šiam tikslui pasiekti naudojama speciali programavimo kalba
„ShaderLab“. Pragramuotojas gali rašyti viršūnių, pikselių,
geometrijos, paviršiaus ir skaičiavimų šešėliuokes.
13. Terabaitai
13
7. Greitis ir stabilumas
(Tomas Kučinskas)
Unity varikliuko pasižymi ypatingu
stabilumu. Programos veikimo metu rasti
klaidingi moduliai yra automatiškai išjungiami,
neegzistuojantys resursai nenaudojami, o pati
programa veikia toliau. Mūsų komandos
patirtis taip pat liudija apie varikliuko
atsparumą klaidoms ir nenumatytiems
atvejams.
Daugelio žaidimų kūrėjų nuomone,
Unity varikliukas nepasižymi spartumu.
Ypatingas nepasitenkinimas yra išreiškiamas
telefoninių žaidimų kūrėjų. Dažniausiai problemos kyla naudojant 3D grafikos komponentus. Vis dėl
to technologijos kūrėjai pripažįsta spartos problemas ankstesnėse versijose ir išleidžiant naują versiją,
didelis dėmesys yra skiriamas programos veikimo greičio spartinimui. Taip pat Unity 3D kūrėjai
pastebi, kad programuotojai naudoja blogas programavimo praktikas todėl varikliuko
dokumentacijoje galima rasti naudingų patarimų kaip pagreitinti programos spartą.