7 jazyků vývoje hry Unity, které se musíte naučit: Který je nejlepší?

7 jazyků vývoje hry Unity, které se musíte naučit: Který je nejlepší?

Vývoj her nikdy nebyl jednodušší. Platformy pro vývoj her, jako je Unity, umožňují vytvářet vše od jednoduchých 2D plošinovek po plně detailní 3D střílečky z pohledu první osoby. Jednota je pro malé vývojáře zdarma a existuje spousta návodů, jak nejlépe použít editor k prototypování vašich nápadů.





Naučit se používat program Unity vás dostane zatím jen. Skutečným jádrem vaší hry bude kód, který určuje její chování. Zjistit, který jazyk se naučit pro vývoj her, může být těžké-ale v případě Unity je to jednoduché.





jak přepnout účty na facebooku

1. Nejlepší volba: C#

Pro každého, kdo začíná s Unity, nebo pro kohokoli, kdo má předchozí znalosti objektově orientovaného programování, je C# tím správným jazykem, který se má pro Unity naučit. Ve skutečnosti je C# jediným jazykem, který stojí za to se na platformě naučit, a to z dobrého důvodu.





Unity používá Mono, což je multiplatformní implementace rozhraní Microsoft .NET Framework. C# je primární jazyk .NET a všechny knihovny Unity jsou vytvořeny pomocí kódu C#. Říci, že C# je jazykem Jednoty, by nebylo přehnané. Jednota dala jasně najevo, že považují C# za jediný jazyk pro použití s ​​motorem do budoucna.

To je dobrá zpráva, protože C# je silný jazyk a snadno se ho naučíte. Jednota je jen jednou z mnoha dobré důvody pro učení se C# , a pokud jste začátečník, může vám to připadat dokonce přístupnější. Rozvoj her dává strukturu učení a cíle založené na projektech vedou k lepšímu porozumění novým předmětům.



Se zavedením Systém úloh C# a ECS „Unity tlačí na to, co lze s C# dělat dál a dál, a díky novému kompilátoru Burst je to rychlejší než kdykoli předtím.

2. Aktuální alternativa: JavaScript

Unity také podporuje JavaScript --- známý jako UnityScript. Od vydání sedí JavaScript vedle sebe s C# jako plně vybavený vývojový jazyk Unity. Odkaz na skriptování Unity měl ukázkový kód v C# i JavaScript pro většinu prvků knihovny.





To bylo užitečné pro vývojáře pocházející z pozadí JavaScriptu, protože navzdory rozdílům ve struktuře kódu mohli používat známou syntaxi. Vyskytl se však problém.

Zatímco UnityScript vypadá podobně jako JavaScript --- není. UnityScript má třídy, což JavaScript nemá. Funkce JavaScriptu, jako je deklarace více proměnných a volitelná středníky, nejsou v UnityScriptu k dispozici.





Možná je klíčové, že hledání nápovědy k JavaScriptu na projektech Unity vždy způsobilo zmatek, protože většina lidí jej nazývala spíše JavaScript než UnityScript. Výsledky pro webový design a vývoj her se stíraly dohromady a rozdíl mezi jazyky byl bodem sporu čistě vývojářů JavaScriptu.

Unity možná nepřekvapivě oznámilo, že zruší podporu pro UnityScript, a nyní existuje a časová osa pro jeho vyřazení z provozu . S Unity můžete stále používat JavaScript, ale proč byste věděli, že to jednou skončí?

3. The Old Third Choice: Boo

V počátcích Unity existovala možnost používat Boo-jazyk podobný Pythonu. To asi není překvapivé, protože Rodrigo B.De Oliveira, Booův designér , pracoval pro Unity. Jazyk je kompatibilní s .NET a Mono a bude plně implementován s herním engine. Co se pokazilo?

Nepoužíval ho dost lidí, pravděpodobně za předpokladu, že se pouze pokoušel napodobit Python. Postupem času Unity podporu pro Boo zrušila a nadcházející změny UnityScriptu způsobí, že všechny staré Boo skripty budou v Unity zbytečné. Někteří to mohou považovat za promarněnou příležitost, protože Boo byl skvělým pokusem o syntaxi podobnou Pythonu pro programování .NET.

Milovníci Pythonu však mají ještě jednu možnost.

4. Odd Choice: IronPython

Pokud chcete vyvíjet hry, Python pro vás pravděpodobně není jazykem, ale je to možné. Charlie Calvert ve svém blogu Microsoft Developer Community popisuje jak spustit Python z C# --- ale není to pro slabé povahy. Téměř o deset let později je IronPython stále v aktivním vývoji.

Stručně řečeno, budete si muset stáhnout soubor Knihovny IronPython od GitHub a odkazujte je ve svém projektu C#. To vám umožní volat skripty Pythonu ze skriptů C# podobně jako v jakékoli jiné knihovně. IronPython také umožňuje volání knihoven .NET z Pythonu . Jakkoli to zní dobře, protože Unity se spoléhá na C#, tato funkce nepomáhá.

IronPython --- a IronRuby, je to sesterský projekt propojující C# s programovacím jazykem Ruby --- jsou fantastické projekty, ale nejsou praktické pro použití s ​​Unity.

5. Zajímavá volba: Lua

Jednou z lepších implementací externího jazyka pro Unity je MoonSharp --- tlumočník Lua. Tento projekt není navržen tak, aby nahradil C# jako jazyk, více fungoval jako most. Perfektním případem použití pro MoonSharp by bylo, aby hráči vaší hry svým způsobem vytvořili herní módy v jazyce Lua.

Můžete jej také použít k popisu objektů a úrovní návrhu odděleně od kódu hlavní hry.

Pokud již kódujete v C# a hledáte zajímavý způsob propojení s vaším kódem, MoonSharp stojí za zvážení. Protože je k dispozici zdarma na Obchod s majetkem Unity , můžete jej importovat přímo do svých projektů.

6. Nejlepší jazyk pro pluginy: C/C ++

Navzdory robustní knihovně Unity a všem dostupným nástrojům, které C# poskytuje, někdy možná budete chtít vlastní doplňky. Mezi hlavní důvody, proč se lidé rozhodují pro pluginy, patří rychlost nebo přístup ke kódové základně již napsané v jiném jazyce. Vytváření těchto skriptů do doplňků DLL šetří předělávání kódu a v některých případech může zlepšit výkon.

Ve většině případů bude jazykem používaným pro tvorbu pluginu C ++, ale C bude fungovat stejně dobře. Dokud je kód zabudován do knihovny DLL, lze jej umístit do složky pluginu Unity a odkazovat na něj v kódu. Pravděpodobnost však je, že pokud vám již vyhovuje kódování v C/C ++, že naučit se C# by byl poměrně jednoduchý úkol!

jak se zbavit vodoznaků ve Photoshopu

7. Nový jazyk pro pluginy: Rust

Rust je jazyk se spoustou bzučení. Zkušení programátoři to milují pro neuvěřitelné množství ovládání, které poskytuje, a vyhýbají se nástrahám psaní v méně bezpečných jazycích, jako je C ++. Rust vytvořil Mozilla v roce 2009 jako způsob, jak mohou vývojáři rychle vyvíjet vysoce výkonný software.

I když není možné psát Rust v Unity přímo, můžete přistupovat k funkcím a metodám napsaným v Rust z vašeho kódu Unity. Jim Fleming podrobně popisuje, jak to udělat ve svém příspěvku na médiu .

Pokud se vám to zdá povědomé, je to proto, že toto je další způsob, jak vytvářet nativní doplňky. Využitím schopnosti Rust komunikovat s jinými jazyky můžete volat funkce Rust přímo z kódu C# pomocí Unity's DllImport atribut. Přirozeně existuje několik kroků mezi a čtení Jimova následného příspěvku spolu se získáním dobrého porozumění FFI (cizí funkce rozhraní) se doporučuje!

Jednoduchá volba

Postoj Unity k jakémukoli jazyku, který není C#, je jasný a neustálé zlepšování Unity závisí na této cílevědomosti. Spojte to s neustálým zdokonalováním C# jako jazyka od Microsoftu a naučit se C# pro vývoj her Unity není problém. A nezapomeňte se podívat Unity Learn představuje snadnější způsob, jak se naučit vyvíjet hry .

Není to však vaše jediná možnost, Unity je pouze jeden motor a existuje spousta možnosti softwaru pro vývoj her vybrat si z.

Podíl Podíl tweet E-mailem Canon vs. Nikon: Která značka fotoaparátu je lepší?

Canon a Nikon jsou dvě největší jména v oboru fotoaparátů. Ale která značka nabízí lepší řadu fotoaparátů a objektivů?

Číst dále
Související témata
  • Programování
  • JavaScript
  • Vývoj hry
  • C
  • Jednota
O autorovi Ian Buckley(216 publikovaných článků)

Ian Buckley je nezávislý novinář, hudebník, performer a video producent žijící v Berlíně v Německu. Když nepíše nebo není na jevišti, pohrává si s elektronikou nebo kódem pro kutily v naději, že se stane šíleným vědcem.

Více od Iana Buckleyho

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru