Введение в разработку игр с помощью Unity и C#

Содержание:

Unity 3D — один из самых популярных современных кросс-платформенных движков создания игр и приложений. С помощью данного движка можно разрабатывать не только приложения для компьютеров, но и для мобильных устройств (например, на базе Android), игровых приставок и других девайсов. Если вы хотите разрабатывать игры, начать стоит с языка C# (си шарп) и движка Unity, на работе которого основывается большинство современных игр под мобильные устройства, компьютеры и даже игровые консоли. Чтобы помочь вам начать учить C# с нуля и освоить работу с переменными, функциями и классами, которые вы будете использовать в процессе разработки, приводится следующее руководство. Данный материал призван дать вам базовые знания и облегчить самостоятельное изучение методических материалов и учебников по C#.

Введение в разработку игр с помощью Unity и C#

Как и зачем использовать скриптинг

Unity работает как программа для видеомонтажа: вы говорите ей, что и в каком порядке нужно делать, а затем Unity воспроизводит заданную последовательность действий. Чем больше скорость воспроизведения, тем плавнее будет работать ваша игра. Написание этой последовательности называется «скриптинг». В случае с Unity вам не придется писать весь код вручную, суть программирования на C# сводится к управлению объектами и соответствующими им скриптами и компонентами. Вы действуете как режиссер фильма, управляя всеми аспектами вашей игры с помощью скриптов. Каждому объекту в проекте ставится в соответствие выполняемый скрипт. Скрипты пишутся на языке C#. Это скриптовый язык, который основывается на принципах объектно-ориентированного программирования.

Как начать работу с Unity

  1. Для начала нужно скачать исполняемый файл с официального сайта проекта.
  2. Запускаем исполняемый файл. Вместе с Unity можно установить Microsoft Visual Studio. Следует учесть, что программа занимает много дискового пространства. Это среда разработки, которая призвана упростить вам работу с языком C# и Unity.
  3. Если же вас не устраивает работа с Visual Studio, можно попробовать облегченную версию программы – Visual Studio Code – или встроенный в Unity текстовый редактор MonoDevelop. В нем есть базовые возможности для исправления ошибок в коде, а также сокращения для ускоренного написания кода.

Как работать с языком C#

Введение в разработку игр с помощью Unity и C#

Далее я приведу структуру кода на Unity. Код взят с официального руководства по Unity Coding in Unity for the Absolute Beginner.

  1. Переменная — это область памяти, которая хранит нужного типа значение или ссылку на объект. Их название в C# должно начинаться с маленькой буквы, не цифры.
  2. Функция — код для управления и различных действий над переменными. Может вводиться единожды или использоваться неограниченное количество раз. Их название в C# должно начинаться с большой буквы, не цифры.
  3. Класс — шаблон для создания объектов, позволяющий удобно сгруппировать функции и переменные.

Как объявить переменную в Unity

При написании кода удобно сначала объявить все переменные, а потом приступать к их обработке. Переменные могут обладать разными модификаторами доступа: public, private, protected, internal, protected internal и private protected. Основные из них – public (член класса доступен из любого участка кода) и private (доступен только из кода в том же классе или контексте). Private удобно использовать, чтобы ограничивать область видимости переменной. Это уменьшает вероятность появления ошибок. Public используется в основном для обеспечения связи между объектами. Они все будут иметь доступ к общей переменной или функции. Тип переменной определяет то, что она будет содержать. Он может быть числовой, символьный или, например, строковый. Имя переменной должно начинаться с маленькой буквы, не цифры, и не содержать пробелов. Слова в имени обычно разделяют большой буквой, например: myTestVoid.

Объявление переменной в коде:

область_видимости(public/private/…) тип имя

protected void myVoid

public int myInt

Как писать функции в Unity

Функции, как и переменные, характеризуются типом. Это тип значения, который возвращает вам функция. Имя функции всегда начинается с большой буквы, не цифры, а выполняемый код пишется в фигурных скобках. Функции могут выполнять алгоритмы, вычислять или обрабатывать данные. Функция специального типа void не будет ничего возвращать. В данном примере две функции: Update и MyFunction.

Введение в разработку игр с помощью Unity и C#

Функции, которые выполняются автоматически для Unity

  1. Update. Выполняется каждый кадр. Данная функция отвечает за анимацию, игровую логику и другие действия.
  2. LateUpdate. Похожа на Update, но вызывается в конце кадра.
  3. FixedUpdate. Рассчитывает физику.
  4. Start. Функция, которая выполняется, когда GameObject активен, а компонент включен.
  5. Awake. Выполняется один раз, когда инициализируется GameObject с данным компонентом. Awake вызывается, даже если компонент не включен.

Как работать с классами в Unity

Класс — это то, на чем основывается объектно-ориентированное программирование. Классы могут содержать переменные и функции. Имя класса обязательно будет совпадать с именем файла скрипта. Классы, как и переменные, могут характеризоваться разными модификаторами доступа (public/private/…). Примером класса в C# может служить List из пространства имен System.Collections.Generic. Это класс, содержащий любой список однотипных объектов. Чтобы класс работал с GameObject, он должен наследоваться из класса MonoBehaviour, как изображено на примере.

Введение в разработку игр с помощью Unity и C#

Заключение

Базовые знания языка и умение работать с классами, функциями и переменными — это обязательная часть в обучении любого C# разработчика. По Unity и C# существует большое количество видеоуроков и курсов, с помощью которых вы теперь сможете дальше наращивать свои знания и разрабатывать игры. В международном IT Колледже DevEducation обучение строится на выполнении практических задач, которые вам будут помогать решать преподаватели. На курсе по C# за 4 месяца вы сможете обучиться базовым понятиям и концепциям разработки собственных проектов. DevEducation обучает студентов также и по другим направлениям: языки Java, Javascript и CSS, разработка приложений под мобильные устройства, тестирование ПО. Полный список доступных курсов есть на сайте онлайн-колледжа.

Присоединяйся к DevEducation — стань востребованным специалистом и построй карьеру в IT!