Oglas
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 prve osebe. Jedinstvo je brezplačno za male razvijalce in obstaja veliko vadnic o tem, kako najbolje uporabiti urejevalnik za izdelavo prototipov vaših idej.
Učenje uporabe programa Unity vas bo pripeljalo le tako daleč. Pravo jedro vaše igre bo koda, ki določa njeno vedenje. Določiti, kateri jezik naučiti za razvoj iger je lahko težko - v primeru Unity pa je preprosto.
1. Najboljša izbira: C #
Za vse, ki se začnejo z Unityjem, ali tiste, ki že prej poznajo objektno usmerjeno programiranje, je C # pravi jezik za učenje Unity. Pravzaprav je C # edini jezik, ki ga je vredno platformo učiti, in to z dobrim razlogom.
Unity uporablja Mono, ki je večplastorsko izvajanje Microsoftovega .NET okvira. C # je primarni jezik .NET in vse knjižnice Unity so zgrajene s kodo C #. Če bi rekli, da je C # jezik enotnosti, ne bi bilo pretiravanje. Unity je jasno dal vedeti, da menijo, da je C # edini jezik za uporabo, če motor deluje 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 # 7 praktičnih razlogov za učenje programiranja C #Obstaja veliko programskih jezikov, torej katerega izbrati za učenje? Tukaj je več razlogov za učenje C #. Preberi več , in če ste začetnik, boste morda celo bolj dostopni. Razvoj iger daje strukturo učenju, cilji, ki temeljijo na projektu, pa vodijo k boljšemu razumevanju novih predmetov.
Z uvedbo C # sistem dela in ECS, Unity pritiska na to, kar lahko s C # naredimo naprej in naprej, novi prevajalnik Burst pa hitreje kot kdajkoli prej.
2. Trenutna alternativa: JavaScript
Unity podpira tudi JavaScript - znan kot UnityScript. Od izdaje je JavaScript sedel ob strani s C # kot v celoti predstavljen razvojni jezik Unity. Referenčni skript Unity je imel za večino elementov knjižnice zgledno kodo C # in JavaScript.
To je bilo koristno za razvijalce, ki prihajajo iz JavaScript, saj so kljub razlikam v strukturi kode lahko uporabili znano skladnjo. Vendar je prišlo do težave.
Čeprav se zdi, da je UnityScript podoben JavaScript - ni. UnityScript ima razrede, česar JavaScript ne. Funkcije JavaScripta, kot so večkratna deklaracija spremenljivk in neobvezna polkolona, niso na voljo v UnityScript.
Morda je ključno, da je iskanje pomoči JavaScript pri projektih Unity vedno povzročalo zmedo, saj ga večina ljudi imenuje JavaScript in ne kot UnityScript. Rezultati tako pri spletnem oblikovanju kot pri razvoju iger so zabrisali skupaj, razlika med jeziki pa je bila sporna s čistimi razvijalci JavaScripta.
Morda ne presenetljivo, Unity je sporočil, da bo umaknil podporo za UnityScript, in zdaj je na voljo časovna premica za njegovo razgradnjo. Še vedno lahko uporabljate JavaScript s storitvijo Unity, a zakaj bi vedeli, da se bo izteklo, zakaj bi to storili?
3. Stara tretja izbira: Boo
V zgodnjih dneh Unity je obstajala možnost uporabe Boo-Python-podobnega jezika. To morda ni presenetljivo kot Rodrigo B. De Oliveira, Boojev oblikovalec, delal za Unity. Jezik je združljiv z .NET in Mono in bi bil v celoti implementiran z igro. Kaj je šlo narobe?
Uporabljalo ga je premalo ljudi in verjetno so domnevali, da samo poskuša posnemati Pythona. Sčasoma je Unity opustil podporo za Boo in prihajajoče spremembe UnityScript bodo v Unity vse stare skripte Boo neuporabne. Nekateri bi to lahko spregledali kot zamujeno priložnost, saj je bil Boo odličen poskus Python-ove skladnje za programiranje .NET.
Ljubitelji Pythona pa imajo še eno možnost.
4. Nenavaden izbor: IronPython
Če želite razviti igre, Python za vas verjetno ni jezik 4 razlogi, zakaj Python ni programski jezik za vasProgramski jezik Python je izjemno priljubljen, vendar je tukaj nekaj razlogov, zakaj se boste morda želeli izogniti Python-u. Preberi več , vendar je mogoče. Charlie Calvert je v svojem spletnem dnevniku za skupnost razvijalcev Microsoft poudaril kako zagnati Python iz C #- vendar ne gre za slabovidne. Skoraj deset let kasneje je IronPython še vedno v aktivnem razvoju.
Skratka, datoteko boste morali prenesti Knjižnice IronPython iz GitHub-a in jih navedite v projektu C #. To vam bo omogočilo, da pokličete skripte Python iz skriptov C # tako, kot bi želeli v kateri koli drugi knjižnici. IronPython omogoča tudi klicanje .NET knjižnic iz Pythona. Kot se sliši, kot se sliši, saj se Unity opira na C #, ta funkcionalnost ne pomaga.
IronPython - in IronRuby, to je sestrski projekt, ki povezuje C # s programskim jezikom Ruby - sta fantastična projekta, vendar nista praktična za uporabo z Unityjem.
5. Zanimiva izbira: Lua
Ena boljših izvedb zunanjega jezika za Unity je MoonSharp- tolmač Lua Ta projekt ni zasnovan tako, da bi nadomestil C # kot jezik, ampak bolj kot most. Odličen primer za MoonSharp bi bil, da igralci vaše igre na način ustvarijo ustvarjanje modnih iger v jeziku Lua.
Lahko ga uporabite tudi za opis objektov in ravni oblikovanja ločeno od svoje osnovne kode igre.
Če že kodirate C # in iščete zanimiv način za povezavo s kodo, je MoonSharp vreden premisleka. Ker je na voljo brezplačno naprej Unity's Asset store, lahko ga 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 svoje vtičnike. Glavni razlogi, zaradi katerih se ljudje odločajo za vtičnike, so hitrost ali dostop do zbirke kod, ki je že napisana v drugem jeziku. Zgradba teh skriptov v vtičnike DLL prihrani kodo za preoblikovanje in v nekaterih primerih lahko izboljša učinkovitost.
V večini primerov bo C ++ jezik, ki se uporablja za ustvarjanje vtičnikov, vendar bi C deloval enako dobro. Dokler se koda vgradi v DLL, jo je mogoče vstaviti v mapo z vtičniki Unityja in sklicevati na kodo. Verjetnost pa je, da če vam je kodiranje v C / C ++ že udobno, bi bilo učenje C # relativno enostavna naloga!
7. Nov jezik za vtičnike: Rust
Rust je jezik, ki ga obkroža veliko. Izkušeni programerji ga imajo radi zaradi neverjetne količine nadzora, ki se mu izogibajo, hkrati pa se izogibajo pastemu pisanju v manj varnih jezikih, kot je C ++. Mostolo je leta 2009 ustvaril Rust kot način, da razvijalci hitro razvijejo visoko zmogljivo programsko opremo.
Čeprav Rust v Unity ni mogoče neposredno pisati, lahko do svojih funkcij in metod, napisanih v Rustju, dostopate iz kode Unity. Jim Fleming opisuje, kako to storiti podrobno v svojem postu o Medium.
Če se vam to zdi znano, je to zato, ker je to še en način ustvarjanja vtičnikov. Z uporabo funkcije Rust za povezovanje z drugimi jeziki lahko pokličete funkcije Rust neposredno iz kode C # s pomočjo Unityjevega DllImport atribut. Seveda je vmes več korakov in branje Jimove nadaljnje objave skupaj s pridobitvijo dobrega razumevanja FFI (tujih funkcijskih vmesnikov) svetujemo!
Preprosta izbira
Odnos Unityja do katerega koli jezika, ki ni C #, je jasen, in nenehno izboljševanje Unityja temelji na tej enotnosti. Upoštevajte to z Microsoftovim nenehnim izboljševanjem C # kot jezika in učenje C # za razvoj iger Unity ne pomeni več. In vsekakor preverite Edinost Nauči se za lažji način učenja iger Unity Learn je najlažji način za obvladovanje razvoja igerŽelite začeti razvijati lastne igre? Unity Learn je najboljši in najpreprostejši način za učenje in obvladovanje tega, kar morate vedeti. Preberi več .
Vendar to ni tvoja edina možnost, Unity je samo en motor in veliko jih je Možnosti programske opreme za razvoj iger 5 brezplačnih programskih orodij za razvoj iger, da naredite svoje igreBrezplačna programska oprema za razvoj iger je odličen način za začetek izdelave video iger. Sestavili smo najboljšo programsko opremo za igre na trgu. Preberi več na izbiro.
Ian Buckley je svobodni novinar, glasbenik, performer in producent videa, ki živi v Berlinu v Nemčiji. Ko ne piše ali na odru, se ukvarja z lastno elektroniko ali kodo v upanju, da bo postal nor znanstvenik.