Мнения автора и редакции не обязательно совпадают. Хотели бы вы написать колонку для Нетологии? Ознакомьтесь с условиями публикации. Чтобы быть в курсе всех последних новостей и читать новые статьи, присоединяйтесь к Telegram-каналу Netology.
Создание и Использование Скриптов
Поведение игровых объектов контролируется связанными с ними компонентами (Components). Хотя компоненты, встроенные в Unity, могут быть очень гибкими, вы скоро обнаружите, что вам нужно выйти за рамки их возможностей, чтобы реализовать собственные игровые функции. В Unity вы можете создавать собственные компоненты с помощью скриптов. Они позволяют запускать игровые события, изменять параметры элементов и реагировать на ввод пользователя, как вам заблагорассудится.
Unity изначально поддерживает три языка программирования:
- C# (произносится как Си-шарп), стандартный в отрасли язык подобный Java или C++;
- UnityScript, язык, разработанный специально для использования в Unity по образцу JavaScript;
Помимо этих языков, многие другие языки семейства .NET могут использоваться с Unity, если они могут компилировать совместимые DLL — подробности смотрите на этой странице.
Изучение искусства программирования и использования этих языков выходит за рамки данного введения. Однако существует множество книг, учебников и ресурсов для обучения программированию в среде Unity. Для получения дополнительной информации посетите раздел «Учебные пособия» на нашем сайте.
Создание скриптов
В отличии от других ассетов, скрипты обычно создаются непосредственно в Unity. Вы можете создать скрипт используя меню Create в левом верхнем углу панели Project или выбрав Assets>Create>Сценарий C# (или сценарий JavaScript/Boo) в главном меню.
Новый скрипт будет создан в папке, которую вы выбрали в окне проекта. Имя нового сценария будет выделено, и вам будет предложено ввести новое имя.
Лучше ввести новое имя сценария сразу после создания, чем потом менять его. Введенное вами имя будет использовано для создания исходного текста в сценарии, как описано ниже.
Структура файла скрипта
Когда вы дважды щелкаете по скрипту в Unity, он открывается в текстовом редакторе. По умолчанию Unity использует MonoDevelop, но вы можете выбрать любой редактор из панели External Tools в настройках Unity.
Содержимое файла будет выглядеть следующим образом:
using UnityEngine; using System.Collections; public class MainPlayer : MonoBehaviour./ Use this for initialization void Start ()<>// Обновление вызывается один раз за кадр void Update ()<>>
Сценарий взаимодействует с внутренними механизмами Unity путем создания класса, производного от встроенного класса MonoBehaviour. Вы можете рассматривать этот класс как своего рода чертеж для создания нового типа компонента, который может быть добавлен к игровому объекту. Каждый раз, когда вы присоединяете компонент сценария к игровому объекту, создается новый экземпляр объекта, определенный чертежом. Имя класса берется из имени, которое вы указали при создании файла. Имя класса и имя файла должны совпадать, чтобы пакетный элемент можно было связать с актом.
Примечание для опытных программистов: Вы можете быть удивлены тем, что инициализация объекта не выполняется в функции конструктора. Это происходит потому, что создание объектов происходит в редакторе, а не в начале игры, как можно было бы ожидать. Если вы попытаетесь определить конструктор для элемента сценария, это нарушит нормальную работу Unity и может вызвать серьезные проблемы в проекте.
Сценарий UnityScript работает немного иначе, чем сценарий C#:
#pragma strict function Start()
функция Update ()<>Функции Start и Update имеют здесь то же значение, но класс не объявлен явно. Предполагается, что сам сценарий определяет класс, неявно производный от MonoBehaviour, с именем файла сборки сценария.
Перспектива появления C# в Unity — это не пустые слухи. Помимо того, что это относительно простой и производительный язык программирования, есть и чисто аппаратная причина. Unity использует проект Mono с открытым исходным кодом, одну из многих реализаций Microsoft. NET. Фактически, все библиотеки Unity написаны на C#.
C#
Поэтому вы не сможете использовать все возможности платформы без знания C#. Но это не значит, что вы не можете использовать базовые знания языка. Напротив, что делает движок Unity таким замечательным, так это тот факт, что доступно множество языков, в зависимости от задачи и разработчика. Но C# — это обязательное условие. К счастью, его легко освоить и можно применять не только в Unity.
UnityScript был вторым основным языком платформы. Вы можете убедиться в этом, открыв описания сценариев, где коды приведены как на C#, так и на UnityScript. Если вы знакомы с синтаксисом JavaScript, вам понравится работать с Unity.
JavaScript
Но ошибочно думать, что UnityScript — это тот же JavaScript, только с другим названием. Например, US поддерживает классы, но вы не можете присваивать переменные или использовать необязательные двоеточия.
Плохая новость заключается в том, что с лета 2017 года разработчики упорно трудятся над тем, чтобы удалить UnityScript из платформы. Это не ограничивается только удалением поддержки в оболочке — создатели пакетов сценариев получают предупреждения о необходимости перевести весь код на C#.
К счастью, на GitHub есть компилятор, который по-прежнему позволяет работать с JavaScript в Unity, и никто не собирается закрывать эту лазейку. Но веселья, безусловно, больше нет.
Оставаясь в теме языков, от которых отказались разработчики Unity, давайте вспомним Boo. Структурно он похож на Python, прост в изучении, имеет лаконичный и практичный синтаксис, поддерживается
Boo
Разработчики делятся на три уровня в соответствии с их квалификацией: Младший/средний/старший.
Джуниор — это неопытный разработчик, который работает в команде под руководством более опытных коллег. Младший сотрудник часто берет на себя выполнение простых, некритичных задач. Этот уровень обычно длится 1-1,5 года до перехода на средний уровень. Младший разработчик игр должен обладать следующими навыками:
Обучение разработке игр, погружение в профессию и карьерные перспективы
Мидл — опытный профессионал, способный выполнить все поставленные задачи. Он/она решает как критические, так и рутинные задачи. Он/она обладает достаточными навыками для управления младшим персоналом. Все основные инструменты и технологии Unity должны быть знакомы разработчику среднего уровня. Многие находятся на среднем уровне годами и десятилетиями. Чтобы стать старшим, нужно много работать.
Senior — разработчик с высочайшей квалификацией. Он может выполнить любую задачу в рамках своей технологии. Люди старшего поколения обладают большим опытом, широким кругозором и зачастую отличными управленческими навыками. Продвижение от младшего к старшему занимает 6-8 лет.
Руководитель группы Unity Developer — это разработчик среднего уровня, на которого в первую очередь возложены управленческие обязанности. Руководители команды — это те, кто создает условия для продуктивной работы команды. Им платят не за код, который они пишут, а за соблюдение сроков и качество проекта в целом.
Есть также разработчик Unity VR — специалист по виртуальной реальности. Такой разработчик должен обладать специальными знаниями о специфическом оборудовании — очках виртуальной реальности и шлеме. Unity AR Developer — аналогичная специализация, но связанная с дополненной, а не виртуальной реальностью.
- иметь хорошее знание C#;
- иметь опыт разработки в Unity, портфолио не должно быть пустым;
- базовые знания в линейной алгебре ( пример );
- базовые знания в 3D-моделировании.
Спрос на разработчиков Unity растет, как и количество вакансий. Можно с уверенностью сказать, что профессия разработчика игр на базе этого движка будет перспективной и через 3-5 лет.
Средний разработчик Unity получает 65 тысяч рублей в месяц. Минимальная заработная плата составляет 40 тысяч рублей в месяц, максимальная — 135 тысяч рублей в месяц.
На глобальном уровне ситуация выглядит следующим образом: Минимальная зарплата — $6,750/месяц, средняя зарплата — $11,000/месяц, максимальная зарплата — $22,500/месяц.
Вы можете учиться самостоятельно (долго) или на курсах с преподавателями (быстро). Кроме того, не забывайте, что на рынке много мусора, конкуренция выше, а работодатели повышают порог приема на работу. Чтобы идти в ногу со временем, мы в proglib.academy запустили курсы:
В стадии разработки находятся еще более 10 курсов для взрослых и детей.
Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?
- Основы программирования на Python.
- Профессия Python-разработчик.
- Алгоритмы и структуры данных.
- Математика для Data Science.
- Профессия Data Science.
- Frontend Basic: принцип работы современного веба.
- Профессия Фронтенд-разработчик.
- Обработка естественного языка. Полный курс.