Яку мову потрібно знати для Unity
7 мов, на яких можна писати в Unity
Ті, хто знайомий з Unity, знають, що написання скриптів відбувається за допомогою мов C# і JavaScript. Насправді мов набагато більше, і в статті ми розповімо вам про це.
Двигун підтримує кілька популярних мов програмування, так що вам не доведеться вивчати нову мову з нуля. Потрібно тільки вибрати одну з мов, якими вже володієте, прокачати її і можна починати експериментувати. Причому справа не зводиться тільки до C#, нормально працювати з Unity можна і з використанням JavaScript, Python та інших мов, на цьому сьогодні зупинимося докладніше.
C#
Якщо володієте цією мовою програмування, зможете використовувати потенціал Unity на 100%. По суті всі бібліотеки Unity написані саме на C Sharp. У Unity використовується Mono – open-source проект, що є однією з варіацій Microsoft. NET.
C Sharp - досить проста в освоєнні мова, до того ж вам не потрібно знати її досконало. Для роботи з Unity достатньо базових навичок. Його синтаксис схожий з C++, Java, тому якщо володієте однією з цих мов, то освоїти C Sharp буде ще простіше.
У Unity у ролі основного може бути кілька мов. Багато залежить від команди розробників, їх цілей.
Boo
Мова випущена в 2011 р., автор – Родріго де Олівейра, ця ж людина в минулому активно працювала над Unity. Синтаксис Boo – щось середнє між IronPython і CPython, через налаштування компілятора його можна зробити динамічно-типізованим хоча за умовчанням він таким не є.
Мова проста і зручна, синтаксис не перевантажений складними пропозиціями. У Unity він підтримувався доти, доки над платформою працював його автор. Як тільки Олівейра пішов із команди, підтримка Boo була припинена.
Причина проста – мова непопулярна і немає сенсу витрачати ресурси на її подальшу підтримку. Він не може залучити нових розробників у Unity, не дає жодних переваг у порівнянні з іншими мовами і просто не окупає зусиль, які витрачаються на його підтримку у платформі.
JavaScript
Поряд із C# був базовою мовою Unity. У платформі використовувався UnityScript, ця мова дещо відрізняється від класичного JS. US правильніше було б назвати спеціальною версією JavaScript синтаксис схожий, але відмінностей вистачає. Наприклад, в US відсутня можливість перепризначення змінних, не можна використовувати необов'язкові точки з комою.
Донедавна коди скриптів давалися як на C#, так і на UnityScript. Але останнім часом від US команда Unity відмовляється. Причому не просто припинили його підтримувати, а активно переводять усі скрипти на C# і в майбутньому UnitySript буде викорінено повністю. Із середини 2017 р. авторам скриптів розсилається попередження необхідність перекладу коду в C#. Тож якщо зібралися вивчати цю мову, краще залиште цю витівку.
Обійти це обмеження можна через компілятор GitHub, спеціально обмежувати використання JS в Unity ніхто не збирається. Але працювати з таким «милицею» все ж таки не так зручно.
Lua
Lua – досить специфічна мова з одноманітним синтаксисом, що широко використовується розробниками ігор. Саме на Lua створено більшість модів для World of Warcraft. В інших проектах ця мова часто використовується для написання AI.
Що ж до Unity, то платформі використовується спеціальний інтерпретатор MoonSharp, щоб можна було підключити сторонній код, написаний на Lua. MoonSharp не слід розглядати як заміну C#.
IronPython та IronRuby
Обидві мови – результат реалізації Python та Ruby відповідно на платформі .NET. Щоб використовувати їх у Unity, доведеться трохи повозитися з підключенням потрібних бібліотек, їх можна знайти на GitHub. Усі матеріали у вільному доступі.
Після підключення обох мов можна буде викликати скрипти, написані ними, прямо з C# коду. Бонусом отримаємо можливість виклику .NET бібліотек із Python.
Rust
Якщо порівнювати швидкість і технічні можливості, то Rust можна порівняти з С++, мова не має проблем з безпекою, швидкістю та паралелізмом. У минулому його називали непоганим варіантом розробки ядер ОС.
У середньому 1.0-1.5% Програмістів регулярно використовують Rust, пік популярності ще попереду, тому не варто звертати уваги на такий незначний відсоток. Функції та методи можна викликати з Unity коду, але писати їх не вийде. Тим не менш, і такий рівень підтримки Rust відзначити варто.
C/C++
Використання цих мов стало звичною практикою для проектів, у яких важлива швидкість та надійність роботи. Це універсальна мова, що використовується не тільки у розробці ігор, але й у розробці операційних систем, прикладного ПЗ – варіантів застосування маса. У Unity підтримка цих мов реалізована «з коробки», тобто можна відразу переходити до створення плагінів.
Початківцям у геймзідайні рекомендуємо ці мови освоювати на старті навчання. Вони прості, а знання, якими оволодієте на старті, стануть у нагоді в майбутньому.
Висновок
Якщо зібралися працювати в Unity, доведеться освоїти C#, ігнорувати цю мову не вийде. Зациклюватись тільки на ньому не обов'язково, платформа підтримує різношерсті мови програмування, так що кожен знайде варіант собі до душі. Винятком є хіба що JavaScript. Від нього команда Unity вирішила відмовитися і в майбутньому US навряд чи повернеться, тож його для роботи з Unity вивчати не варто. В іншому обмежень немає, працювати можна з будь-якою з цих мов.
Підписуйтесь на нашу групу в Телеграмі 🇺🇦
Подібні статті
- Скільки слів потрібно знати для рівня а2 англійська
- Що потрібно знати для 3D моделювання
- Яку землю потрібно для бамбука
- Яку воду потрібно заливати в акваріум для рибок
- Яку воду потрібно для півника
- Що потрібно для водного принту
- Що потрібно купити в акваріум для червоновухої черепахи
- Що потрібно для реєстрації самозайнятості