Для создания простой игры на Unity необязательно в совершенстве владеть языком программирования C#. Большое количество готовых ассетов, а также обучающих материалов в интернете очень облегчают задачу.
Вместе с преподавателем курса «Разработчик игр на Unity» Владимиром Филимоновым разбираемся, какие базовые инструменты нужно освоить, чтобы соорудить свою первую игру. Поехали!
Устанавливаем Unity
Зайдите на официальный сайт и выберите бесплатный тариф — Personal. Далее кликните на «Начать», после нажатия откроется Unity Store.
Видите кнопку «Начните здесь»? Кликайте и скачивайте установщик UnityHubSetup.exe. Его нужно просто открыть, принять условия и нажать «Установить».
Следующий шаг — создание Unity ID.
Следом вам предложат создать тестовый проект Microgame с помощью разножанровых шаблонов на выбор: LEGO Microgame, шутер от первого лица, картинг, платформер, пустой 3D-шаблон.
Можно поиграться с каждым, чтобы посмотреть, как работает создание игры в конкретном жанре. Вы увидите принципы работы с элементами: как заставить персонажей бегать, менять текстуру объекта или его форму.
Создаем проект
Торжественно нажимаем кнопку NEW в меню проектов. Присвойте ему имя, выберите место хранения на диске и темплейт, то есть шаблон для разработки. Проще начинать с 2D-проектов, так как для этого формата создано больше готовых ассетов.
Ассет (asset) — готовый компонент, который можно использовать для своих проектов. Это могут быть элементы интерфейса в игре, текстура, фигурка персонажа, шрифт или звук.
Разбираемся с интерфейсом
1. Верхняя панель инструментов — стандартные вкладки File, Edit, Help, Assets, GameObject, Components и Window.
2. Scene — окно сцены, в котором выстраивается игровое пространство (элементы игрового мира, текстуры, фигурки персонажей и прочее). Важный нюанс: при создании проекта с нуля оно будет пустым.
3. Games — окно игры, где можно посмотреть глазами пользователя, как будут двигаться элементы и работать игровые механики.
4. Hierarchy — окно иерархии, где перечислен список всех элементов (GameObject), которые помещены в окно Scene.
5. Project — система папок, в которых хранятся ассеты по категориям (текстуры, шрифты, звуки и т. д.).
6. Inspector — окно для изменения элементов игры, их размера, цвета, положения в пространстве и других характеристик.
Добавляем объект
Объекты на экран Scene можно добавить из Asset Store. Для этого на панели инструментов кликните на вкладку Window → General → Asset Store. В строке поиска можно по названиям найти нужные компоненты, например сет Free Platform Game Assets.
Как и другие ассеты, он загружается с помощью кнопки Import. Перед загрузкой появится список всех компонентов, которые содержит этот пакет, некоторые из них можно исключить. Если в списке есть персонажи, текстуры или другие элементы, которые вам не нужны, можно просто снять галочки, и пакет загрузится без них.
После установки все ассеты доступны в окне Project. Теперь можно комбинировать и перемещать объекты, а также менять их форму с помощью мыши или горячих клавиш, не написав ни одной строчки кода.
Работаем со скриптами для особых условий
Создать новый скрипт можно в окне Project, кликнув мышкой на Assets → Create → C# Script. Двойным кликом мыши скрипт открывается в текстовом редакторе.
Базовые элементы скриптов:
- using — элемент в коде, подключает библиотеки;
- public class — в этой строке прописан класс MonoBehaviour, он содержит набор функций для работы скрипта;
- void — те самые функции, с их помощью прописываются действия в игре.
Рассмотрим, например, функцию start. Любое действие в ней произойдет только один раз при запуске игры. Пропишем здесь print (“Hi”). Обратите внимание, что в консоли это слово выводится один раз.
Функция update — повторяющаяся, ее можно использовать, допустим, для передвижения объекта. Для этого в скрипте задается переменная int i = 0, она выводится на экран с помощью функции print (i) и увеличивается на одну единицу за каждый шаг с помощью i++.
Апдейт срабатывает каждый фрейм, и объект, к которому применен этот скрипт, плавно движется.
Настраиваем триггеры
Прежде чем приступить к триггерам, важно разобраться с другой сущностью, а именно с коллайдером (Collider). Этот компонент присваивается объекту в пространстве игры, задает форму и делает его твердым, недоступным для прохождения сквозь него.
Пример. Если мы разместим монетку в 2D-пространстве и захотим сделать так, чтобы она упала на платформу, то без использования компонента Collider ничего не получится — монетка пролетит сквозь платформу. Поэтому обоим объектам необходимо присвоить компонент Box Collider 2D — тонкую зеленую линию, которая обводит элементы по контуру, и за счет этой рамки они становятся твердыми. Так объекты обязательно соприкоснутся, и монета встанет на платформу.
Теперь можно переходить к триггеру (Trigger). Это пространство на карте, при попадании в которое с объектом происходит какое-либо действие. Триггер тоже обводит объект или область по краям, но, в отличие от коллайдера, позволяет объектам проходить внутрь этой области.
Пример. На ту же самую платформу вместе с коллайдером наброшен триггер, и при попадании персонажа внутрь триггерной области активируется телепорт — человечка перебрасывает в другую точку карты. Чтобы создать триггер, нужно накинуть тот же самый компонент коллайдера, но поставить галочку Is Trigger.
Что дальше?
Прокачиваться, прокачиваться и еще раз прокачиваться. Можно самостоятельно или пойти на курс «Разработчик игр на Unity». Это ускорит процесс и даст крутые результаты. Тем более со временем вам все равно захочется делать нечто более профессиональное.
Для работы со скриптами и создания сложных механик разработчикам в любом случае понадобится С#. Но, в отличие от Unity, по нему нет в свободном доступе такого большого количества актуальных и понятных гайдов.
Так что в целях экономии времени и сил лучше записаться в онлайн-школу. Там все знания упакованы в структурированные блоки и сбалансированы практикой на тренажерах.
Желаю удачи в создании первой игры и рекомендую совершенствоваться в этом направлении вместе с профессионалами. Переходите по ссылке, чтобы подробнее почитать о курсе и оставить заявку >>>