7 jezikov za razvoj iger Unity: kateri je najboljši?

7 jezikov za razvoj iger Unity: kateri je najboljši?

Razvijanje iger še nikoli ni bilo lažje. Platforme za razvoj iger, kot je Unity, omogočajo ustvarjanje vsega, od preprostih 2D platformerjev do popolnoma podrobnih 3D strelcev iz prve osebe. Majhnim razvijalcem je Unity brezplačna in obstaja veliko vaj o tem, kako najbolje uporabiti urejevalnik za izdelavo prototipov svojih idej.





Če se naučite uporabljati program Unity, boste prišli le do zdaj. Pravo jedro vaše igre bo koda, ki določa njeno vedenje. Določanje jezika, ki se ga je treba naučiti za razvoj iger, je lahko težavno --- v primeru Unity pa je preprosto.





ki je cenejši uber ali lyft

1. Najboljša izbira: C#

Za vse, ki začnete z Unityjem, ali za tiste, ki že poznate objektno usmerjeno programiranje, je C# pravi jezik za učenje Unity. Pravzaprav je C# edini jezik, ki se ga je vredno naučiti za platformo, in z dobrim razlogom.





Unity uporablja Mono, ki je medplatformska implementacija Microsoftovega .NET ogrodja. C# je primarni jezik .NET in vse knjižnice Unity so zgrajene s kodo C#. Reči, da je C# jezik Unityja, ne bi bilo pretirano. Unity je jasno povedal, da menijo, da je C# edini jezik za uporabo z motorjem za naprej.

To je dobra novica, saj je C# močan jezik in ga je enostavno naučiti. Enotnost je le ena izmed mnogih dobri razlogi za učenje C# , in če ste začetnik, se vam bo morda zdel celo bolj dostopen. Razvoj iger daje strukturo učenju, cilji, ki temeljijo na projektih, pa vodijo k boljšemu razumevanju novih predmetov.



Z uvedbo Sistem dela C# in ECS , Unity pospešuje vse, kar je mogoče storiti s C#, in novi prevajalnik Burst to naredi hitreje kot kdaj koli prej.

2. Trenutna alternativa: JavaScript

Unity podpira tudi JavaScript --- znan kot UnityScript. Od izdaje je JavaScript vzporedno s C# kot polnopravnim razvojnim jezikom Unity. Sklic skriptiranja Unity je imel za večino elementov knjižnice vzorčno kodo v C# in JavaScript.





To je bilo uporabno za razvijalce, ki prihajajo iz ozadja JavaScript, saj so kljub razlikam v strukturi kode lahko uporabljali znano sintakso. Prišlo pa je do težave.

Čeprav se zdi UnityScript podoben JavaScript-ni. UnityScript ima razrede, česar JavaScript nima. Funkcije JavaScripta, kot so deklaracija več spremenljivk in izbirne podpičja, niso na voljo v UnityScript.





Morda je ključno, da je iskanje pomoči za JavaScript pri projektih Unity vedno povzročilo zmedo, saj ga je večina ljudi imenovala JavaScript in ne UnityScript. Rezultati spletnega oblikovanja in razvoja iger so bili zamegljeni, razlika med jeziki pa je bila sporna za razvijalce čistih JavaScript.

Morda ni presenetljivo, da je Unity napovedal, da bodo umaknili podporo za UnityScript, in zdaj obstaja časovni okvir za razgradnjo . S programom Unity lahko še vedno uporabljate JavaScript, toda če veste, da se bo končal, zakaj bi?

3. Stara tretja izbira: Boo

V prvih dneh Unity je bila možnost uporabe Booja-jezika, podobnega Pythonu. To morda ni presenetljivo, saj je Rodrigo B. De Oliveira, Boov oblikovalec , delal za Unity. Jezik je združljiv z .NET in Mono in bi bil v celoti izveden z igralnim mehanizmom. Kaj je šlo narobe?

Uporabljalo ga je premalo ljudi, verjetno ob predpostavki, da je zgolj poskušal posnemati Python. Sčasoma je Unity opustil podporo za Boo in zaradi prihajajočih sprememb UnityScript bodo vsi stari Boo skripti neuporabni v Unityju. Nekateri bi to lahko videli kot zamujeno priložnost, saj je bil Boo odličen poskus Python podobne sintakse za programiranje .NET.

Ljubitelji Pythona pa imajo še eno možnost.

4. Nenavadna izbira: IronPython

Če želite razvijati igre, Python verjetno ni jezik za vas, vendar je možno. Charlie Calvert v svojem blogu skupnosti Microsoft Developer Community opisuje kako zagnati Python iz C# --- ampak to ni za slabovoljne. Skoraj deset let kasneje je IronPython še vedno v aktivnem razvoju.

Skratka, morate prenesti Knjižnice IronPython iz GitHub -a in jih navedite v svojem projektu C#. To vam bo omogočilo klicanje skriptov Python iz skriptov C# podobno kot v kateri koli drugi knjižnici. IronPython omogoča tudi klic knjižnic .NET iz Pythona . Čeprav se to sliši koristno, ker Unity zanaša na C#, ta funkcija ne pomaga.

IronPython --- in IronRuby, sestrski projekt, ki povezuje C# s programskim jezikom Ruby --- sta fantastična projekta, vendar nista praktična za uporabo z Unity.

5. Zanimiva izbira: Lua

Ena boljših izvedb zunanjega jezika za Unity je MoonSharp --- tolmač Lua. Ta projekt ni namenjen zamenjavi C# kot jezika, bolj deluje kot most. Popoln primer uporabe MoonSharp bi bil, da bi igralci vaše igre na nek način dodali modove iger v jeziku Lua.

Uporabite ga lahko tudi za opisovanje predmetov in ravni oblikovanja ločeno od osnovne kode igre.

Če že kodirate v C# in iščete zanimiv način vmesnika s svojo kodo, je MoonSharp vreden razmisleka. Ker je na voljo brezplačno Trgovina Unity's Asset , ga lahko uvozite neposredno v svoje projekte.

6. Najboljši jezik za vtičnike: C/C ++

Kljub robustni knjižnici Unity in vsem razpoložljivim orodjem, ki jih ponuja C#, boste včasih morda želeli lastne vtičnike. Glavni razlogi, zakaj se ljudje odločijo za vtičnike, so hitrost ali dostop do kodne baze, ki je že napisana v drugem jeziku. Vgradnja teh skriptov v vtičnike DLL shrani predelavo kode in v nekaterih primerih lahko izboljša zmogljivost.

V večini primerov bo jezik C ++ uporabljen za ustvarjanje vtičnikov, vendar bi C deloval enako dobro. Dokler se koda vgradi v DLL, jo lahko postavimo v mapo vtičnikov Unity in se sklicuje nanjo v kodi. Verjetnost pa je, če ste že zadovoljni s kodiranjem v C/C ++, da bi bilo učenje C# razmeroma preprosta naloga!

kako brezplačno prenesti glasbo z iPoda na računalnik

7. Nov jezik za vtičnike: Rust

Rust je jezik, v katerem je veliko brenčanja. Izkušeni programerji ga obožujejo zaradi neverjetne količine nadzora, ki ga daje, pri tem pa se izogiba pasti pri pisanju v manj varnih jezikih, kot je C ++. Mozilla je leta 2009 ustvarila Rust kot način za razvijalce, da hitro razvijejo visoko zmogljivo programsko opremo.

Čeprav Rust v Unity ni mogoče zapisati neposredno, lahko do kode Unity dostopate do funkcij in metod, napisanih v Rust. Jim Fleming podrobno opisuje, kako to storiti v svojem prispevku na Medium .

Če se vam to zdi znano, je to zato, ker je to še en način za ustvarjanje domačih vtičnikov. Z izkoriščanjem zmožnosti Rusta za vmesnik z drugimi jeziki lahko funkcije Rust kličete neposredno iz kode C# z uporabo Unity's DllImport atribut. Seveda je vmes več korakov in branje Jimovega naslednjega prispevka poleg dobrega razumevanja FFI (tujih funkcijskih vmesnikov) je priporočljivo!

Preprosta izbira

Odnos Unityja do katerega koli jezika, ki ni C#, je jasen, nenehne izboljšave Unity pa temeljijo na tej enotnosti. To združite z Microsoftovim nenehnim izboljševanjem jezika C# kot jezika, učenje C# za razvoj iger Unity pa je preprosto. In obvezno preverite Unity Learn za lažji način učenja razvoja iger .

Vendar to ni vaša edina možnost, Unity je samo en motor in teh je veliko možnosti programske opreme za razvoj iger med katerimi lahko izbirate.

Deliti Deliti Cvrkutati E-naslov Canon proti Nikon: katera znamka fotoaparata je boljša?

Canon in Nikon sta dve največji imeni v industriji fotoaparatov. Toda katera blagovna znamka ponuja boljšo ponudbo fotoaparatov in objektivov?

Preberite Naprej
Sorodne teme
  • Programiranje
  • JavaScript
  • Razvoj iger
  • C
  • Enotnost
O avtorju Ian Buckley(216 objavljenih člankov)

Ian Buckley je samostojni novinar, glasbenik, izvajalec in video producent, ki živi v Berlinu v Nemčiji. Ko ne piše ali na odru, se ukvarja z elektroniko ali kodo DIY v upanju, da bo postal nor znanstvenik.

Več od Iana Buckleyja

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite