udvikling af spil har aldrig været nemmere. Spiludviklingsplatforme som Unity gør det muligt at skabe alt fra enkle 2D-platforme til fuldt detaljerede 3D-førstepersonsskydere. Unity er gratis for små udviklere, og der er et væld af tutorials om, hvordan man bedst kan bruge editoren til at prototype dine ideer.
at lære at bruge Unity-programmet vil kun få dig så langt. Den virkelige kerne i dit spil vil være den kode, der bestemmer dens adfærd., Det kan være svært at finde ud af, hvilket sprog man skal lære til spiludvikling, men i tilfælde af enhed er det enkelt.
1. Det bedste valg: C #
for alle, der starter med Unity, eller nogen med tidligere kendskab til objektorienteret programmering, er C# det rigtige sprog at lære for Unity. Faktisk er C# det eneste sprog, der er værd at lære for platformen, og med god grund.
Unity bruger Mono, som er en cross-platform implementering af Microsofts.net frame .ork. C# er det primære sprog i. net, og alle Unity ‘ s biblioteker er bygget ved hjælp af C# kode., At sige, at C# er enhedens sprog, ville ikke være en overdrivelse. Unity har gjort det klart, at de anser C# for at være det eneste sprog til brug med motoren fremadrettet.
Dette er gode nyheder, da C# er et kraftfuldt sprog og let at lære. Enhed er blot en af mange gode grunde til at lære C#, og hvis du er nybegynder, kan du endda finde det mere tilgængeligt. Udvikling af spil giver struktur til læring, og projektbaserede mål fører til større forståelse af nye emner.,
Der er mange programmeringssprog, så hvilken en skal du vælge en til at lære? Her er flere grunde til at lære C#.
Med introduktionen af C# – job-system og ECS, Enhedslisten presser på, hvad der kan gøres med C#, længere og længere, og den nye Brast compileren gør det hurtigere end nogensinde før.
2. Det nuværende alternativ: JavaScript
Unity understøtter også JavaScript—kendt som UnityScript., Siden udgivelsen har JavaScript siddet side om side med C# som et fuldt udstyret Enhedsudviklingssprog. Unity scripting reference havde eksempel kode i både C# og JavaScript for de fleste elementer i biblioteket.
dette var nyttigt for udviklere, der kommer fra en JavaScript-baggrund, da de trods forskelle i den måde, koden blev struktureret på, kunne bruge velkendt syntaks. Der var dog et problem.
mens UnityScript ligner JavaScript—det er det ikke. UnityScript har klasser, noget som JavaScript ikke gør., Funktioner af JavaScript som flere variable erklæring og valgfri semikolon er ikke tilgængelige i UnityScript.
måske afgørende, at søge efter JavaScript hjælp på Unity projekter har altid skabt forvirring, da de fleste mennesker henvist til det som JavaScript snarere end UnityScript. Resultater for både webebdesign og spiludvikling sløret sammen, og forskellen mellem sprogene var et stridspunkt for rene JavaScript-udviklere.,
måske overraskende meddelte Unity, at de ville trække støtte til UnityScript tilbage, og der er nu en tidslinje på plads for at nedlægge den. Du kan stadig bruge JavaScript med Unity, men at vide, at det kommer til en ende, hvorfor ville du?
3. Det Gamle tredje valg: Boo
i de tidlige dage af enhed var der mulighed for at bruge Boo—et Pythonlignende sprog. Dette er måske overraskende, da Rodrigo B. De Oliveira, Boos designer, arbejdede for Unity. Sproget er kompatibelt med.net og Mono og ville være fuldt implementeret med spilmotoren. Hvad gik galt?,
ikke nok mennesker brugte det, sandsynligvis forudsat at det blot forsøgte at efterligne Python. Over tid faldt Unity støtte til Boo, og de kommende ændringer til UnityScript vil gøre alle gamle Boo-scripts ubrugelige i Unity. Nogle vil måske se dette som en forpasset mulighed, som Boo var et stort forsøg på Python-lignende syntaks for.NET programmering.
elskere af Python har dog en anden mulighed.
4. Det ulige valg: IronPython
Hvis du vil udvikle spil, er Python sandsynligvis ikke sproget for dig, men det er muligt., I sin Microsoft Developer Community blog skitserer Charlie Calvert, hvordan man kører Python fra C#— men det er ikke for svaghjertet. Næsten ti år senere er IronPython stadig i aktiv udvikling. kort sagt skal du Do .nloade IronPython-bibliotekerne fra GitHub og henvise til dem i dit C# – projekt. Dette giver dig mulighed for at ringe til Python-scripts fra C# scripts, ligesom du ville have ethvert andet bibliotek. IronPython giver også mulighed for at kalde .NET biblioteker fra Python. Så nyttigt som dette lyder, da Unity er afhængig af C#, hjælper denne funktionalitet ikke.,
IronPython—og IronRuby, er det søster-projekt, der forbinder C# med Ruby programmeringssprog—er fantastiske projekter, men de er ikke praktiske til brug med Unity.
5. Det interessante valg: Lua
en af de bedre implementeringer af et eksternt sprog til enhed er MoonSharp—en Lua-tolk. Dette projekt er ikke designet til at erstatte C# som et sprog, mere fungere som en bro. Den perfekte brugssag til MoonSharp ville være at tilføje på en måde for spillere i dit spil for at skabe spilmods på Lua-sproget.,
Du kan også bruge den til at beskrive objekter og design niveauer adskilt fra din kerne spil kode.
Hvis du allerede koder i C# og leder efter en interessant måde at interface med din kode, er MoonSharp værd at overveje. Da det er tilgængeligt gratis på Unity ‘ s Asset store, kan du importere det direkte til dine projekter.
6. Bedste sprog til Plugins: C/C++
På trods af det robuste Enhedsbibliotek og alle de tilgængelige værktøjer C# giver, kan du nogle gange have dine egne plugins., Hovedårsagerne til, at folk vælger plugins, inkluderer hastighed eller adgang til en kodebase, der allerede er skrevet på et andet sprog. Opbygning af disse scripts i DLL plugins gemmer genindspilning kode og kan forbedre ydeevnen i nogle tilfælde.
i de fleste tilfælde vil C++ være det sprog, der bruges til oprettelse af plugin, men C ville fungere lige så godt. Så længe koden bygger ind i en DLL, kan den placeres i Unity ‘ s plugin-mappe og refereres til i kode. Sandsynligheden er imidlertid, hvis du allerede er komfortabel kodning i C/C++, at læring C# ville være en relativt enkel opgave!
7., Nyt sprog til Plugins: Rust
Rust er et sprog med en masse bu.. omkring det. Erfarne programmører elsker det for den utrolige mængde kontrol, det giver, samtidig med at man undgår faldgruberne ved at skrive på mindre sikre sprog som C++. Rust blev skabt af Mo .illa i 2009, som en måde for udviklere at udvikle højtydende soft .are hurtigt. selvom det ikke er muligt at skrive Rust i Unity direkte, kan du få adgang til funktioner og metoder skrevet i Rust fra din Unity-kode. Jim Fleming dækker, hvordan man gør det i detaljer i sit indlæg på Medium.,
Hvis dette virker velkendt, skyldes det, at dette er en anden måde at oprette Native Plugins på. Ved at udnytte Rusts evne til at interface med andre sprog kan du ringe til Rustfunktioner direkte fra C# – kode ved hjælp af Unity ‘ s dllimport-attribut. Naturligvis er der flere trin imellem, og det anbefales at læse Jims opfølgende indlæg sammen med at få en god forståelse af Ffi ‘ er (foreign function interfaces)!
et simpelt valg
Unity ‘ s holdning til ethvert sprog, der ikke er C#, er klart, og de konstante forbedringer af Unity er afhængige af denne single-mindedness., Par dette med Microsofts fortsatte forbedring af C# som et sprog, og at lære C# for Unity spiludvikling er en no-brainer. Og sørg for at tjekke Unity Learn for en nemmere måde at lære spiludvikling på.
Dette er dog ikke din eneste mulighed, enhed er kun en motor, og der er masser af spiludviklingssoft .aremuligheder at vælge imellem.
- Programmering
- JavaScript
- Spil Udvikling
- C
- Enhed
Om Forfatteren
Ian Buckley er en freelance journalist, musiker, performer og video producer, der bor i Berlin, Tyskland. Når han ikke skriver eller på scenen, han fifle med DIY elektronik eller kode i håb om at blive en gal videnskabsmand.
mere fra Ian Buckley